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