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) { } |