summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/SpeculatedType.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/bytecode/SpeculatedType.cpp')
-rw-r--r--Source/JavaScriptCore/bytecode/SpeculatedType.cpp5
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());
}