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