Add js-perf-test for ES6 class default constructor
authorarv <arv@chromium.org>
Thu, 4 Dec 2014 20:12:03 +0000 (12:12 -0800)
committerCommit bot <commit-bot@chromium.org>
Thu, 4 Dec 2014 20:12:14 +0000 (20:12 +0000)
BUG=v8:3330
LOG=N
TBR=dslomov@chromium.org

Review URL: https://codereview.chromium.org/754523004

Cr-Commit-Position: refs/heads/master@{#25669}

test/js-perf-test/Classes/Classes.json
test/js-perf-test/Classes/default-constructor.js [new file with mode: 0644]
test/js-perf-test/Classes/run.js

index dfed617..fde8732 100644 (file)
@@ -8,6 +8,7 @@
   "results_regexp": "^%s\\-Classes\\(Score\\): (.+)$",
   "total": true,
   "tests": [
-    {"name": "Super"}
+    {"name": "Super"},
+    {"name": "DefaultConstructor"}
   ]
 }
diff --git a/test/js-perf-test/Classes/default-constructor.js b/test/js-perf-test/Classes/default-constructor.js
new file mode 100644 (file)
index 0000000..49dcaa6
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright 2014 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.
+'use strict';
+
+var DefaultConstructorBenchmark = new BenchmarkSuite('DefaultConstructor',
+    [100], [
+      new Benchmark('NoSuperClass', false, false, 0, NoSuperClass),
+      new Benchmark('WithSuperClass', false, false, 0, WithSuperClass),
+      new Benchmark('WithSuperClassArguments', false, false, 0,
+                    WithSuperClassArguments),
+    ]);
+
+
+class BaseClass {}
+
+
+class DerivedClass extends BaseClass {}
+
+
+function NoSuperClass() {
+  return new BaseClass();
+}
+
+
+function WithSuperClass() {
+  return new DerivedClass();
+}
+
+
+function WithSuperClassArguments() {
+  return new DerivedClass(0, 1, 2, 3, 4);
+}
index bb3921f..5d48b32 100644 (file)
@@ -5,6 +5,7 @@
 
 load('../base.js');
 load('super.js');
+load('default-constructor.js');
 
 
 var success = true;