| Index: src/crankshaft/arm/lithium-arm.h
|
| diff --git a/src/crankshaft/arm/lithium-arm.h b/src/crankshaft/arm/lithium-arm.h
|
| index 60fe79d4021a9a91036ffd693a05cbd810104c77..783e6961f54a95dbb612a42c752db3a8a50ff8e8 100644
|
| --- a/src/crankshaft/arm/lithium-arm.h
|
| +++ b/src/crankshaft/arm/lithium-arm.h
|
| @@ -67,6 +67,7 @@ class LCodeGen;
|
| V(Drop) \
|
| V(Dummy) \
|
| V(DummyUse) \
|
| + V(FastAllocate) \
|
| V(FlooringDivByConstI) \
|
| V(FlooringDivByPowerOf2I) \
|
| V(FlooringDivI) \
|
| @@ -151,7 +152,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; \
|
| @@ -2391,6 +2391,21 @@ class LAllocate final : public LTemplateInstruction<1, 2, 2> {
|
| 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 LTypeof final : public LTemplateInstruction<1, 2, 0> {
|
| public:
|
|
|