summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/runtime/StructureChain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/runtime/StructureChain.cpp')
-rw-r--r--JavaScriptCore/runtime/StructureChain.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/JavaScriptCore/runtime/StructureChain.cpp b/JavaScriptCore/runtime/StructureChain.cpp
index 85049b1..6e8a0ee 100644
--- a/JavaScriptCore/runtime/StructureChain.cpp
+++ b/JavaScriptCore/runtime/StructureChain.cpp
@@ -51,7 +51,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;