Fix endless OSR exits when creating a rope that contains an object that ToPrimitive...
[WebKit-https.git] / Source / JavaScriptCore / bytecode / SpeculatedType.h
index dac8bcc31708a97b1239689855db16126517799e..63d00b306818ba24fe21c5d5345fa6dcb3085c38 100644 (file)
@@ -85,6 +85,7 @@ static const SpeculatedType SpecBoolean            = 0x10000000; // It's definit
 static const SpeculatedType SpecOther              = 0x20000000; // It's definitely either Null or Undefined.
 static const SpeculatedType SpecMisc               = 0x30000000; // It's definitely either a boolean, Null, or Undefined.
 static const SpeculatedType SpecHeapTop            = 0x3bbfffff; // It can be any of the above, except for SpecInt52 and SpecDoubleImpureNaN.
+static const SpeculatedType SpecPrimitive          = 0x3bbf0000; // It's any non-Object JSValue. This is (~SpecObject & SpecHeapTop)
 static const SpeculatedType SpecEmpty              = 0x40000000; // It's definitely an empty value marker.
 static const SpeculatedType SpecBytecodeTop        = 0x7bbfffff; // It can be any of the above, except for SpecInt52 and SpecDoubleImpureNaN. This is (SpecHeapTop | SpecEmpty).
 static const SpeculatedType SpecFullTop            = 0x7fffffff; // It can be any of the above plus anything the DFG chooses.