| Index: test/cctest/interpreter/test-bytecode-generator.cc | 
| diff --git a/test/cctest/interpreter/test-bytecode-generator.cc b/test/cctest/interpreter/test-bytecode-generator.cc | 
| index d3a09086164eac9367495ea4781657c48e6d911a..a14e0c1f76f734eaa554d99fad73781c4ee0b811 100644 | 
| --- a/test/cctest/interpreter/test-bytecode-generator.cc | 
| +++ b/test/cctest/interpreter/test-bytecode-generator.cc | 
| @@ -3200,57 +3200,52 @@ TEST(Delete) { | 
| {"var a = {x:13, y:14}; return delete a.x;", | 
| 2 * kPointerSize, | 
| 1, | 
| -       13, | 
| -       { | 
| -           B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| -           B(Star), R(0),                                                  // | 
| -           B(Star), R(1),                                                  // | 
| -           B(LdaConstant), U8(1),                                          // | 
| -           B(DeletePropertySloppy), R(1),                                  // | 
| -           B(Return) | 
| -       }, | 
| +       15, | 
| +       {B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| +        B(Star), R(1),                                                  // | 
| +        B(Star), R(0),                                                  // | 
| +        B(Star), R(1),                                                  // | 
| +        B(LdaConstant), U8(1),                                          // | 
| +        B(DeletePropertySloppy), R(1),                                  // | 
| +        B(Return)}, | 
| 2, | 
| {InstanceType::FIXED_ARRAY_TYPE, | 
| InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 
| {"'use strict'; var a = {x:13, y:14}; return delete a.x;", | 
| 2 * kPointerSize, | 
| 1, | 
| -       13, | 
| -       { | 
| -           B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| -           B(Star), R(0),                                                  // | 
| -           B(Star), R(1),                                                  // | 
| -           B(LdaConstant), U8(1),                                          // | 
| -           B(DeletePropertyStrict), R(1),                                  // | 
| -           B(Return) | 
| -       }, | 
| +       15, | 
| +       {B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| +        B(Star), R(1),                                                  // | 
| +        B(Star), R(0),                                                  // | 
| +        B(Star), R(1),                                                  // | 
| +        B(LdaConstant), U8(1),                                          // | 
| +        B(DeletePropertyStrict), R(1),                                  // | 
| +        B(Return)}, | 
| 2, | 
| {InstanceType::FIXED_ARRAY_TYPE, | 
| InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 
| {"var a = {1:13, 2:14}; return delete a[2];", | 
| 2 * kPointerSize, | 
| 1, | 
| -       13, | 
| -       { | 
| -           B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| -           B(Star), R(0),                                                  // | 
| -           B(Star), R(1),                                                  // | 
| -           B(LdaSmi8), U8(2),                                              // | 
| -           B(DeletePropertySloppy), R(1),                                  // | 
| -           B(Return) | 
| -       }, | 
| +       15, | 
| +       {B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| +        B(Star), R(1),                                                  // | 
| +        B(Star), R(0),                                                  // | 
| +        B(Star), R(1),                                                  // | 
| +        B(LdaSmi8), U8(2),                                              // | 
| +        B(DeletePropertySloppy), R(1),                                  // | 
| +        B(Return)}, | 
| 1, | 
| {InstanceType::FIXED_ARRAY_TYPE}}, | 
| {"var a = 10; return delete a;", | 
| 1 * kPointerSize, | 
| 1, | 
| 6, | 
| -       { | 
| -           B(LdaSmi8), U8(10),  // | 
| -           B(Star), R(0),       // | 
| -           B(LdaFalse),         // | 
| -           B(Return) | 
| -        }, | 
| +       {B(LdaSmi8), U8(10),  // | 
| +        B(Star), R(0),       // | 
| +        B(LdaFalse),         // | 
| +        B(Return)}, | 
| 0}, | 
| {"'use strict';" | 
| "var a = {1:10};" | 
| @@ -3258,20 +3253,19 @@ TEST(Delete) { | 
| "return delete a[1];", | 
| 2 * kPointerSize, | 
| 1, | 
| -       27, | 
| -       { | 
| -           B(CallRuntime), U16(Runtime::kNewFunctionContext),              // | 
| -                            R(closure), U8(1),                             // | 
| -           B(PushContext), R(0),                                           // | 
| -           B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| -           B(StaContextSlot), R(0), U8(first_context_slot),                // | 
| -           B(CreateClosure), U8(1), U8(0),                                 // | 
| -           B(LdaContextSlot), R(0), U8(first_context_slot),                // | 
| -           B(Star), R(1),                                                  // | 
| -           B(LdaSmi8), U8(1),                                              // | 
| -           B(DeletePropertyStrict), R(1),                                  // | 
| -           B(Return) | 
| -       }, | 
| +       29, | 
| +       {B(CallRuntime), U16(Runtime::kNewFunctionContext),              // | 
| +        R(closure), U8(1),                                              // | 
| +        B(PushContext), R(0),                                           // | 
| +        B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| +        B(Star), R(1),                                                  // | 
| +        B(StaContextSlot), R(0), U8(first_context_slot),                // | 
| +        B(CreateClosure), U8(1), U8(0),                                 // | 
| +        B(LdaContextSlot), R(0), U8(first_context_slot),                // | 
| +        B(Star), R(1),                                                  // | 
| +        B(LdaSmi8), U8(1),                                              // | 
| +        B(DeletePropertyStrict), R(1),                                  // | 
| +        B(Return)}, | 
| 2, | 
| {InstanceType::FIXED_ARRAY_TYPE, | 
| InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 
| @@ -3279,10 +3273,8 @@ TEST(Delete) { | 
| 0 * kPointerSize, | 
| 1, | 
| 2, | 
| -       { | 
| -           B(LdaTrue),  // | 
| -           B(Return) | 
| -       }, | 
| +       {B(LdaTrue),  // | 
| +        B(Return)}, | 
| 0}, | 
| }; | 
|  | 
| @@ -3684,21 +3676,23 @@ TEST(ObjectLiterals) { | 
| ObjectLiteral::kFastElements | ObjectLiteral::kDisableMementos; | 
| ExpectedSnippet<InstanceType> snippets[] = { | 
| {"return { };", | 
| -       0, | 
| +       kPointerSize, | 
| 1, | 
| -       5, | 
| +       7, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(simple_flags),  // | 
| +           B(Star), R(0),                                           // | 
| B(Return)                                                // | 
| }, | 
| 1, | 
| {InstanceType::FIXED_ARRAY_TYPE}}, | 
| {"return { name: 'string', val: 9.2 };", | 
| -       0, | 
| +       kPointerSize, | 
| 1, | 
| -       5, | 
| +       7, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| +           B(Star), R(0),                                                  // | 
| B(Return)                                                       // | 
| }, | 
| 1, | 
| @@ -3753,8 +3747,7 @@ TEST(ObjectLiterals) { | 
| B(Return),                                                      // | 
| }, | 
| 3, | 
| -       {InstanceType::FIXED_ARRAY_TYPE, | 
| -        InstanceType::SHARED_FUNCTION_INFO_TYPE, | 
| +       {InstanceType::FIXED_ARRAY_TYPE, InstanceType::SHARED_FUNCTION_INFO_TYPE, | 
| InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 
| {"return { func(a) { return a; } };", | 
| 1 * kPointerSize, | 
| @@ -3769,26 +3762,26 @@ TEST(ObjectLiterals) { | 
| B(Return),                                                      // | 
| }, | 
| 3, | 
| -       {InstanceType::FIXED_ARRAY_TYPE, | 
| -        InstanceType::SHARED_FUNCTION_INFO_TYPE, | 
| +       {InstanceType::FIXED_ARRAY_TYPE, InstanceType::SHARED_FUNCTION_INFO_TYPE, | 
| InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 
| {"return { get a() { return 2; } };", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       29, | 
| +       32, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),   // | 
| B(Star), R(0),                                                   // | 
| +           B(Mov), R(0), R(1),                                              // | 
| B(LdaConstant), U8(1),                                           // | 
| -           B(Star), R(1),                                                   // | 
| -           B(CreateClosure), U8(2), U8(0),                                  // | 
| B(Star), R(2),                                                   // | 
| -           B(LdaNull),                                                      // | 
| +           B(CreateClosure), U8(2), U8(0),                                  // | 
| B(Star), R(3),                                                   // | 
| -           B(LdaZero),                                                      // | 
| +           B(LdaNull),                                                      // | 
| B(Star), R(4),                                                   // | 
| +           B(LdaZero),                                                      // | 
| +           B(Star), R(5),                                                   // | 
| B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked),  // | 
| -                           R(0), U8(5),                                     // | 
| +           R(1), U8(5),                                                     // | 
| B(Ldar), R(0),                                                   // | 
| B(Return),                                                       // | 
| }, | 
| @@ -3797,22 +3790,23 @@ TEST(ObjectLiterals) { | 
| InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 
| InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 
| {"return { get a() { return this.x; }, set a(val) { this.x = val } };", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       31, | 
| +       34, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),   // | 
| B(Star), R(0),                                                   // | 
| +           B(Mov), R(0), R(1),                                              // | 
| B(LdaConstant), U8(1),                                           // | 
| -           B(Star), R(1),                                                   // | 
| -           B(CreateClosure), U8(2), U8(0),                                  // | 
| B(Star), R(2),                                                   // | 
| -           B(CreateClosure), U8(3), U8(0),                                  // | 
| +           B(CreateClosure), U8(2), U8(0),                                  // | 
| B(Star), R(3),                                                   // | 
| -           B(LdaZero),                                                      // | 
| +           B(CreateClosure), U8(3), U8(0),                                  // | 
| B(Star), R(4),                                                   // | 
| +           B(LdaZero),                                                      // | 
| +           B(Star), R(5),                                                   // | 
| B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked),  // | 
| -                           R(0), U8(5),                                     // | 
| +           R(1), U8(5),                                                     // | 
| B(Ldar), R(0),                                                   // | 
| B(Return),                                                       // | 
| }, | 
| @@ -3822,22 +3816,23 @@ TEST(ObjectLiterals) { | 
| InstanceType::SHARED_FUNCTION_INFO_TYPE, | 
| InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 
| {"return { set b(val) { this.y = val } };", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       29, | 
| +       32, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),   // | 
| B(Star), R(0),                                                   // | 
| +           B(Mov), R(0), R(1),                                              // | 
| B(LdaConstant), U8(1),                                           // | 
| -           B(Star), R(1),                                                   // | 
| -           B(LdaNull),                                                      // | 
| B(Star), R(2),                                                   // | 
| -           B(CreateClosure), U8(2), U8(0),                                  // | 
| +           B(LdaNull),                                                      // | 
| B(Star), R(3),                                                   // | 
| -           B(LdaZero),                                                      // | 
| +           B(CreateClosure), U8(2), U8(0),                                  // | 
| B(Star), R(4),                                                   // | 
| +           B(LdaZero),                                                      // | 
| +           B(Star), R(5),                                                   // | 
| B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked),  // | 
| -                           R(0), U8(5),                                     // | 
| +           R(1), U8(5),                                                     // | 
| B(Ldar), R(0),                                                   // | 
| B(Return),                                                       // | 
| }, | 
| @@ -3846,58 +3841,61 @@ TEST(ObjectLiterals) { | 
| InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 
| InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 
| {"var a = 1; return { 1: a };", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       29, | 
| +       32, | 
| { | 
| B(LdaSmi8), U8(1),                                              // | 
| B(Star), R(0),                                                  // | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| B(Star), R(1),                                                  // | 
| +           B(Mov), R(1), R(2),                                             // | 
| B(LdaSmi8), U8(1),                                              // | 
| -           B(Star), R(2),                                                  // | 
| -           B(Ldar), R(0),                                                  // | 
| B(Star), R(3),                                                  // | 
| -           B(LdaZero),                                                     // | 
| +           B(Ldar), R(0),                                                  // | 
| B(Star), R(4),                                                  // | 
| -           B(CallRuntime), U16(Runtime::kSetProperty), R(1), U8(4),        // | 
| +           B(LdaZero),                                                     // | 
| +           B(Star), R(5),                                                  // | 
| +           B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4),        // | 
| B(Ldar), R(1),                                                  // | 
| B(Return),                                                      // | 
| }, | 
| 1, | 
| {InstanceType::FIXED_ARRAY_TYPE}}, | 
| {"return { __proto__: null }", | 
| -       2 * kPointerSize, | 
| +       3 * kPointerSize, | 
| 1, | 
| -       17, | 
| +       20, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(simple_flags),            // | 
| B(Star), R(0),                                                     // | 
| -           B(LdaNull), B(Star), R(1),                                         // | 
| -           B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(0), U8(2),  // | 
| +           B(Mov), R(0), R(1),                                                // | 
| +           B(LdaNull), B(Star), R(2),                                         // | 
| +           B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2),  // | 
| B(Ldar), R(0),                                                     // | 
| B(Return),                                                         // | 
| }, | 
| 1, | 
| {InstanceType::FIXED_ARRAY_TYPE}}, | 
| {"var a = 'test'; return { [a]: 1 }", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       30, | 
| +       33, | 
| { | 
| B(LdaConstant), U8(0),                                             // | 
| B(Star), R(0),                                                     // | 
| B(CreateObjectLiteral), U8(1), U8(0), U8(simple_flags),            // | 
| B(Star), R(1),                                                     // | 
| +           B(Mov), R(1), R(2),                                                // | 
| B(Ldar), R(0),                                                     // | 
| B(ToName),                                                         // | 
| -           B(Star), R(2),                                                     // | 
| -           B(LdaSmi8), U8(1),                                                 // | 
| B(Star), R(3),                                                     // | 
| -           B(LdaZero),                                                        // | 
| +           B(LdaSmi8), U8(1),                                                 // | 
| B(Star), R(4),                                                     // | 
| -           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1),  // | 
| -                           U8(4),                                             // | 
| +           B(LdaZero),                                                        // | 
| +           B(Star), R(5),                                                     // | 
| +           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(2),  // | 
| +           U8(4),                                                             // | 
| B(Ldar), R(1),                                                     // | 
| B(Return),                                                         // | 
| }, | 
| @@ -3905,9 +3903,9 @@ TEST(ObjectLiterals) { | 
| {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 
| InstanceType::FIXED_ARRAY_TYPE}}, | 
| {"var a = 'test'; return { val: a, [a]: 1 }", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       36, | 
| +       39, | 
| { | 
| B(LdaConstant), U8(0),                                             // | 
| B(Star), R(0),                                                     // | 
| @@ -3915,15 +3913,16 @@ TEST(ObjectLiterals) { | 
| B(Star), R(1),                                                     // | 
| B(Ldar), R(0),                                                     // | 
| B(StoreICSloppy), R(1), U8(2), U8(vector->GetIndex(slot1)),        // | 
| +           B(Mov), R(1), R(2),                                                // | 
| B(Ldar), R(0),                                                     // | 
| B(ToName),                                                         // | 
| -           B(Star), R(2),                                                     // | 
| -           B(LdaSmi8), U8(1),                                                 // | 
| B(Star), R(3),                                                     // | 
| -           B(LdaZero),                                                        // | 
| +           B(LdaSmi8), U8(1),                                                 // | 
| B(Star), R(4),                                                     // | 
| -           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1),  // | 
| -                           U8(4),                                             // | 
| +           B(LdaZero),                                                        // | 
| +           B(Star), R(5),                                                     // | 
| +           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(2),  // | 
| +           U8(4),                                                             // | 
| B(Ldar), R(1),                                                     // | 
| B(Return),                                                         // | 
| }, | 
| @@ -3932,26 +3931,29 @@ TEST(ObjectLiterals) { | 
| InstanceType::FIXED_ARRAY_TYPE, | 
| InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 
| {"var a = 'test'; return { [a]: 1, __proto__: {} }", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       41, | 
| +       49, | 
| { | 
| B(LdaConstant), U8(0),                                             // | 
| B(Star), R(0),                                                     // | 
| B(CreateObjectLiteral), U8(1), U8(1), U8(simple_flags),            // | 
| B(Star), R(1),                                                     // | 
| +           B(Mov), R(1), R(2),                                                // | 
| B(Ldar), R(0),                                                     // | 
| B(ToName),                                                         // | 
| -           B(Star), R(2),                                                     // | 
| -           B(LdaSmi8), U8(1),                                                 // | 
| B(Star), R(3),                                                     // | 
| -           B(LdaZero),                                                        // | 
| +           B(LdaSmi8), U8(1),                                                 // | 
| B(Star), R(4),                                                     // | 
| -           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1),  // | 
| -                           U8(4),                                             // | 
| +           B(LdaZero),                                                        // | 
| +           B(Star), R(5),                                                     // | 
| +           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(2),  // | 
| +           U8(4),                                                             // | 
| +           B(Mov), R(1), R(2),                                                // | 
| B(CreateObjectLiteral), U8(1), U8(0), U8(13),                      // | 
| -           B(Star), R(2),                                                     // | 
| -           B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2),  // | 
| +           B(Star), R(4),                                                     // | 
| +           B(Star), R(3),                                                     // | 
| +           B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(2), U8(2),  // | 
| B(Ldar), R(1),                                                     // | 
| B(Return),                                                         // | 
| }, | 
| @@ -3959,39 +3961,42 @@ TEST(ObjectLiterals) { | 
| {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 
| InstanceType::FIXED_ARRAY_TYPE}}, | 
| {"var n = 'name'; return { [n]: 'val', get a() { }, set a(b) {} };", | 
| -       5 * kPointerSize, | 
| +       6 * kPointerSize, | 
| 1, | 
| -       64, | 
| +       73, | 
| { | 
| B(LdaConstant), U8(0),                                             // | 
| B(Star), R(0),                                                     // | 
| B(CreateObjectLiteral), U8(1), U8(0), U8(simple_flags),            // | 
| B(Star), R(1),                                                     // | 
| +           B(Mov), R(1), R(2),                                                // | 
| B(Ldar), R(0),                                                     // | 
| B(ToName),                                                         // | 
| -           B(Star), R(2),                                                     // | 
| -           B(LdaConstant), U8(2),                                             // | 
| B(Star), R(3),                                                     // | 
| -           B(LdaZero),                                                        // | 
| +           B(LdaConstant), U8(2),                                             // | 
| B(Star), R(4),                                                     // | 
| -           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1),  // | 
| -                           U8(4),                                             // | 
| +           B(LdaZero),                                                        // | 
| +           B(Star), R(5),                                                     // | 
| +           B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(2),  // | 
| +           U8(4),                                                             // | 
| +           B(Mov), R(1), R(2),                                                // | 
| B(LdaConstant), U8(3),                                             // | 
| -           B(Star), R(2),                                                     // | 
| -           B(CreateClosure), U8(4), U8(0),                                    // | 
| B(Star), R(3),                                                     // | 
| -           B(LdaZero),                                                        // | 
| +           B(CreateClosure), U8(4), U8(0),                                    // | 
| B(Star), R(4),                                                     // | 
| +           B(LdaZero),                                                        // | 
| +           B(Star), R(5),                                                     // | 
| B(CallRuntime), U16(Runtime::kDefineGetterPropertyUnchecked),      // | 
| -                           R(1), U8(4),                                       // | 
| +           R(2), U8(4),                                                       // | 
| +           B(Mov), R(1), R(2),                                                // | 
| B(LdaConstant), U8(3),                                             // | 
| -           B(Star), R(2),                                                     // | 
| -           B(CreateClosure), U8(5), U8(0),                                    // | 
| B(Star), R(3),                                                     // | 
| -           B(LdaZero),                                                        // | 
| +           B(CreateClosure), U8(5), U8(0),                                    // | 
| B(Star), R(4),                                                     // | 
| +           B(LdaZero),                                                        // | 
| +           B(Star), R(5),                                                     // | 
| B(CallRuntime), U16(Runtime::kDefineSetterPropertyUnchecked),      // | 
| -                           R(1), U8(4),                                       // | 
| +           R(2), U8(4),                                                       // | 
| B(Ldar), R(1),                                                     // | 
| B(Return),                                                         // | 
| }, | 
| @@ -4024,16 +4029,18 @@ TEST(ObjectLiteralsWide) { | 
| ExpectedSnippet<InstanceType, 257> snippets[] = { | 
| {"var a;" REPEAT_256(SPACE, | 
| "a = 1.23;") "return { name: 'string', val: 9.2 };", | 
| -       1 * kPointerSize, | 
| +       2 * kPointerSize, | 
| 1, | 
| -       1031, | 
| +       1033, | 
| { | 
| -           REPEAT_256(COMMA,                                     // | 
| -             B(LdaConstant), U8(wide_idx++),                     // | 
| -             B(Star), R(0)),                                     // | 
| -           B(CreateObjectLiteralWide), U16(256), U16(0),         // | 
| -                                       U8(deep_elements_flags),  // | 
| -           B(Return)                                             // | 
| +           REPEAT_256(COMMA,                           // | 
| +                      B(LdaConstant), U8(wide_idx++),  // | 
| +                      B(Star), R(0)),                  // | 
| +           B(CreateObjectLiteralWide), | 
| +           U16(256), U16(0),         // | 
| +           U8(deep_elements_flags),  // | 
| +           B(Star), R(1),            // | 
| +           B(Return)                 // | 
| }, | 
| 257, | 
| {REPEAT_256(COMMA, InstanceType::HEAP_NUMBER_TYPE), | 
| @@ -4678,9 +4685,10 @@ TEST(CountOperators) { | 
| {"var a = { val: 1 }; return a.val++;", | 
| 3 * kPointerSize, | 
| 1, | 
| -       23, | 
| +       25, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags),  // | 
| +           B(Star), R(1),                                                   // | 
| B(Star), R(0),                                                   // | 
| B(Star), R(1),                                                   // | 
| B(LoadICSloppy), R(1), U8(1), U8(vector->GetIndex(slot1)),       // | 
| @@ -4697,9 +4705,10 @@ TEST(CountOperators) { | 
| {"var a = { val: 1 }; return --a.val;", | 
| 2 * kPointerSize, | 
| 1, | 
| -       19, | 
| +       21, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags),  // | 
| +           B(Star), R(1),                                                   // | 
| B(Star), R(0),                                                   // | 
| B(Star), R(1),                                                   // | 
| B(LoadICSloppy), R(1), U8(1), U8(vector->GetIndex(slot1)),       // | 
| @@ -4714,11 +4723,12 @@ TEST(CountOperators) { | 
| {"var name = 'var'; var a = { val: 1 }; return a[name]--;", | 
| 5 * kPointerSize, | 
| 1, | 
| -       30, | 
| +       32, | 
| { | 
| B(LdaConstant), U8(0),                                           // | 
| B(Star), R(0),                                                   // | 
| B(CreateObjectLiteral), U8(1), U8(0), U8(object_literal_flags),  // | 
| +           B(Star), R(2),                                                   // | 
| B(Star), R(1),                                                   // | 
| B(Star), R(2),                                                   // | 
| B(Ldar), R(0),                                                   // | 
| @@ -4737,11 +4747,12 @@ TEST(CountOperators) { | 
| {"var name = 'var'; var a = { val: 1 }; return ++a[name];", | 
| 4 * kPointerSize, | 
| 1, | 
| -       26, | 
| +       28, | 
| { | 
| B(LdaConstant), U8(0),                                           // | 
| B(Star), R(0),                                                   // | 
| B(CreateObjectLiteral), U8(1), U8(0), U8(object_literal_flags),  // | 
| +           B(Star), R(2),                                                   // | 
| B(Star), R(1),                                                   // | 
| B(Star), R(2),                                                   // | 
| B(Ldar), R(0),                                                   // | 
| @@ -4761,7 +4772,7 @@ TEST(CountOperators) { | 
| 26, | 
| { | 
| B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure),  // | 
| -                           U8(1),                                          // | 
| +           U8(1),                                                          // | 
| B(PushContext), R(1),                                           // | 
| B(LdaSmi8), U8(1),                                              // | 
| B(StaContextSlot), R(1), U8(first_context_slot),                // | 
| @@ -4781,7 +4792,7 @@ TEST(CountOperators) { | 
| 30, | 
| { | 
| B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure),  // | 
| -                           U8(1),                                          // | 
| +           U8(1),                                                          // | 
| B(PushContext), R(1),                                           // | 
| B(LdaSmi8), U8(1),                                              // | 
| B(StaContextSlot), R(1), U8(first_context_slot),                // | 
| @@ -4802,20 +4813,20 @@ TEST(CountOperators) { | 
| 1, | 
| 27, | 
| { | 
| -           B(LdaSmi8), U8(1),                                              // | 
| -           B(Star), R(0),                                                  // | 
| -           B(CreateArrayLiteral), U8(0), U8(0), U8(array_literal_flags),   // | 
| -           B(Star), R(1),                                                  // | 
| -           B(Star), R(2),                                                  // | 
| -           B(Ldar), R(0),                                                  // | 
| -           B(ToNumber),                                                    // | 
| -           B(Star), R(3),                                                  // | 
| -           B(Inc),                                                         // | 
| -           B(Star), R(0),                                                  // | 
| -           B(LdaSmi8), U8(2),                                              // | 
| -           B(KeyedStoreICSloppy), R(2), R(3),                              // | 
| -                                  U8(store_vector->GetIndex(store_slot)),  // | 
| -           B(Return),                                                      // | 
| +           B(LdaSmi8), U8(1),                                             // | 
| +           B(Star), R(0),                                                 // | 
| +           B(CreateArrayLiteral), U8(0), U8(0), U8(array_literal_flags),  // | 
| +           B(Star), R(1),                                                 // | 
| +           B(Star), R(2),                                                 // | 
| +           B(Ldar), R(0),                                                 // | 
| +           B(ToNumber),                                                   // | 
| +           B(Star), R(3),                                                 // | 
| +           B(Inc),                                                        // | 
| +           B(Star), R(0),                                                 // | 
| +           B(LdaSmi8), U8(2),                                             // | 
| +           B(KeyedStoreICSloppy), R(2), R(3),                             // | 
| +           U8(store_vector->GetIndex(store_slot)),                        // | 
| +           B(Return),                                                     // | 
| }, | 
| 1, | 
| {InstanceType::FIXED_ARRAY_TYPE}}, | 
| @@ -4958,9 +4969,10 @@ TEST(CompoundExpressions) { | 
| {"var a = { val: 2 }; a.name *= 2;", | 
| 3 * kPointerSize, | 
| 1, | 
| -       24, | 
| +       26, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags),  // | 
| +           B(Star), R(1),                                                   // | 
| B(Star), R(0),                                                   // | 
| B(Star), R(1),                                                   // | 
| B(LoadICSloppy), R(1), U8(1), U8(vector->GetIndex(slot1)),       // | 
| @@ -4977,9 +4989,10 @@ TEST(CompoundExpressions) { | 
| {"var a = { 1: 2 }; a[1] ^= 2;", | 
| 4 * kPointerSize, | 
| 1, | 
| -       27, | 
| +       29, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags),  // | 
| +           B(Star), R(1),                                                   // | 
| B(Star), R(0),                                                   // | 
| B(Star), R(1),                                                   // | 
| B(LdaSmi8), U8(1),                                               // | 
| @@ -5000,7 +5013,7 @@ TEST(CompoundExpressions) { | 
| 29, | 
| { | 
| B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure),  // | 
| -                           U8(1),                                          // | 
| +           U8(1),                                                          // | 
| B(PushContext), R(0),                                           // | 
| B(LdaSmi8), U8(1),                                              // | 
| B(StaContextSlot), R(0), U8(first_context_slot),                // | 
| @@ -5319,9 +5332,10 @@ TEST(ForIn) { | 
| "}", | 
| 8 * kPointerSize, | 
| 1, | 
| -       91, | 
| +       93, | 
| { | 
| B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags),  // | 
| +           B(Star), R(1),                                                  // | 
| B(Star), R(0),                                                  // | 
| B(CreateArrayLiteral), U8(1), U8(1), U8(simple_flags),          // | 
| B(JumpIfUndefined), U8(79),                                     // | 
|  |