| Index: src/crankshaft/arm64/lithium-arm64.h
|
| diff --git a/src/crankshaft/arm64/lithium-arm64.h b/src/crankshaft/arm64/lithium-arm64.h
|
| index 237487ff884d6ef284ab1ebf38de7efa80e4e90b..eed2489b47f052201c42b584d6cfcb0115f80b26 100644
|
| --- a/src/crankshaft/arm64/lithium-arm64.h
|
| +++ b/src/crankshaft/arm64/lithium-arm64.h
|
| @@ -70,6 +70,7 @@ class LCodeGen;
|
| V(Drop) \
|
| V(Dummy) \
|
| V(DummyUse) \
|
| + V(FastAllocate) \
|
| V(FlooringDivByConstI) \
|
| V(FlooringDivByPowerOf2I) \
|
| V(FlooringDivI) \
|
| @@ -163,7 +164,6 @@ class LCodeGen;
|
| V(UnknownOSRValue) \
|
| V(WrapReceiver)
|
|
|
| -
|
| #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \
|
| Opcode opcode() const final { return LInstruction::k##type; } \
|
| void CompileToNative(LCodeGen* generator) final; \
|
| @@ -626,6 +626,21 @@ class LAllocate final : public LTemplateInstruction<1, 2, 3> {
|
| DECLARE_HYDROGEN_ACCESSOR(Allocate)
|
| };
|
|
|
| +class LFastAllocate final : public LTemplateInstruction<1, 1, 2> {
|
| + public:
|
| + LFastAllocate(LOperand* size, LOperand* temp1, LOperand* temp2) {
|
| + inputs_[0] = size;
|
| + temps_[0] = temp1;
|
| + temps_[1] = temp2;
|
| + }
|
| +
|
| + LOperand* size() { return inputs_[0]; }
|
| + LOperand* temp1() { return temps_[0]; }
|
| + LOperand* temp2() { return temps_[1]; }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(FastAllocate, "fast-allocate")
|
| + DECLARE_HYDROGEN_ACCESSOR(Allocate)
|
| +};
|
|
|
| class LApplyArguments final : public LTemplateInstruction<1, 4, 0> {
|
| public:
|
|
|