| /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- |
| * vim: set ts=8 sts=4 et sw=4 tw=99: |
| * This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| #ifndef jit_shared_LOpcodes_shared_h |
| #define jit_shared_LOpcodes_shared_h |
| |
| #define LIR_COMMON_OPCODE_LIST(_) \ |
| _(Unbox) \ |
| _(Box) \ |
| _(UnboxFloatingPoint) \ |
| _(OsiPoint) \ |
| _(MoveGroup) \ |
| _(Integer) \ |
| _(Pointer) \ |
| _(Double) \ |
| _(Float32) \ |
| _(SimdBox) \ |
| _(SimdUnbox) \ |
| _(SimdSplatX4) \ |
| _(Int32x4) \ |
| _(Float32x4) \ |
| _(SimdReinterpretCast) \ |
| _(SimdExtractElementI) \ |
| _(SimdExtractElementF) \ |
| _(SimdInsertElementI) \ |
| _(SimdInsertElementF) \ |
| _(SimdSignMaskX4) \ |
| _(SimdGeneralShuffleI) \ |
| _(SimdGeneralShuffleF) \ |
| _(SimdSwizzleI) \ |
| _(SimdSwizzleF) \ |
| _(SimdShuffle) \ |
| _(SimdUnaryArithIx4) \ |
| _(SimdUnaryArithFx4) \ |
| _(SimdBinaryCompIx4) \ |
| _(SimdBinaryCompFx4) \ |
| _(SimdBinaryArithIx4) \ |
| _(SimdBinaryArithFx4) \ |
| _(SimdBinaryBitwiseX4) \ |
| _(SimdShift) \ |
| _(SimdSelect) \ |
| _(Value) \ |
| _(CloneLiteral) \ |
| _(Parameter) \ |
| _(Callee) \ |
| _(IsConstructing) \ |
| _(TableSwitch) \ |
| _(TableSwitchV) \ |
| _(Goto) \ |
| _(NewArray) \ |
| _(NewArrayCopyOnWrite) \ |
| _(NewArrayDynamicLength) \ |
| _(ArraySplice) \ |
| _(NewObject) \ |
| _(NewTypedObject) \ |
| _(NewDeclEnvObject) \ |
| _(NewCallObject) \ |
| _(NewSingletonCallObject) \ |
| _(NewStringObject) \ |
| _(NewDerivedTypedObject) \ |
| _(InitElem) \ |
| _(InitElemGetterSetter) \ |
| _(MutateProto) \ |
| _(InitProp) \ |
| _(InitPropGetterSetter) \ |
| _(CheckOverRecursed) \ |
| _(DefVar) \ |
| _(DefLexical) \ |
| _(DefFun) \ |
| _(CallKnown) \ |
| _(CallGeneric) \ |
| _(CallNative) \ |
| _(ApplyArgsGeneric) \ |
| _(ApplyArrayGeneric) \ |
| _(Bail) \ |
| _(Unreachable) \ |
| _(EncodeSnapshot) \ |
| _(GetDynamicName) \ |
| _(CallDirectEval) \ |
| _(StackArgT) \ |
| _(StackArgV) \ |
| _(CreateThis) \ |
| _(CreateThisWithProto) \ |
| _(CreateThisWithTemplate) \ |
| _(CreateArgumentsObject) \ |
| _(GetArgumentsObjectArg) \ |
| _(SetArgumentsObjectArg) \ |
| _(ReturnFromCtor) \ |
| _(ComputeThis) \ |
| _(BitNotI) \ |
| _(BitNotV) \ |
| _(BitOpI) \ |
| _(BitOpV) \ |
| _(ShiftI) \ |
| _(UrshD) \ |
| _(Return) \ |
| _(Throw) \ |
| _(Phi) \ |
| _(TestIAndBranch) \ |
| _(TestDAndBranch) \ |
| _(TestFAndBranch) \ |
| _(TestVAndBranch) \ |
| _(TestOAndBranch) \ |
| _(FunctionDispatch) \ |
| _(ObjectGroupDispatch) \ |
| _(Compare) \ |
| _(CompareAndBranch) \ |
| _(CompareD) \ |
| _(CompareDAndBranch) \ |
| _(CompareF) \ |
| _(CompareFAndBranch) \ |
| _(CompareS) \ |
| _(CompareStrictS) \ |
| _(CompareB) \ |
| _(CompareBAndBranch) \ |
| _(CompareBitwise) \ |
| _(CompareBitwiseAndBranch) \ |
| _(CompareVM) \ |
| _(BitAndAndBranch) \ |
| _(IsNullOrLikeUndefinedV) \ |
| _(IsNullOrLikeUndefinedT) \ |
| _(IsNullOrLikeUndefinedAndBranchV)\ |
| _(IsNullOrLikeUndefinedAndBranchT)\ |
| _(MinMaxI) \ |
| _(MinMaxD) \ |
| _(MinMaxF) \ |
| _(NegI) \ |
| _(NegD) \ |
| _(NegF) \ |
| _(AbsI) \ |
| _(AbsD) \ |
| _(AbsF) \ |
| _(ClzI) \ |
| _(SqrtD) \ |
| _(SqrtF) \ |
| _(Atan2D) \ |
| _(Hypot) \ |
| _(PowI) \ |
| _(PowD) \ |
| _(PowHalfD) \ |
| _(Random) \ |
| _(MathFunctionD) \ |
| _(MathFunctionF) \ |
| _(NotI) \ |
| _(NotD) \ |
| _(NotF) \ |
| _(NotO) \ |
| _(NotV) \ |
| _(AddI) \ |
| _(SubI) \ |
| _(MulI) \ |
| _(MathD) \ |
| _(MathF) \ |
| _(DivI) \ |
| _(DivPowTwoI) \ |
| _(ModI) \ |
| _(ModPowTwoI) \ |
| _(ModD) \ |
| _(BinaryV) \ |
| _(Concat) \ |
| _(CharCodeAt) \ |
| _(FromCharCode) \ |
| _(SinCos) \ |
| _(StringSplit) \ |
| _(Int32ToDouble) \ |
| _(Float32ToDouble) \ |
| _(DoubleToFloat32) \ |
| _(Int32ToFloat32) \ |
| _(ValueToDouble) \ |
| _(ValueToInt32) \ |
| _(ValueToFloat32) \ |
| _(DoubleToInt32) \ |
| _(Float32ToInt32) \ |
| _(TruncateDToInt32) \ |
| _(TruncateFToInt32) \ |
| _(BooleanToString) \ |
| _(IntToString) \ |
| _(DoubleToString) \ |
| _(ValueToString) \ |
| _(ValueToObjectOrNull) \ |
| _(Int32x4ToFloat32x4) \ |
| _(Float32x4ToInt32x4) \ |
| _(Start) \ |
| _(OsrEntry) \ |
| _(OsrValue) \ |
| _(OsrScopeChain) \ |
| _(OsrReturnValue) \ |
| _(OsrArgumentsObject) \ |
| _(RegExp) \ |
| _(RegExpExec) \ |
| _(RegExpTest) \ |
| _(RegExpReplace) \ |
| _(StringReplace) \ |
| _(Substr) \ |
| _(BinarySharedStub) \ |
| _(UnarySharedStub) \ |
| _(Lambda) \ |
| _(LambdaArrow) \ |
| _(LambdaForSingleton) \ |
| _(KeepAliveObject) \ |
| _(Slots) \ |
| _(Elements) \ |
| _(ConvertElementsToDoubles) \ |
| _(MaybeToDoubleElement) \ |
| _(MaybeCopyElementsForWrite) \ |
| _(LoadSlotV) \ |
| _(LoadSlotT) \ |
| _(StoreSlotV) \ |
| _(StoreSlotT) \ |
| _(GuardShape) \ |
| _(GuardReceiverPolymorphic) \ |
| _(GuardObjectGroup) \ |
| _(GuardObjectIdentity) \ |
| _(GuardClass) \ |
| _(GuardUnboxedExpando) \ |
| _(LoadUnboxedExpando) \ |
| _(TypeBarrierV) \ |
| _(TypeBarrierO) \ |
| _(MonitorTypes) \ |
| _(PostWriteBarrierO) \ |
| _(PostWriteBarrierV) \ |
| _(InitializedLength) \ |
| _(SetInitializedLength) \ |
| _(UnboxedArrayLength) \ |
| _(UnboxedArrayInitializedLength) \ |
| _(IncrementUnboxedArrayInitializedLength) \ |
| _(SetUnboxedArrayInitializedLength) \ |
| _(BoundsCheck) \ |
| _(BoundsCheckRange) \ |
| _(BoundsCheckLower) \ |
| _(LoadElementV) \ |
| _(LoadElementT) \ |
| _(LoadElementHole) \ |
| _(LoadUnboxedScalar) \ |
| _(LoadUnboxedPointerV) \ |
| _(LoadUnboxedPointerT) \ |
| _(UnboxObjectOrNull) \ |
| _(StoreElementV) \ |
| _(StoreElementT) \ |
| _(StoreUnboxedScalar) \ |
| _(StoreUnboxedPointer) \ |
| _(ConvertUnboxedObjectToNative) \ |
| _(ArrayPopShiftV) \ |
| _(ArrayPopShiftT) \ |
| _(ArrayPushV) \ |
| _(ArrayPushT) \ |
| _(ArrayConcat) \ |
| _(ArraySlice) \ |
| _(ArrayJoin) \ |
| _(StoreElementHoleV) \ |
| _(StoreElementHoleT) \ |
| _(LoadTypedArrayElementHole) \ |
| _(LoadTypedArrayElementStatic) \ |
| _(StoreTypedArrayElementHole) \ |
| _(StoreTypedArrayElementStatic) \ |
| _(AtomicIsLockFree) \ |
| _(GuardSharedTypedArray) \ |
| _(CompareExchangeTypedArrayElement) \ |
| _(AtomicExchangeTypedArrayElement) \ |
| _(AtomicTypedArrayElementBinop) \ |
| _(AtomicTypedArrayElementBinopForEffect) \ |
| _(EffectiveAddress) \ |
| _(ClampIToUint8) \ |
| _(ClampDToUint8) \ |
| _(ClampVToUint8) \ |
| _(LoadFixedSlotV) \ |
| _(LoadFixedSlotT) \ |
| _(LoadFixedSlotAndUnbox) \ |
| _(StoreFixedSlotV) \ |
| _(StoreFixedSlotT) \ |
| _(FunctionEnvironment) \ |
| _(GetPropertyCacheV) \ |
| _(GetPropertyCacheT) \ |
| _(GetPropertyPolymorphicV) \ |
| _(GetPropertyPolymorphicT) \ |
| _(BindNameCache) \ |
| _(CallGetProperty) \ |
| _(GetNameCache) \ |
| _(CallGetIntrinsicValue) \ |
| _(CallGetElement) \ |
| _(CallSetElement) \ |
| _(CallInitElementArray) \ |
| _(CallSetProperty) \ |
| _(CallDeleteProperty) \ |
| _(CallDeleteElement) \ |
| _(SetPropertyCache) \ |
| _(SetPropertyPolymorphicV) \ |
| _(SetPropertyPolymorphicT) \ |
| _(CallIteratorStart) \ |
| _(IteratorStart) \ |
| _(IteratorMore) \ |
| _(IsNoIterAndBranch) \ |
| _(IteratorEnd) \ |
| _(ArrayLength) \ |
| _(SetArrayLength) \ |
| _(TypedArrayLength) \ |
| _(TypedArrayElements) \ |
| _(SetDisjointTypedElements) \ |
| _(TypedObjectDescr) \ |
| _(TypedObjectElements) \ |
| _(SetTypedObjectOffset) \ |
| _(StringLength) \ |
| _(ArgumentsLength) \ |
| _(GetFrameArgument) \ |
| _(SetFrameArgumentT) \ |
| _(SetFrameArgumentC) \ |
| _(SetFrameArgumentV) \ |
| _(RunOncePrologue) \ |
| _(Rest) \ |
| _(TypeOfV) \ |
| _(ToIdV) \ |
| _(Floor) \ |
| _(FloorF) \ |
| _(Ceil) \ |
| _(CeilF) \ |
| _(Round) \ |
| _(RoundF) \ |
| _(In) \ |
| _(InArray) \ |
| _(InstanceOfO) \ |
| _(InstanceOfV) \ |
| _(CallInstanceOf) \ |
| _(InterruptCheck) \ |
| _(AsmJSInterruptCheck) \ |
| _(InterruptCheckImplicit) \ |
| _(GetDOMProperty) \ |
| _(GetDOMMemberV) \ |
| _(GetDOMMemberT) \ |
| _(SetDOMProperty) \ |
| _(CallDOMNative) \ |
| _(IsCallable) \ |
| _(IsObject) \ |
| _(IsObjectAndBranch) \ |
| _(HasClass) \ |
| _(AsmJSLoadHeap) \ |
| _(AsmJSStoreHeap) \ |
| _(AsmJSLoadFuncPtr) \ |
| _(AsmJSLoadGlobalVar) \ |
| _(AsmJSStoreGlobalVar) \ |
| _(AsmJSLoadFFIFunc) \ |
| _(AsmJSParameter) \ |
| _(AsmJSReturn) \ |
| _(AsmJSVoidReturn) \ |
| _(AsmJSPassStackArg) \ |
| _(AsmJSCall) \ |
| _(AsmJSCompareExchangeHeap) \ |
| _(AsmJSAtomicExchangeHeap) \ |
| _(AsmJSAtomicBinopHeap) \ |
| _(AsmJSAtomicBinopHeapForEffect)\ |
| _(AsmJSUInt32ToDouble) \ |
| _(AsmJSUInt32ToFloat32) \ |
| _(RecompileCheck) \ |
| _(MemoryBarrier) \ |
| _(AssertRangeI) \ |
| _(AssertRangeD) \ |
| _(AssertRangeF) \ |
| _(AssertRangeV) \ |
| _(AssertResultV) \ |
| _(AssertResultT) \ |
| _(LexicalCheck) \ |
| _(ThrowRuntimeLexicalError) \ |
| _(GlobalNameConflictsCheck) \ |
| _(Debugger) \ |
| _(NewTarget) \ |
| _(ArrowNewTarget) \ |
| _(CheckReturn) \ |
| _(CheckObjCoercible) |
| |
| #endif /* jit_shared_LOpcodes_shared_h */ |