summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-07-25 19:30:07 +0200
committerMichaël Zasso <targos@protonmail.com>2018-07-26 08:31:50 +0200
commit6a31d05340b22fc413ee83eaacd0a5565bbbe799 (patch)
tree78f9e1c2f417244842f6422f17e1816e70317100 /deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
parent4d94bb2b1f72b6b612983a517a39c5545724a3ad (diff)
downloadnode-new-6a31d05340b22fc413ee83eaacd0a5565bbbe799.tar.gz
deps: update V8 to 6.8.275.24
PR-URL: https://github.com/nodejs/node/pull/21079 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org>
Diffstat (limited to 'deps/v8/test/cctest/interpreter/test-bytecode-generator.cc')
-rw-r--r--deps/v8/test/cctest/interpreter/test-bytecode-generator.cc61
1 files changed, 44 insertions, 17 deletions
diff --git a/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc b/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
index 093a678c22..561d163a69 100644
--- a/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
+++ b/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
@@ -23,6 +23,8 @@ namespace interpreter {
#define UNIQUE_VAR() "var a" STR(__COUNTER__) " = 0;\n"
+#define LOAD_UNIQUE_PROPERTY() " b.name" STR(__COUNTER__) ";\n"
+
#define REPEAT_2(...) __VA_ARGS__ __VA_ARGS__
#define REPEAT_4(...) REPEAT_2(__VA_ARGS__) REPEAT_2(__VA_ARGS__)
#define REPEAT_8(...) REPEAT_4(__VA_ARGS__) REPEAT_4(__VA_ARGS__)
@@ -66,6 +68,21 @@ namespace interpreter {
UNIQUE_VAR() \
UNIQUE_VAR()
+#define REPEAT_2_LOAD_UNIQUE_PROPERTY() \
+ LOAD_UNIQUE_PROPERTY() LOAD_UNIQUE_PROPERTY()
+#define REPEAT_4_LOAD_UNIQUE_PROPERTY() \
+ REPEAT_2_LOAD_UNIQUE_PROPERTY() REPEAT_2_LOAD_UNIQUE_PROPERTY()
+#define REPEAT_8_LOAD_UNIQUE_PROPERTY() \
+ REPEAT_4_LOAD_UNIQUE_PROPERTY() REPEAT_4_LOAD_UNIQUE_PROPERTY()
+#define REPEAT_16_LOAD_UNIQUE_PROPERTY() \
+ REPEAT_8_LOAD_UNIQUE_PROPERTY() REPEAT_8_LOAD_UNIQUE_PROPERTY()
+#define REPEAT_32_LOAD_UNIQUE_PROPERTY() \
+ REPEAT_16_LOAD_UNIQUE_PROPERTY() REPEAT_16_LOAD_UNIQUE_PROPERTY()
+#define REPEAT_64_LOAD_UNIQUE_PROPERTY() \
+ REPEAT_32_LOAD_UNIQUE_PROPERTY() REPEAT_32_LOAD_UNIQUE_PROPERTY()
+#define REPEAT_128_LOAD_UNIQUE_PROPERTY() \
+ REPEAT_64_LOAD_UNIQUE_PROPERTY() REPEAT_64_LOAD_UNIQUE_PROPERTY()
+
static const char* kGoldenFileDirectory =
"test/cctest/interpreter/bytecode_expectations/";
@@ -375,9 +392,8 @@ TEST(PropertyLoads) {
"f({\"-124\" : \"test\", name : 123 })",
"function f(a) {\n"
- " var b;\n"
- " b = a.name;\n"
- REPEAT_127(" b = a.name;\n")
+ " var b = {};\n"
+ REPEAT_128_LOAD_UNIQUE_PROPERTY()
" return a.name;\n"
"}\n"
"f({name : \"test\"})\n",
@@ -425,7 +441,8 @@ TEST(PropertyStores) {
"function f(a) {\n"
" a.name = 1;\n"
- REPEAT_127(" a.name = 1;\n")
+ " var b = {};\n"
+ REPEAT_128_LOAD_UNIQUE_PROPERTY()
" a.name = 2;\n"
"}\n"
"f({name : \"test\"})\n",
@@ -433,7 +450,8 @@ TEST(PropertyStores) {
"function f(a) {\n"
" 'use strict';\n"
" a.name = 1;\n"
- REPEAT_127(" a.name = 1;\n")
+ " var b = {};\n"
+ REPEAT_128_LOAD_UNIQUE_PROPERTY()
" a.name = 2;\n"
"}\n"
"f({name : \"test\"})\n",
@@ -477,9 +495,10 @@ TEST(PropertyCall) {
"f(" FUNC_ARG ", 1)",
"function f(a) {\n"
- " a.func;\n" //
- REPEAT_127(" a.func;\n") //
- " return a.func(); }\n"
+ " var b = {};\n"
+ REPEAT_128_LOAD_UNIQUE_PROPERTY()
+ " a.func;\n" //
+ " return a.func(); }\n"
"f(" FUNC_ARG ")",
"function f(a) { return a.func(1).func(2).func(3); }\n"
@@ -510,9 +529,9 @@ TEST(LoadGlobal) {
"f()",
"a = 1;\n"
- "function f(b) {\n"
- " b.name;\n"
- REPEAT_127(" b.name;\n")
+ "function f(c) {\n"
+ " var b = {};\n"
+ REPEAT_128_LOAD_UNIQUE_PROPERTY()
" return a;\n"
"}\n"
"f({name: 1});\n",
@@ -545,18 +564,18 @@ TEST(StoreGlobal) {
"f();\n",
"a = 1;\n"
- "function f(b) {\n"
- " b.name;\n"
- REPEAT_127(" b.name;\n")
+ "function f(c) {\n"
+ " var b = {};\n"
+ REPEAT_128_LOAD_UNIQUE_PROPERTY()
" a = 2;\n"
"}\n"
"f({name: 1});\n",
"a = 1;\n"
- "function f(b) {\n"
+ "function f(c) {\n"
" 'use strict';\n"
- " b.name;\n"
- REPEAT_127(" b.name;\n")
+ " var b = {};\n"
+ REPEAT_128_LOAD_UNIQUE_PROPERTY()
" a = 2;\n"
"}\n"
"f({name: 1});\n",
@@ -2803,6 +2822,14 @@ TEST(TemplateLiterals) {
#undef REPEAT_64_UNIQUE_VARS
#undef REPEAT_128_UNIQUE_VARS
#undef REPEAT_250_UNIQUE_VARS
+#undef LOAD_UNIQUE_PROPERTY
+#undef REPEAT_2_LOAD_UNIQUE_PROPERTY
+#undef REPEAT_4_LOAD_UNIQUE_PROPERTY
+#undef REPEAT_8_LOAD_UNIQUE_PROPERTY
+#undef REPEAT_16_LOAD_UNIQUE_PROPERTY
+#undef REPEAT_32_LOAD_UNIQUE_PROPERTY
+#undef REPEAT_64_LOAD_UNIQUE_PROPERTY
+#undef REPEAT_128_LOAD_UNIQUE_PROPERTY
#undef FUNC_ARG
} // namespace interpreter