diff options
Diffstat (limited to 'src/3rdparty/javascriptcore/JavaScriptCore/runtime/StructureChain.cpp')
-rw-r--r-- | src/3rdparty/javascriptcore/JavaScriptCore/runtime/StructureChain.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/StructureChain.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/StructureChain.cpp index acebc86..2c38b67 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/StructureChain.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/StructureChain.cpp @@ -57,7 +57,10 @@ bool StructureChain::isCacheable() const uint32_t i = 0; while (m_vector[i]) { - if (m_vector[i++]->isDictionary()) + // Both classes of dictionary structure may change arbitrarily so we can't cache them + if (m_vector[i]->isDictionary()) + return false; + if (!m_vector[i++]->typeInfo().hasDefaultGetPropertyNames()) return false; } return true; |