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: |