summaryrefslogtreecommitdiffstats
path: root/js/src/jit/shared/LOpcodes-shared.h
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit/shared/LOpcodes-shared.h')
-rw-r--r--js/src/jit/shared/LOpcodes-shared.h441
1 files changed, 441 insertions, 0 deletions
diff --git a/js/src/jit/shared/LOpcodes-shared.h b/js/src/jit/shared/LOpcodes-shared.h
new file mode 100644
index 000000000..bb04553a6
--- /dev/null
+++ b/js/src/jit/shared/LOpcodes-shared.h
@@ -0,0 +1,441 @@
+/* -*- 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) \
+ _(Integer64) \
+ _(Pointer) \
+ _(Double) \
+ _(Float32) \
+ _(SimdBox) \
+ _(SimdUnbox) \
+ _(SimdSplatX16) \
+ _(SimdSplatX8) \
+ _(SimdSplatX4) \
+ _(Simd128Int) \
+ _(Simd128Float) \
+ _(SimdAllTrue) \
+ _(SimdAnyTrue) \
+ _(SimdReinterpretCast) \
+ _(SimdExtractElementI) \
+ _(SimdExtractElementU2D) \
+ _(SimdExtractElementB) \
+ _(SimdExtractElementF) \
+ _(SimdInsertElementI) \
+ _(SimdInsertElementF) \
+ _(SimdGeneralShuffleI) \
+ _(SimdGeneralShuffleF) \
+ _(SimdSwizzleI) \
+ _(SimdSwizzleF) \
+ _(SimdShuffle) \
+ _(SimdShuffleX4) \
+ _(SimdUnaryArithIx16) \
+ _(SimdUnaryArithIx8) \
+ _(SimdUnaryArithIx4) \
+ _(SimdUnaryArithFx4) \
+ _(SimdBinaryCompIx16) \
+ _(SimdBinaryCompIx8) \
+ _(SimdBinaryCompIx4) \
+ _(SimdBinaryCompFx4) \
+ _(SimdBinaryArithIx16) \
+ _(SimdBinaryArithIx8) \
+ _(SimdBinaryArithIx4) \
+ _(SimdBinaryArithFx4) \
+ _(SimdBinarySaturating) \
+ _(SimdBinaryBitwise) \
+ _(SimdShift) \
+ _(SimdSelect) \
+ _(Value) \
+ _(CloneLiteral) \
+ _(Parameter) \
+ _(Callee) \
+ _(IsConstructing) \
+ _(TableSwitch) \
+ _(TableSwitchV) \
+ _(Goto) \
+ _(NewArray) \
+ _(NewArrayCopyOnWrite) \
+ _(NewArrayDynamicLength) \
+ _(NewTypedArray) \
+ _(NewTypedArrayDynamicLength) \
+ _(ArraySplice) \
+ _(NewObject) \
+ _(NewTypedObject) \
+ _(NewNamedLambdaObject) \
+ _(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) \
+ _(BitOpI64) \
+ _(BitOpV) \
+ _(ShiftI) \
+ _(ShiftI64) \
+ _(SignExtend) \
+ _(UrshD) \
+ _(Return) \
+ _(Throw) \
+ _(Phi) \
+ _(TestIAndBranch) \
+ _(TestI64AndBranch) \
+ _(TestDAndBranch) \
+ _(TestFAndBranch) \
+ _(TestVAndBranch) \
+ _(TestOAndBranch) \
+ _(FunctionDispatch) \
+ _(ObjectGroupDispatch) \
+ _(Compare) \
+ _(CompareAndBranch) \
+ _(CompareI64) \
+ _(CompareI64AndBranch) \
+ _(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) \
+ _(ClzI64) \
+ _(CtzI) \
+ _(CtzI64) \
+ _(PopcntI) \
+ _(PopcntI64) \
+ _(SqrtD) \
+ _(SqrtF) \
+ _(CopySignD) \
+ _(CopySignF) \
+ _(Atan2D) \
+ _(Hypot) \
+ _(PowI) \
+ _(PowD) \
+ _(PowHalfD) \
+ _(Random) \
+ _(MathFunctionD) \
+ _(MathFunctionF) \
+ _(NotI) \
+ _(NotI64) \
+ _(NotD) \
+ _(NotF) \
+ _(NotO) \
+ _(NotV) \
+ _(AddI) \
+ _(AddI64) \
+ _(SubI) \
+ _(SubI64) \
+ _(MulI) \
+ _(MulI64) \
+ _(MathD) \
+ _(MathF) \
+ _(DivI) \
+ _(DivPowTwoI) \
+ _(ModI) \
+ _(ModPowTwoI) \
+ _(ModD) \
+ _(BinaryV) \
+ _(Concat) \
+ _(CharCodeAt) \
+ _(FromCharCode) \
+ _(FromCodePoint) \
+ _(SinCos) \
+ _(StringSplit) \
+ _(Int32ToDouble) \
+ _(Float32ToDouble) \
+ _(DoubleToFloat32) \
+ _(Int32ToFloat32) \
+ _(ValueToDouble) \
+ _(ValueToInt32) \
+ _(ValueToFloat32) \
+ _(DoubleToInt32) \
+ _(Float32ToInt32) \
+ _(TruncateDToInt32) \
+ _(TruncateFToInt32) \
+ _(WrapInt64ToInt32) \
+ _(ExtendInt32ToInt64) \
+ _(BooleanToString) \
+ _(IntToString) \
+ _(DoubleToString) \
+ _(ValueToString) \
+ _(ValueToObjectOrNull) \
+ _(Int32x4ToFloat32x4) \
+ _(Float32x4ToInt32x4) \
+ _(Float32x4ToUint32x4) \
+ _(Start) \
+ _(NaNToZero) \
+ _(OsrEntry) \
+ _(OsrValue) \
+ _(OsrEnvironmentChain) \
+ _(OsrReturnValue) \
+ _(OsrArgumentsObject) \
+ _(RegExp) \
+ _(RegExpMatcher) \
+ _(RegExpSearcher) \
+ _(RegExpTester) \
+ _(RegExpPrototypeOptimizable) \
+ _(RegExpInstanceOptimizable) \
+ _(GetFirstDollarIndex) \
+ _(StringReplace) \
+ _(Substr) \
+ _(BinarySharedStub) \
+ _(UnarySharedStub) \
+ _(NullarySharedStub) \
+ _(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) \
+ _(PostWriteElementBarrierO) \
+ _(PostWriteElementBarrierV) \
+ _(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) \
+ _(ArraySlice) \
+ _(ArrayJoin) \
+ _(StoreElementHoleV) \
+ _(StoreElementHoleT) \
+ _(FallibleStoreElementV) \
+ _(FallibleStoreElementT) \
+ _(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) \
+ _(CallBindVar) \
+ _(CallGetProperty) \
+ _(GetNameCache) \
+ _(CallGetIntrinsicValue) \
+ _(CallGetElement) \
+ _(CallSetElement) \
+ _(CallInitElementArray) \
+ _(CallSetProperty) \
+ _(CallDeleteProperty) \
+ _(CallDeleteElement) \
+ _(SetPropertyCache) \
+ _(SetPropertyPolymorphicV) \
+ _(SetPropertyPolymorphicT) \
+ _(CallIteratorStartV) \
+ _(CallIteratorStartO) \
+ _(IteratorStartO) \
+ _(IteratorMore) \
+ _(IsNoIterAndBranch) \
+ _(IteratorEnd) \
+ _(ArrayLength) \
+ _(SetArrayLength) \
+ _(GetNextEntryForIterator) \
+ _(TypedArrayLength) \
+ _(TypedArrayElements) \
+ _(SetDisjointTypedElements) \
+ _(TypedObjectDescr) \
+ _(TypedObjectElements) \
+ _(SetTypedObjectOffset) \
+ _(StringLength) \
+ _(ArgumentsLength) \
+ _(GetFrameArgument) \
+ _(SetFrameArgumentT) \
+ _(SetFrameArgumentC) \
+ _(SetFrameArgumentV) \
+ _(RunOncePrologue) \
+ _(Rest) \
+ _(TypeOfV) \
+ _(ToAsync) \
+ _(ToIdV) \
+ _(Floor) \
+ _(FloorF) \
+ _(Ceil) \
+ _(CeilF) \
+ _(Round) \
+ _(RoundF) \
+ _(In) \
+ _(InArray) \
+ _(InstanceOfO) \
+ _(InstanceOfV) \
+ _(CallInstanceOf) \
+ _(InterruptCheck) \
+ _(Rotate) \
+ _(RotateI64) \
+ _(GetDOMProperty) \
+ _(GetDOMMemberV) \
+ _(GetDOMMemberT) \
+ _(SetDOMProperty) \
+ _(CallDOMNative) \
+ _(IsCallable) \
+ _(IsConstructor) \
+ _(IsObject) \
+ _(IsObjectAndBranch) \
+ _(HasClass) \
+ _(RecompileCheck) \
+ _(MemoryBarrier) \
+ _(AssertRangeI) \
+ _(AssertRangeD) \
+ _(AssertRangeF) \
+ _(AssertRangeV) \
+ _(AssertResultV) \
+ _(AssertResultT) \
+ _(LexicalCheck) \
+ _(ThrowRuntimeLexicalError) \
+ _(GlobalNameConflictsCheck) \
+ _(Debugger) \
+ _(NewTarget) \
+ _(ArrowNewTarget) \
+ _(CheckReturn) \
+ _(CheckIsObj) \
+ _(CheckObjCoercible) \
+ _(DebugCheckSelfHosted) \
+ _(AsmJSLoadHeap) \
+ _(AsmJSStoreHeap) \
+ _(AsmJSCompareExchangeHeap) \
+ _(AsmJSAtomicExchangeHeap) \
+ _(AsmJSAtomicBinopHeap) \
+ _(AsmJSAtomicBinopHeapForEffect)\
+ _(WasmTruncateToInt32) \
+ _(WasmTrap) \
+ _(WasmReinterpret) \
+ _(WasmReinterpretToI64) \
+ _(WasmReinterpretFromI64) \
+ _(WasmSelect) \
+ _(WasmSelectI64) \
+ _(WasmBoundsCheck) \
+ _(WasmAddOffset) \
+ _(WasmLoad) \
+ _(WasmLoadI64) \
+ _(WasmStore) \
+ _(WasmStoreI64) \
+ _(WasmLoadGlobalVar) \
+ _(WasmLoadGlobalVarI64) \
+ _(WasmStoreGlobalVar) \
+ _(WasmStoreGlobalVarI64) \
+ _(WasmParameter) \
+ _(WasmParameterI64) \
+ _(WasmReturn) \
+ _(WasmReturnI64) \
+ _(WasmReturnVoid) \
+ _(WasmStackArg) \
+ _(WasmStackArgI64) \
+ _(WasmCall) \
+ _(WasmCallI64) \
+ _(WasmUint32ToDouble) \
+ _(WasmUint32ToFloat32)
+
+#endif /* jit_shared_LOpcodes_shared_h */