diff options
Diffstat (limited to 'src/compiler/opcodes.h')
-rw-r--r-- | src/compiler/opcodes.h | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/src/compiler/opcodes.h b/src/compiler/opcodes.h index fdbe001d..b50754c2 100644 --- a/src/compiler/opcodes.h +++ b/src/compiler/opcodes.h @@ -25,6 +25,8 @@ V(Deoptimize) \ V(DeoptimizeIf) \ V(DeoptimizeUnless) \ + V(TrapIf) \ + V(TrapUnless) \ V(Return) \ V(TailCall) \ V(Terminate) \ @@ -57,6 +59,7 @@ V(FrameState) \ V(StateValues) \ V(TypedStateValues) \ + V(ArgumentsObjectState) \ V(ObjectState) \ V(TypedObjectState) \ V(Call) \ @@ -104,7 +107,9 @@ #define JS_SIMPLE_BINOP_LIST(V) \ JS_COMPARE_BINOP_LIST(V) \ JS_BITWISE_BINOP_LIST(V) \ - JS_ARITH_BINOP_LIST(V) + JS_ARITH_BINOP_LIST(V) \ + V(JSInstanceOf) \ + V(JSOrdinaryHasInstance) #define JS_CONVERSION_UNOP_LIST(V) \ V(JSToBoolean) \ @@ -116,32 +121,34 @@ V(JSToString) #define JS_OTHER_UNOP_LIST(V) \ + V(JSClassOf) \ V(JSTypeOf) #define JS_SIMPLE_UNOP_LIST(V) \ JS_CONVERSION_UNOP_LIST(V) \ JS_OTHER_UNOP_LIST(V) -#define JS_OBJECT_OP_LIST(V) \ - V(JSCreate) \ - V(JSCreateArguments) \ - V(JSCreateArray) \ - V(JSCreateClosure) \ - V(JSCreateIterResultObject) \ - V(JSCreateKeyValueArray) \ - V(JSCreateLiteralArray) \ - V(JSCreateLiteralObject) \ - V(JSCreateLiteralRegExp) \ - V(JSLoadProperty) \ - V(JSLoadNamed) \ - V(JSLoadGlobal) \ - V(JSStoreProperty) \ - V(JSStoreNamed) \ - V(JSStoreGlobal) \ - V(JSDeleteProperty) \ - V(JSHasProperty) \ - V(JSInstanceOf) \ - V(JSOrdinaryHasInstance) +#define JS_OBJECT_OP_LIST(V) \ + V(JSCreate) \ + V(JSCreateArguments) \ + V(JSCreateArray) \ + V(JSCreateClosure) \ + V(JSCreateIterResultObject) \ + V(JSCreateKeyValueArray) \ + V(JSCreateLiteralArray) \ + V(JSCreateLiteralObject) \ + V(JSCreateLiteralRegExp) \ + V(JSLoadProperty) \ + V(JSLoadNamed) \ + V(JSLoadGlobal) \ + V(JSStoreProperty) \ + V(JSStoreNamed) \ + V(JSStoreNamedOwn) \ + V(JSStoreGlobal) \ + V(JSStoreDataPropertyInLiteral) \ + V(JSDeleteProperty) \ + V(JSHasProperty) \ + V(JSGetSuperConstructor) #define JS_CONTEXT_OP_LIST(V) \ V(JSLoadContext) \ @@ -153,8 +160,11 @@ V(JSCreateScriptContext) #define JS_OTHER_OP_LIST(V) \ - V(JSCallConstruct) \ - V(JSCallFunction) \ + V(JSConstruct) \ + V(JSConstructWithSpread) \ + V(JSCallForwardVarargs) \ + V(JSCall) \ + V(JSCallWithSpread) \ V(JSCallRuntime) \ V(JSConvertReceiver) \ V(JSForInNext) \ @@ -166,7 +176,8 @@ V(JSGeneratorStore) \ V(JSGeneratorRestoreContinuation) \ V(JSGeneratorRestoreRegister) \ - V(JSStackCheck) + V(JSStackCheck) \ + V(JSDebugger) #define JS_OP_LIST(V) \ JS_SIMPLE_BINOP_LIST(V) \ @@ -181,6 +192,7 @@ V(ChangeTaggedToInt32) \ V(ChangeTaggedToUint32) \ V(ChangeTaggedToFloat64) \ + V(ChangeTaggedToTaggedSigned) \ V(ChangeInt31ToTaggedSigned) \ V(ChangeInt32ToTagged) \ V(ChangeUint32ToTagged) \ @@ -294,13 +306,17 @@ V(PlainPrimitiveToWord32) \ V(PlainPrimitiveToFloat64) \ V(BooleanNot) \ + V(StringCharAt) \ V(StringCharCodeAt) \ V(StringFromCharCode) \ V(StringFromCodePoint) \ + V(StringIndexOf) \ V(CheckBounds) \ V(CheckIf) \ V(CheckMaps) \ V(CheckNumber) \ + V(CheckInternalizedString) \ + V(CheckReceiver) \ V(CheckString) \ V(CheckSmi) \ V(CheckHeapObject) \ @@ -316,12 +332,15 @@ V(StoreBuffer) \ V(StoreElement) \ V(StoreTypedElement) \ - V(ObjectIsCallable) \ + V(ObjectIsDetectableCallable) \ + V(ObjectIsNonCallable) \ V(ObjectIsNumber) \ V(ObjectIsReceiver) \ V(ObjectIsSmi) \ V(ObjectIsString) \ V(ObjectIsUndetectable) \ + V(NewRestParameterElements) \ + V(NewUnmappedArgumentsElements) \ V(ArrayBufferWasNeutered) \ V(EnsureWritableFastElements) \ V(MaybeGrowFastElements) \ @@ -527,6 +546,7 @@ V(Word32PairShr) \ V(Word32PairSar) \ V(ProtectedLoad) \ + V(ProtectedStore) \ V(AtomicLoad) \ V(AtomicStore) \ V(UnsafePointerAdd) @@ -553,9 +573,6 @@ V(Float32x4LessThanOrEqual) \ V(Float32x4GreaterThan) \ V(Float32x4GreaterThanOrEqual) \ - V(Float32x4Select) \ - V(Float32x4Swizzle) \ - V(Float32x4Shuffle) \ V(Float32x4FromInt32x4) \ V(Float32x4FromUint32x4) \ V(CreateInt32x4) \ @@ -574,9 +591,6 @@ V(Int32x4LessThanOrEqual) \ V(Int32x4GreaterThan) \ V(Int32x4GreaterThanOrEqual) \ - V(Int32x4Select) \ - V(Int32x4Swizzle) \ - V(Int32x4Shuffle) \ V(Int32x4FromFloat32x4) \ V(Uint32x4Min) \ V(Uint32x4Max) \ @@ -587,16 +601,10 @@ V(Uint32x4GreaterThan) \ V(Uint32x4GreaterThanOrEqual) \ V(Uint32x4FromFloat32x4) \ - V(CreateBool32x4) \ - V(Bool32x4ReplaceLane) \ V(Bool32x4And) \ V(Bool32x4Or) \ V(Bool32x4Xor) \ V(Bool32x4Not) \ - V(Bool32x4Swizzle) \ - V(Bool32x4Shuffle) \ - V(Bool32x4Equal) \ - V(Bool32x4NotEqual) \ V(CreateInt16x8) \ V(Int16x8ReplaceLane) \ V(Int16x8Neg) \ @@ -615,9 +623,6 @@ V(Int16x8LessThanOrEqual) \ V(Int16x8GreaterThan) \ V(Int16x8GreaterThanOrEqual) \ - V(Int16x8Select) \ - V(Int16x8Swizzle) \ - V(Int16x8Shuffle) \ V(Uint16x8AddSaturate) \ V(Uint16x8SubSaturate) \ V(Uint16x8Min) \ @@ -628,16 +633,10 @@ V(Uint16x8LessThanOrEqual) \ V(Uint16x8GreaterThan) \ V(Uint16x8GreaterThanOrEqual) \ - V(CreateBool16x8) \ - V(Bool16x8ReplaceLane) \ V(Bool16x8And) \ V(Bool16x8Or) \ V(Bool16x8Xor) \ V(Bool16x8Not) \ - V(Bool16x8Swizzle) \ - V(Bool16x8Shuffle) \ - V(Bool16x8Equal) \ - V(Bool16x8NotEqual) \ V(CreateInt8x16) \ V(Int8x16ReplaceLane) \ V(Int8x16Neg) \ @@ -656,9 +655,6 @@ V(Int8x16LessThanOrEqual) \ V(Int8x16GreaterThan) \ V(Int8x16GreaterThanOrEqual) \ - V(Int8x16Select) \ - V(Int8x16Swizzle) \ - V(Int8x16Shuffle) \ V(Uint8x16AddSaturate) \ V(Uint8x16SubSaturate) \ V(Uint8x16Min) \ @@ -669,16 +665,23 @@ V(Uint8x16LessThanOrEqual) \ V(Uint8x16GreaterThan) \ V(Uint8x16GreaterThanOrEqual) \ - V(CreateBool8x16) \ - V(Bool8x16ReplaceLane) \ V(Bool8x16And) \ V(Bool8x16Or) \ V(Bool8x16Xor) \ V(Bool8x16Not) \ - V(Bool8x16Swizzle) \ - V(Bool8x16Shuffle) \ - V(Bool8x16Equal) \ - V(Bool8x16NotEqual) + V(Simd128And) \ + V(Simd128Or) \ + V(Simd128Xor) \ + V(Simd128Not) \ + V(Simd32x4Select) \ + V(Simd32x4Swizzle) \ + V(Simd32x4Shuffle) \ + V(Simd16x8Select) \ + V(Simd16x8Swizzle) \ + V(Simd16x8Shuffle) \ + V(Simd8x16Select) \ + V(Simd8x16Swizzle) \ + V(Simd8x16Shuffle) #define MACHINE_SIMD_RETURN_NUM_OP_LIST(V) \ V(Float32x4ExtractLane) \ @@ -687,13 +690,10 @@ V(Int8x16ExtractLane) #define MACHINE_SIMD_RETURN_BOOL_OP_LIST(V) \ - V(Bool32x4ExtractLane) \ V(Bool32x4AnyTrue) \ V(Bool32x4AllTrue) \ - V(Bool16x8ExtractLane) \ V(Bool16x8AnyTrue) \ V(Bool16x8AllTrue) \ - V(Bool8x16ExtractLane) \ V(Bool8x16AnyTrue) \ V(Bool8x16AllTrue) @@ -705,11 +705,7 @@ V(Simd128Store) \ V(Simd128Store1) \ V(Simd128Store2) \ - V(Simd128Store3) \ - V(Simd128And) \ - V(Simd128Or) \ - V(Simd128Xor) \ - V(Simd128Not) + V(Simd128Store3) #define MACHINE_SIMD_OP_LIST(V) \ MACHINE_SIMD_RETURN_SIMD_OP_LIST(V) \ @@ -762,7 +758,7 @@ class V8_EXPORT_PRIVATE IrOpcode { // Returns true if opcode for JavaScript operator. static bool IsJsOpcode(Value value) { - return kJSEqual <= value && value <= kJSStackCheck; + return kJSEqual <= value && value <= kJSDebugger; } // Returns true if opcode for constant operator. @@ -784,7 +780,7 @@ class V8_EXPORT_PRIVATE IrOpcode { // Returns true if opcode can be inlined. static bool IsInlineeOpcode(Value value) { - return value == kJSCallConstruct || value == kJSCallFunction; + return value == kJSConstruct || value == kJSCall; } // Returns true if opcode for comparison operator. @@ -793,6 +789,10 @@ class V8_EXPORT_PRIVATE IrOpcode { (kNumberEqual <= value && value <= kStringLessThanOrEqual) || (kWord32Equal <= value && value <= kFloat64LessThanOrEqual); } + + static bool IsContextChainExtendingOpcode(Value value) { + return kJSCreateFunctionContext <= value && value <= kJSCreateScriptContext; + } }; V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, IrOpcode::Value); |