summaryrefslogtreecommitdiff
path: root/deps/v8/test/js-perf-test
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/js-perf-test')
-rw-r--r--deps/v8/test/js-perf-test/BytecodeHandlers/LdaGlobal.js60
-rw-r--r--deps/v8/test/js-perf-test/JSTests3.json11
2 files changed, 71 insertions, 0 deletions
diff --git a/deps/v8/test/js-perf-test/BytecodeHandlers/LdaGlobal.js b/deps/v8/test/js-perf-test/BytecodeHandlers/LdaGlobal.js
new file mode 100644
index 0000000000..a986f5f18f
--- /dev/null
+++ b/deps/v8/test/js-perf-test/BytecodeHandlers/LdaGlobal.js
@@ -0,0 +1,60 @@
+// Copyright 2019 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function addBenchmark(name, test) {
+ new BenchmarkSuite(name, [1000],
+ [
+ new Benchmark(name, false, false, 0, test)
+ ]);
+}
+
+addBenchmark('LoadGlobal', ldaGlobal);
+addBenchmark('LoadGlobalInsideTypeof', ldaGlobalInsideTypeof);
+
+var g_var = 10;
+
+function ldaGlobal() {
+ for (var i = 0; i < 1000; ++i) {
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var; g_var;
+ }
+}
+
+function ldaGlobalInsideTypeof() {
+ for (var i = 0; i < 1000; ++i) {
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ typeof(g_var); typeof(g_var); typeof(g_var); typeof(g_var);
+ }
+}
diff --git a/deps/v8/test/js-perf-test/JSTests3.json b/deps/v8/test/js-perf-test/JSTests3.json
index 598e9fc6d1..e2b669614c 100644
--- a/deps/v8/test/js-perf-test/JSTests3.json
+++ b/deps/v8/test/js-perf-test/JSTests3.json
@@ -371,6 +371,17 @@
{"name": "Object-Lookup-Index-Number"},
{"name": "Object-Lookup-Index-String"}
]
+ },
+ {
+ "name": "LdaGlobal",
+ "main": "run.js",
+ "resources": [ "LdaGlobal.js" ],
+ "test_flags": [ "LdaGlobal" ],
+ "results_regexp": "^%s\\-BytecodeHandler\\(Score\\): (.+)$",
+ "tests": [
+ {"name": "LoadGlobal"},
+ {"name": "LoadGlobalInsideTypeof"}
+ ]
}
]
},