| Index: src/arm64/lithium-arm64.h
|
| diff --git a/src/arm64/lithium-arm64.h b/src/arm64/lithium-arm64.h
|
| index 04af5583c742ec8194bb599a9b5ac07d378f8bf4..865a09501b0c5733e810f1c8ba773e5e9ae88a67 100644
|
| --- a/src/arm64/lithium-arm64.h
|
| +++ b/src/arm64/lithium-arm64.h
|
| @@ -17,162 +17,163 @@ namespace internal {
|
| // Forward declarations.
|
| class LCodeGen;
|
|
|
| -#define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \
|
| - V(AccessArgumentsAt) \
|
| - V(AddE) \
|
| - V(AddI) \
|
| - V(AddS) \
|
| - V(Allocate) \
|
| - V(AllocateBlockContext) \
|
| - V(ApplyArguments) \
|
| - V(ArgumentsElements) \
|
| - V(ArgumentsLength) \
|
| - V(ArithmeticD) \
|
| - V(ArithmeticT) \
|
| - V(BitI) \
|
| - V(BitS) \
|
| - V(BoundsCheck) \
|
| - V(Branch) \
|
| - V(CallFunction) \
|
| - V(CallJSFunction) \
|
| - V(CallNew) \
|
| - V(CallNewArray) \
|
| - V(CallRuntime) \
|
| - V(CallStub) \
|
| - V(CallWithDescriptor) \
|
| - V(CheckInstanceType) \
|
| - V(CheckMapValue) \
|
| - V(CheckMaps) \
|
| - V(CheckNonSmi) \
|
| - V(CheckSmi) \
|
| - V(CheckValue) \
|
| - V(ClampDToUint8) \
|
| - V(ClampIToUint8) \
|
| - V(ClampTToUint8) \
|
| - V(ClassOfTestAndBranch) \
|
| - V(CmpHoleAndBranchD) \
|
| - V(CmpHoleAndBranchT) \
|
| - V(CmpMapAndBranch) \
|
| - V(CmpObjectEqAndBranch) \
|
| - V(CmpT) \
|
| - V(CompareMinusZeroAndBranch) \
|
| - V(CompareNumericAndBranch) \
|
| - V(ConstantD) \
|
| - V(ConstantE) \
|
| - V(ConstantI) \
|
| - V(ConstantS) \
|
| - V(ConstantT) \
|
| - V(ConstructDouble) \
|
| - V(Context) \
|
| - V(DateField) \
|
| - V(DebugBreak) \
|
| - V(DeclareGlobals) \
|
| - V(Deoptimize) \
|
| - V(DivByConstI) \
|
| - V(DivByPowerOf2I) \
|
| - V(DivI) \
|
| - V(DoubleBits) \
|
| - V(DoubleToIntOrSmi) \
|
| - V(Drop) \
|
| - V(Dummy) \
|
| - V(DummyUse) \
|
| - V(FlooringDivByConstI) \
|
| - V(FlooringDivByPowerOf2I) \
|
| - V(FlooringDivI) \
|
| - V(ForInCacheArray) \
|
| - V(ForInPrepareMap) \
|
| - V(FunctionLiteral) \
|
| - V(GetCachedArrayIndex) \
|
| - V(Goto) \
|
| - V(HasCachedArrayIndexAndBranch) \
|
| - V(HasInstanceTypeAndBranch) \
|
| - V(InnerAllocatedObject) \
|
| - V(InstanceOf) \
|
| - V(InstanceOfKnownGlobal) \
|
| - V(InstructionGap) \
|
| - V(Integer32ToDouble) \
|
| - V(InvokeFunction) \
|
| - V(IsConstructCallAndBranch) \
|
| - V(IsObjectAndBranch) \
|
| - V(IsSmiAndBranch) \
|
| - V(IsStringAndBranch) \
|
| - V(IsUndetectableAndBranch) \
|
| - V(Label) \
|
| - V(LazyBailout) \
|
| - V(LoadContextSlot) \
|
| - V(LoadFieldByIndex) \
|
| - V(LoadFunctionPrototype) \
|
| - V(LoadGlobalCell) \
|
| - V(LoadGlobalGeneric) \
|
| - V(LoadKeyedExternal) \
|
| - V(LoadKeyedFixed) \
|
| - V(LoadKeyedFixedDouble) \
|
| - V(LoadKeyedGeneric) \
|
| - V(LoadNamedField) \
|
| - V(LoadNamedGeneric) \
|
| - V(LoadRoot) \
|
| - V(MapEnumLength) \
|
| - V(MathAbs) \
|
| - V(MathAbsTagged) \
|
| - V(MathClz32) \
|
| - V(MathExp) \
|
| - V(MathFloorD) \
|
| - V(MathFloorI) \
|
| - V(MathLog) \
|
| - V(MathMinMax) \
|
| - V(MathPowHalf) \
|
| - V(MathRoundD) \
|
| - V(MathRoundI) \
|
| - V(MathSqrt) \
|
| - V(ModByConstI) \
|
| - V(ModByPowerOf2I) \
|
| - V(ModI) \
|
| - V(MulConstIS) \
|
| - V(MulI) \
|
| - V(MulS) \
|
| - V(NumberTagD) \
|
| - V(NumberTagU) \
|
| - V(NumberUntagD) \
|
| - V(OsrEntry) \
|
| - V(Parameter) \
|
| - V(Power) \
|
| - V(PreparePushArguments) \
|
| - V(PushArguments) \
|
| - V(RegExpLiteral) \
|
| - V(Return) \
|
| - V(SeqStringGetChar) \
|
| - V(SeqStringSetChar) \
|
| - V(ShiftI) \
|
| - V(ShiftS) \
|
| - V(SmiTag) \
|
| - V(SmiUntag) \
|
| - V(StackCheck) \
|
| - V(StoreCodeEntry) \
|
| - V(StoreContextSlot) \
|
| - V(StoreFrameContext) \
|
| - V(StoreGlobalCell) \
|
| - V(StoreKeyedExternal) \
|
| - V(StoreKeyedFixed) \
|
| - V(StoreKeyedFixedDouble) \
|
| - V(StoreKeyedGeneric) \
|
| - V(StoreNamedField) \
|
| - V(StoreNamedGeneric) \
|
| - V(StringAdd) \
|
| - V(StringCharCodeAt) \
|
| - V(StringCharFromCode) \
|
| - V(StringCompareAndBranch) \
|
| - V(SubI) \
|
| - V(SubS) \
|
| - V(TaggedToI) \
|
| - V(ThisFunction) \
|
| - V(ToFastProperties) \
|
| - V(TransitionElementsKind) \
|
| - V(TrapAllocationMemento) \
|
| - V(TruncateDoubleToIntOrSmi) \
|
| - V(Typeof) \
|
| - V(TypeofIsAndBranch) \
|
| - V(Uint32ToDouble) \
|
| - V(UnknownOSRValue) \
|
| +#define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \
|
| + V(AccessArgumentsAt) \
|
| + V(AddE) \
|
| + V(AddI) \
|
| + V(AddS) \
|
| + V(Allocate) \
|
| + V(AllocateBlockContext) \
|
| + V(ApplyArguments) \
|
| + V(ArgumentsElements) \
|
| + V(ArgumentsLength) \
|
| + V(ArithmeticD) \
|
| + V(ArithmeticT) \
|
| + V(BitI) \
|
| + V(BitS) \
|
| + V(BoundsCheck) \
|
| + V(Branch) \
|
| + V(CallFunction) \
|
| + V(CallJSFunction) \
|
| + V(CallNew) \
|
| + V(CallNewArray) \
|
| + V(CallRuntime) \
|
| + V(CallStub) \
|
| + V(CallWithDescriptor) \
|
| + V(CheckInstanceType) \
|
| + V(CheckMapValue) \
|
| + V(CheckMaps) \
|
| + V(CheckNonSmi) \
|
| + V(CheckSmi) \
|
| + V(CheckValue) \
|
| + V(ClampDToUint8) \
|
| + V(ClampIToUint8) \
|
| + V(ClampTToUint8) \
|
| + V(ClassOfTestAndBranch) \
|
| + V(CmpHoleAndBranchD) \
|
| + V(CmpHoleAndBranchT) \
|
| + V(CmpMapAndBranch) \
|
| + V(CmpObjectEqAndBranch) \
|
| + V(CmpT) \
|
| + V(CompareMinusZeroAndBranch) \
|
| + V(CompareNumericAndBranch) \
|
| + V(ConstantD) \
|
| + V(ConstantE) \
|
| + V(ConstantI) \
|
| + V(ConstantS) \
|
| + V(ConstantT) \
|
| + V(ConstructDouble) \
|
| + V(Context) \
|
| + V(DateField) \
|
| + V(DebugBreak) \
|
| + V(DeclareGlobals) \
|
| + V(Deoptimize) \
|
| + V(DivByConstI) \
|
| + V(DivByPowerOf2I) \
|
| + V(DivI) \
|
| + V(DoubleBits) \
|
| + V(DoubleToIntOrSmi) \
|
| + V(Drop) \
|
| + V(Dummy) \
|
| + V(DummyUse) \
|
| + V(FlooringDivByConstI) \
|
| + V(FlooringDivByPowerOf2I) \
|
| + V(FlooringDivI) \
|
| + V(ForInCacheArray) \
|
| + V(ForInPrepareMap) \
|
| + V(FunctionLiteral) \
|
| + V(GetCachedArrayIndex) \
|
| + V(Goto) \
|
| + V(HasCachedArrayIndexAndBranch) \
|
| + V(HasInstanceTypeAndBranch) \
|
| + V(InnerAllocatedObject) \
|
| + V(InstanceOf) \
|
| + V(InstanceOfKnownGlobal) \
|
| + V(InstructionGap) \
|
| + V(Integer32ToDouble) \
|
| + V(InvokeFunction) \
|
| + V(IsConstructCallAndBranch) \
|
| + V(IsObjectAndBranch) \
|
| + V(IsSmiAndBranch) \
|
| + V(IsStringAndBranch) \
|
| + V(IsUndetectableAndBranch) \
|
| + V(Label) \
|
| + V(LazyBailout) \
|
| + V(LoadContextSlot) \
|
| + V(LoadFieldByIndex) \
|
| + V(LoadFunctionPrototype) \
|
| + V(LoadGlobalCell) \
|
| + V(LoadGlobalGeneric) \
|
| + V(LoadKeyedExternal) \
|
| + V(LoadKeyedFixed) \
|
| + V(LoadKeyedFixedDouble) \
|
| + V(LoadKeyedGeneric) \
|
| + V(LoadNamedField) \
|
| + V(LoadNamedGeneric) \
|
| + V(LoadRoot) \
|
| + V(MapEnumLength) \
|
| + V(MathAbs) \
|
| + V(MathAbsTagged) \
|
| + V(MathClz32) \
|
| + V(MathExp) \
|
| + V(MathFloorD) \
|
| + V(MathFloorI) \
|
| + V(MathFround) \
|
| + V(MathLog) \
|
| + V(MathMinMax) \
|
| + V(MathPowHalf) \
|
| + V(MathRoundD) \
|
| + V(MathRoundI) \
|
| + V(MathSqrt) \
|
| + V(ModByConstI) \
|
| + V(ModByPowerOf2I) \
|
| + V(ModI) \
|
| + V(MulConstIS) \
|
| + V(MulI) \
|
| + V(MulS) \
|
| + V(NumberTagD) \
|
| + V(NumberTagU) \
|
| + V(NumberUntagD) \
|
| + V(OsrEntry) \
|
| + V(Parameter) \
|
| + V(Power) \
|
| + V(PreparePushArguments) \
|
| + V(PushArguments) \
|
| + V(RegExpLiteral) \
|
| + V(Return) \
|
| + V(SeqStringGetChar) \
|
| + V(SeqStringSetChar) \
|
| + V(ShiftI) \
|
| + V(ShiftS) \
|
| + V(SmiTag) \
|
| + V(SmiUntag) \
|
| + V(StackCheck) \
|
| + V(StoreCodeEntry) \
|
| + V(StoreContextSlot) \
|
| + V(StoreFrameContext) \
|
| + V(StoreGlobalCell) \
|
| + V(StoreKeyedExternal) \
|
| + V(StoreKeyedFixed) \
|
| + V(StoreKeyedFixedDouble) \
|
| + V(StoreKeyedGeneric) \
|
| + V(StoreNamedField) \
|
| + V(StoreNamedGeneric) \
|
| + V(StringAdd) \
|
| + V(StringCharCodeAt) \
|
| + V(StringCharFromCode) \
|
| + V(StringCompareAndBranch) \
|
| + V(SubI) \
|
| + V(SubS) \
|
| + V(TaggedToI) \
|
| + V(ThisFunction) \
|
| + V(ToFastProperties) \
|
| + V(TransitionElementsKind) \
|
| + V(TrapAllocationMemento) \
|
| + V(TruncateDoubleToIntOrSmi) \
|
| + V(Typeof) \
|
| + V(TypeofIsAndBranch) \
|
| + V(Uint32ToDouble) \
|
| + V(UnknownOSRValue) \
|
| V(WrapReceiver)
|
|
|
|
|
| @@ -2083,6 +2084,14 @@ class LMathRoundI V8_FINAL : public LUnaryMathOperation<1> {
|
| };
|
|
|
|
|
| +class LMathFround V8_FINAL : public LUnaryMathOperation<0> {
|
| + public:
|
| + explicit LMathFround(LOperand* value) : LUnaryMathOperation<0>(value) {}
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(MathFround, "math-fround")
|
| +};
|
| +
|
| +
|
| class LMathSqrt V8_FINAL : public LUnaryMathOperation<0> {
|
| public:
|
| explicit LMathSqrt(LOperand* value) : LUnaryMathOperation<0>(value) { }
|
|
|