OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 function ObjectWithKeys(count, keyOffset = 0, keyGen) { | 5 function ObjectWithKeys(count, keyOffset = 0, keyGen) { |
6 var body = ""; | 6 var body = ""; |
7 for (var i = 0; i < count; i++) { | 7 for (var i = 0; i < count; i++) { |
8 var key = keyGen(i + keyOffset); | 8 var key = keyGen(i + keyOffset); |
9 if (typeof key === "string") { | 9 if (typeof key === "string") { |
10 body += `this.${key} = 0\n`; | 10 body += `this.${key} = 0\n`; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 var array = new Array(size); | 64 var array = new Array(size); |
65 for (var i = 0; i < size; i++) { | 65 for (var i = 0; i < size; i++) { |
66 array[i] = i; | 66 array[i] = i; |
67 } | 67 } |
68 return array; | 68 return array; |
69 } | 69 } |
70 | 70 |
71 // Switch object's properties and elements to dictionary mode. | 71 // Switch object's properties and elements to dictionary mode. |
72 function MakeDictionaryMode(obj) { | 72 function MakeDictionaryMode(obj) { |
73 obj.foo = 0; | 73 obj.foo = 0; |
| 74 obj.bar = 0; |
| 75 // Delete the second-to-last property first to force normalization. |
74 delete obj.foo; | 76 delete obj.foo; |
| 77 delete obj.bar; |
75 obj[1e9] = 0; | 78 obj[1e9] = 0; |
76 return obj; | 79 return obj; |
77 } | 80 } |
78 | 81 |
79 function Internalize(s) { | 82 function Internalize(s) { |
80 return Object.keys({[s]:0})[0]; | 83 return Object.keys({[s]:0})[0]; |
81 } | 84 } |
82 | 85 |
83 function Deinternalize(s) { | 86 function Deinternalize(s) { |
84 return [...s].join(""); | 87 return [...s].join(""); |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 } | 268 } |
266 var run_function = CombineTestFunctions(tests); | 269 var run_function = CombineTestFunctions(tests); |
267 var benchmark = new Benchmark(name, false, false, 0, run_function); | 270 var benchmark = new Benchmark(name, false, false, 0, run_function); |
268 benchmarks.push(benchmark); | 271 benchmarks.push(benchmark); |
269 } | 272 } |
270 Benchmarks.push(new BenchmarkSuite(suit_name, [100], benchmarks)); | 273 Benchmarks.push(new BenchmarkSuite(suit_name, [100], benchmarks)); |
271 } | 274 } |
272 } | 275 } |
273 | 276 |
274 // ============================================================================ | 277 // ============================================================================ |
OLD | NEW |