diff options
Diffstat (limited to 'Source/JavaScriptCore/bytecode/SpeculatedType.cpp')
-rw-r--r-- | Source/JavaScriptCore/bytecode/SpeculatedType.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Source/JavaScriptCore/bytecode/SpeculatedType.cpp b/Source/JavaScriptCore/bytecode/SpeculatedType.cpp index 02d0f7e77..399ab29c8 100644 --- a/Source/JavaScriptCore/bytecode/SpeculatedType.cpp +++ b/Source/JavaScriptCore/bytecode/SpeculatedType.cpp @@ -226,9 +226,6 @@ SpeculatedType speculationFromClassInfo(const ClassInfo* classInfo) if (classInfo == &JSArray::s_info) return SpecArray; - if (classInfo == &JSString::s_info) - return SpecString; - if (classInfo == &Arguments::s_info) return SpecArguments; // Cannot distinguish between MyArguments and ForeignArguments at this stage. That happens in the flow analysis. @@ -269,6 +266,8 @@ SpeculatedType speculationFromClassInfo(const ClassInfo* classInfo) SpeculatedType speculationFromStructure(Structure* structure) { + if (structure->typeInfo().type() == StringType) + return SpecString; return speculationFromClassInfo(structure->classInfo()); } |