Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 74e53aec78f48507ff7e0ae211d573a595cde284..2e48f4b288182a10049a7f7fa3b48fae799b3fb8 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -128,7 +128,8 @@ class LCodeGen; |
V(NumberTagD) \ |
V(NumberTagI) \ |
V(NumberUntagD) \ |
- V(ObjectLiteral) \ |
+ V(ObjectLiteralFast) \ |
+ V(ObjectLiteralGeneric) \ |
V(OsrEntry) \ |
V(OuterContext) \ |
V(Parameter) \ |
@@ -1960,16 +1961,29 @@ class LArrayLiteral: public LTemplateInstruction<1, 1, 0> { |
}; |
-class LObjectLiteral: public LTemplateInstruction<1, 1, 0> { |
+class LObjectLiteralFast: public LTemplateInstruction<1, 1, 0> { |
public: |
- explicit LObjectLiteral(LOperand* context) { |
+ explicit LObjectLiteralFast(LOperand* context) { |
inputs_[0] = context; |
} |
LOperand* context() { return inputs_[0]; } |
- DECLARE_CONCRETE_INSTRUCTION(ObjectLiteral, "object-literal") |
- DECLARE_HYDROGEN_ACCESSOR(ObjectLiteral) |
+ DECLARE_CONCRETE_INSTRUCTION(ObjectLiteralFast, "object-literal-fast") |
+ DECLARE_HYDROGEN_ACCESSOR(ObjectLiteralFast) |
+}; |
+ |
+ |
+class LObjectLiteralGeneric: public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LObjectLiteralGeneric(LOperand* context) { |
+ inputs_[0] = context; |
+ } |
+ |
+ LOperand* context() { return inputs_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(ObjectLiteralGeneric, "object-literal-generic") |
+ DECLARE_HYDROGEN_ACCESSOR(ObjectLiteralGeneric) |
}; |