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 673766d698f1dffd07e5205c80555b2f088e27c4..436c45f61adf42d63ce1ee4bd94a993df5890737 100644 |
--- a/test/cctest/interpreter/test-bytecode-generator.cc |
+++ b/test/cctest/interpreter/test-bytecode-generator.cc |
@@ -912,91 +912,87 @@ TEST(PropertyLoads) { |
}, |
1, |
{"name"}}, |
- { |
- "function f(a, b) { \"use strict\"; return a[b]; }\n" |
- "f({arg : \"test\"}, \"arg\")", |
- 0, |
- 3, |
- 6, |
- { |
- B(Ldar), A(2, 3), // |
- B(KeyedLoadICStrict), A(1, 3), U8(vector->GetIndex(slot1)), // |
- B(Return), // |
- }, |
- 0}, |
- { |
- "function f(a) {\n" |
- " var b;\n" |
- REPEAT_127(SPACE, " b = a.name; ") |
- " return a.name; }\n" |
- "f({name : \"test\"})\n", |
- 1 * kPointerSize, |
- 2, |
- 769, |
- { |
- REPEAT_127(COMMA, // |
- B(LoadICSloppy), A(1, 2), U8(0), U8((wide_idx_1 += 2)), // |
- B(Star), R(0)), // |
- B(LoadICSloppyWide), A(1, 2), U16(0), U16(wide_idx_1 + 2), // |
- B(Return), // |
- }, |
- 1, |
- {"name"}}, |
- { |
- "function f(a) {\n" |
- " 'use strict'; var b;\n" |
- REPEAT_127(SPACE, " b = a.name; ") |
- " return a.name; }\n" |
- "f({name : \"test\"})\n", |
- 1 * kPointerSize, |
- 2, |
- 769, |
- { |
- REPEAT_127(COMMA, // |
- B(LoadICStrict), A(1, 2), U8(0), U8((wide_idx_2 += 2)), // |
- B(Star), R(0)), // |
- B(LoadICStrictWide), A(1, 2), U16(0), U16(wide_idx_2 + 2), // |
- B(Return), // |
- }, |
- 1, |
- {"name"}}, |
- { |
- "function f(a, b) {\n" |
- " var c;\n" |
- REPEAT_127(SPACE, " c = a[b]; ") |
- " return a[b]; }\n" |
- "f({name : \"test\"}, \"name\")\n", |
- 1 * kPointerSize, |
- 3, |
- 896, |
- { |
- REPEAT_127(COMMA, // |
- B(Ldar), A(2, 3), // |
- B(KeyedLoadICSloppy), A(1, 3), U8((wide_idx_3 += 2)), // |
- B(Star), R(0)), // |
- B(Ldar), A(2, 3), // |
- B(KeyedLoadICSloppyWide), A(1, 3), U16(wide_idx_3 + 2), // |
- B(Return), // |
- }}, |
- { |
- "function f(a, b) {\n" |
- " 'use strict'; var c;\n" |
- REPEAT_127(SPACE, " c = a[b]; ") |
- " return a[b]; }\n" |
- "f({name : \"test\"}, \"name\")\n", |
- 1 * kPointerSize, |
- 3, |
- 896, |
- { |
- REPEAT_127(COMMA, // |
- B(Ldar), A(2, 3), // |
- B(KeyedLoadICStrict), A(1, 3), U8((wide_idx_4 += 2)), // |
- B(Star), R(0)), // |
- B(Ldar), A(2, 3), // |
- B(KeyedLoadICStrictWide), A(1, 3), U16(wide_idx_4 + 2), // |
- B(Return), // |
- }}, |
- }; |
+ {"function f(a, b) { \"use strict\"; return a[b]; }\n" |
+ "f({arg : \"test\"}, \"arg\")", |
+ 0, |
+ 3, |
+ 6, |
+ { |
+ B(Ldar), A(2, 3), // |
+ B(KeyedLoadICStrict), A(1, 3), U8(vector->GetIndex(slot1)), // |
+ B(Return), // |
+ }, |
+ 0}, |
+ {"function f(a) {\n" |
+ " var b;\n" REPEAT_127(SPACE, " b = a.name; ") " return a.name; }\n" |
+ "f({name : \"test\"})\n", |
+ 1 * kPointerSize, |
+ 2, |
+ 767, |
+ { |
+ REPEAT_127(COMMA, // |
+ B(LoadICSloppy), A(1, 2), U8(0), |
+ U8((wide_idx_1 += 2)), // |
+ B(Star), R(0)), // |
+ B(LoadICSloppy), |
+ A(1, 2), U8(0), U8(wide_idx_1 + 2), // |
+ B(Return), // |
+ }, |
+ 1, |
+ {"name"}}, |
+ {"function f(a) {\n" |
+ " 'use strict'; var b;\n" REPEAT_127( |
+ SPACE, " b = a.name; ") " return a.name; }\n" |
+ "f({name : \"test\"})\n", |
+ 1 * kPointerSize, |
+ 2, |
+ 767, |
+ { |
+ REPEAT_127(COMMA, // |
+ B(LoadICStrict), A(1, 2), U8(0), |
+ U8((wide_idx_2 += 2)), // |
+ B(Star), R(0)), // |
+ B(LoadICStrict), |
+ A(1, 2), U8(0), U8(wide_idx_2 + 2), // |
+ B(Return), // |
+ }, |
+ 1, |
+ {"name"}}, |
+ {"function f(a, b) {\n" |
+ " var c;\n" REPEAT_127(SPACE, |
+ " c = a[b]; ") " return a[b]; }\n" |
+ "f({name : \"test\"}, \"name\")\n", |
+ 1 * kPointerSize, |
+ 3, |
+ 895, |
+ { |
+ REPEAT_127(COMMA, // |
+ B(Ldar), A(2, 3), // |
+ B(KeyedLoadICSloppy), A(1, 3), U8((wide_idx_3 += 2)), // |
+ B(Star), R(0)), // |
+ B(Ldar), |
+ A(2, 3), // |
+ B(KeyedLoadICSloppy), A(1, 3), U8(wide_idx_3 + 2), // |
+ B(Return), // |
+ }}, |
+ {"function f(a, b) {\n" |
+ " 'use strict'; var c;\n" REPEAT_127( |
+ SPACE, " c = a[b]; ") " return a[b]; }\n" |
+ "f({name : \"test\"}, \"name\")\n", |
+ 1 * kPointerSize, |
+ 3, |
+ 895, |
+ { |
+ REPEAT_127(COMMA, // |
+ B(Ldar), A(2, 3), // |
+ B(KeyedLoadICStrict), A(1, 3), U8((wide_idx_4 += 2)), // |
+ B(Star), R(0)), // |
+ B(Ldar), |
+ A(2, 3), // |
+ B(KeyedLoadICStrict), A(1, 3), U8(wide_idx_4 + 2), // |
+ B(Return), // |
+ }}, |
+ }; |
for (size_t i = 0; i < arraysize(snippets); i++) { |
Handle<BytecodeArray> bytecode_array = |
helper.MakeBytecode(snippets[i].code_snippet, helper.kFunctionName); |
@@ -1053,13 +1049,13 @@ TEST(PropertyStores) { |
2, |
12, |
{ |
- B(LdaSmi8), U8(100), // |
- B(Star), R(0), // |
- B(LdaConstant), U8(0), // |
- B(KeyedStoreICSloppy), A(1, 2), R(0), // |
- U8(vector->GetIndex(slot1)), // |
- B(LdaUndefined), // |
- B(Return), // |
+ B(LdaSmi8), U8(100), // |
+ B(Star), R(0), // |
+ B(LdaConstant), U8(0), // |
+ B(KeyedStoreICSloppy), A(1, 2), R(0), // |
+ U8(vector->GetIndex(slot1)), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}, |
1, |
{"val"}}, |
@@ -1068,11 +1064,11 @@ TEST(PropertyStores) { |
3, |
8, |
{ |
- B(LdaConstant), U8(0), // |
- B(KeyedStoreICSloppy), A(1, 3), A(2, 3), // |
- U8(vector->GetIndex(slot1)), // |
- B(LdaUndefined), // |
- B(Return), // |
+ B(LdaConstant), U8(0), // |
+ B(KeyedStoreICSloppy), A(1, 3), A(2, 3), // |
+ U8(vector->GetIndex(slot1)), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}, |
1, |
{"val"}}, |
@@ -1109,87 +1105,89 @@ TEST(PropertyStores) { |
3, |
8, |
{ |
- B(LdaConstant), U8(0), // |
- B(KeyedStoreICStrict), A(1, 3), A(2, 3), // |
- U8(vector->GetIndex(slot1)), // |
- B(LdaUndefined), // |
- B(Return), // |
+ B(LdaConstant), U8(0), // |
+ B(KeyedStoreICStrict), A(1, 3), A(2, 3), // |
+ U8(vector->GetIndex(slot1)), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}, |
1, |
{"val"}}, |
- {"function f(a) {\n" |
- REPEAT_127(SPACE, " a.name = 1; ") |
- " a.name = 2; }\n" |
- "f({name : \"test\"})\n", |
+ {"function f(a) {\n" REPEAT_127(SPACE, |
+ " a.name = 1; ") " a.name = 2; }\n" |
+ "f({name : \"test\"})\n", |
0, |
2, |
- 772, |
+ 770, |
{ |
- REPEAT_127(COMMA, // |
- B(LdaSmi8), U8(1), // |
- B(StoreICSloppy), A(1, 2), U8(0), U8((wide_idx_1 += 2))), // |
- B(LdaSmi8), U8(2), // |
- B(StoreICSloppyWide), A(1, 2), U16(0), U16(wide_idx_1 + 2), // |
- B(LdaUndefined), // |
- B(Return), // |
+ REPEAT_127(COMMA, // |
+ B(LdaSmi8), U8(1), // |
+ B(StoreICSloppy), A(1, 2), U8(0), |
+ U8((wide_idx_1 += 2))), // |
+ B(LdaSmi8), |
+ U8(2), // |
+ B(StoreICSloppy), A(1, 2), U8(0), U8(wide_idx_1 + 2), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}, |
1, |
{"name"}}, |
{"function f(a) {\n" |
- "'use strict';\n" |
- REPEAT_127(SPACE, " a.name = 1; ") |
- " a.name = 2; }\n" |
- "f({name : \"test\"})\n", |
+ "'use strict';\n" REPEAT_127(SPACE, |
+ " a.name = 1; ") " a.name = 2; }\n" |
+ "f({name : \"test\"})\n", |
0, |
2, |
- 772, |
+ 770, |
{ |
- REPEAT_127(COMMA, // |
- B(LdaSmi8), U8(1), // |
- B(StoreICStrict), A(1, 2), U8(0), U8((wide_idx_2 += 2))), // |
- B(LdaSmi8), U8(2), // |
- B(StoreICStrictWide), A(1, 2), U16(0), U16(wide_idx_2 + 2), // |
- B(LdaUndefined), // |
- B(Return), // |
+ REPEAT_127(COMMA, // |
+ B(LdaSmi8), U8(1), // |
+ B(StoreICStrict), A(1, 2), U8(0), |
+ U8((wide_idx_2 += 2))), // |
+ B(LdaSmi8), |
+ U8(2), // |
+ B(StoreICStrict), A(1, 2), U8(0), U8(wide_idx_2 + 2), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}, |
1, |
{"name"}}, |
- {"function f(a, b) {\n" |
- REPEAT_127(SPACE, " a[b] = 1; ") |
- " a[b] = 2; }\n" |
- "f({name : \"test\"})\n", |
+ {"function f(a, b) {\n" REPEAT_127( |
+ SPACE, " a[b] = 1; ") " a[b] = 2; }\n" |
+ "f({name : \"test\"})\n", |
0, |
3, |
- 771, |
- { |
- REPEAT_127(COMMA, // |
- B(LdaSmi8), U8(1), // |
- B(KeyedStoreICSloppy), A(1, 3), A(2, 3), // |
- U8((wide_idx_3 += 2))), // |
- B(LdaSmi8), U8(2), // |
- B(KeyedStoreICSloppyWide), A(1, 3), A(2, 3), // |
- U16(wide_idx_3 + 2), // |
- B(LdaUndefined), // |
- B(Return), // |
+ 770, |
+ { |
+ REPEAT_127(COMMA, // |
+ B(LdaSmi8), U8(1), // |
+ B(KeyedStoreICSloppy), A(1, 3), A(2, 3), // |
+ U8((wide_idx_3 += 2))), // |
+ B(LdaSmi8), |
+ U8(2), // |
+ B(KeyedStoreICSloppy), A(1, 3), A(2, 3), // |
+ U8(wide_idx_3 + 2), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}}, |
{"function f(a, b) {\n" |
- "'use strict';\n" |
- REPEAT_127(SPACE, " a[b] = 1; ") |
- " a[b] = 2; }\n" |
- "f({name : \"test\"})\n", |
+ "'use strict';\n" REPEAT_127(SPACE, |
+ " a[b] = 1; ") " a[b] = 2; }\n" |
+ "f({name : \"test\"})\n", |
0, |
3, |
- 771, |
- { |
- REPEAT_127(COMMA, // |
- B(LdaSmi8), U8(1), // |
- B(KeyedStoreICStrict), A(1, 3), A(2, 3), // |
- U8((wide_idx_4 += 2))), // |
- B(LdaSmi8), U8(2), // |
- B(KeyedStoreICStrictWide), A(1, 3), A(2, 3), // |
- U16(wide_idx_4 + 2), // |
- B(LdaUndefined), // |
- B(Return), // |
+ 770, |
+ { |
+ REPEAT_127(COMMA, // |
+ B(LdaSmi8), U8(1), // |
+ B(KeyedStoreICStrict), A(1, 3), A(2, 3), // |
+ U8((wide_idx_4 += 2))), // |
+ B(LdaSmi8), |
+ U8(2), // |
+ B(KeyedStoreICStrict), A(1, 3), A(2, 3), // |
+ U8(wide_idx_4 + 2), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}}}; |
for (size_t i = 0; i < arraysize(snippets); i++) { |
Handle<BytecodeArray> bytecode_array = |
@@ -1270,21 +1268,21 @@ TEST(PropertyCall) { |
}, |
1, |
{"func"}}, |
- {"function f(a) {\n" |
- REPEAT_127(SPACE, " a.func;\n") |
- " return a.func(); }\nf(" FUNC_ARG ")", |
+ {"function f(a) {\n" REPEAT_127( |
+ SPACE, " a.func;\n") " return a.func(); }\nf(" FUNC_ARG ")", |
2 * kPointerSize, |
2, |
- 528, |
+ 526, |
{ |
- REPEAT_127(COMMA, // |
- B(LoadICSloppy), A(1, 2), U8(0), U8((wide_idx += 2))), // |
- B(Ldar), A(1, 2), // |
- B(Star), R(1), // |
- B(LoadICSloppyWide), R(1), U16(0), U16(wide_idx + 4), // |
- B(Star), R(0), // |
- B(CallWide), R(0), R(1), U16(0), U16(wide_idx + 2), // |
- B(Return), // |
+ REPEAT_127(COMMA, // |
+ B(LoadICSloppy), A(1, 2), U8(0), U8((wide_idx += 2))), // |
+ B(Ldar), |
+ A(1, 2), // |
+ B(Star), R(1), // |
+ B(LoadICSloppyWide), R(1), U16(0), U16(wide_idx + 4), // |
+ B(Star), R(0), // |
+ B(Call), R(0), R(1), U8(0), U8(wide_idx + 2), // |
+ B(Return), // |
}, |
1, |
{"func"}}, |
@@ -1353,32 +1351,32 @@ TEST(LoadGlobal) { |
}, |
1, |
{"a"}}, |
- {"a = 1; function f(b) {\n" |
- REPEAT_127(SPACE, "b.name; ") |
- " return a; }\nf({name: 1});", |
+ {"a = 1; function f(b) {\n" REPEAT_127( |
+ SPACE, "b.name; ") " return a; }\nf({name: 1});", |
0, |
2, |
- 514, |
+ 512, |
{ |
- REPEAT_127(COMMA, // |
- B(LoadICSloppy), A(1, 2), U8(0), U8(wide_idx_1 += 2)), // |
- B(LdaGlobalSloppyWide), U16(1), U16(wide_idx_1 + 2), // |
- B(Return), // |
+ REPEAT_127(COMMA, // |
+ B(LoadICSloppy), A(1, 2), U8(0), U8(wide_idx_1 += 2)), // |
+ B(LdaGlobalSloppy), |
+ U8(1), U8(wide_idx_1 + 2), // |
+ B(Return), // |
}, |
2, |
{"name", "a"}}, |
{"a = 1; function f(b) {\n" |
- " 'use strict';\n" |
- REPEAT_127(SPACE, "b.name; ") |
- " return a; }\nf({name: 1});", |
+ " 'use strict';\n" REPEAT_127(SPACE, |
+ "b.name; ") " return a; }\nf({name: 1});", |
0, |
2, |
- 514, |
+ 512, |
{ |
- REPEAT_127(COMMA, // |
- B(LoadICStrict), A(1, 2), U8(0), U8(wide_idx_2 += 2)), // |
- B(LdaGlobalStrictWide), U16(1), U16(wide_idx_2 + 2), // |
- B(Return), // |
+ REPEAT_127(COMMA, // |
+ B(LoadICStrict), A(1, 2), U8(0), U8(wide_idx_2 += 2)), // |
+ B(LdaGlobalStrict), |
+ U8(1), U8(wide_idx_2 + 2), // |
+ B(Return), // |
}, |
2, |
{"name", "a"}}, |
@@ -1456,36 +1454,36 @@ TEST(StoreGlobal) { |
}, |
1, |
{"a"}}, |
- {"a = 1; function f(b) {\n" |
- REPEAT_127(SPACE, "b.name; ") |
- " a = 2; }\nf({name: 1});", |
+ {"a = 1; function f(b) {\n" REPEAT_127( |
+ SPACE, "b.name; ") " a = 2; }\nf({name: 1});", |
0, |
2, |
- 517, |
+ 515, |
{ |
- REPEAT_127(COMMA, // |
- B(LoadICSloppy), A(1, 2), U8(0), U8(wide_idx_1 += 2)), // |
- B(LdaSmi8), U8(2), // |
- B(StaGlobalSloppyWide), U16(1), U16(wide_idx_1 + 2), // |
- B(LdaUndefined), // |
- B(Return), // |
+ REPEAT_127(COMMA, // |
+ B(LoadICSloppy), A(1, 2), U8(0), U8(wide_idx_1 += 2)), // |
+ B(LdaSmi8), |
+ U8(2), // |
+ B(StaGlobalSloppy), U8(1), U8(wide_idx_1 + 2), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}, |
2, |
{"name", "a"}}, |
{"a = 1; function f(b) {\n" |
- " 'use strict';\n" |
- REPEAT_127(SPACE, "b.name; ") |
- " a = 2; }\nf({name: 1});", |
+ " 'use strict';\n" REPEAT_127(SPACE, |
+ "b.name; ") " a = 2; }\nf({name: 1});", |
0, |
2, |
- 517, |
+ 515, |
{ |
- REPEAT_127(COMMA, // |
- B(LoadICStrict), A(1, 2), U8(0), U8(wide_idx_2 += 2)), // |
- B(LdaSmi8), U8(2), // |
- B(StaGlobalStrictWide), U16(1), U16(wide_idx_2 + 2), // |
- B(LdaUndefined), // |
- B(Return), // |
+ REPEAT_127(COMMA, // |
+ B(LoadICStrict), A(1, 2), U8(0), U8(wide_idx_2 += 2)), // |
+ B(LdaSmi8), |
+ U8(2), // |
+ B(StaGlobalStrict), U8(1), U8(wide_idx_2 + 2), // |
+ B(LdaUndefined), // |
+ B(Return), // |
}, |
2, |
{"name", "a"}}, |
@@ -3399,7 +3397,7 @@ TEST(TopLevelObjectLiterals) { |
B(CreateObjectLiteral), U8(0), U8(has_function_flags), // |
B(Star), R(4), // |
B(CreateClosure), U8(4), U8(1), // |
- B(StoreICSloppy), R(4), U8(3), U8(5), // |
+ B(StoreICSloppy), R(4), U8(3), U8(3), // |
B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), // |
B(Ldar), R(4), // |
B(Star), R(3), // |