summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/tools
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2021-02-11 19:03:35 +0100
committerMichaël Zasso <targos@protonmail.com>2021-02-11 19:09:18 +0100
commitc7b329225126ad3b9eeb2408e0f0801f1aea5eb1 (patch)
tree193c193111d5f302031ad345bc94d17a3f67bf66 /deps/v8/test/mjsunit/tools
parent6ea9af9906cd74ed07ca05cf6aa44382025a6044 (diff)
downloadnode-new-c7b329225126ad3b9eeb2408e0f0801f1aea5eb1.tar.gz
deps: update V8 to 8.8.278.17
PR-URL: https://github.com/nodejs/node/pull/36139 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Diffstat (limited to 'deps/v8/test/mjsunit/tools')
-rw-r--r--deps/v8/test/mjsunit/tools/codemap.mjs47
-rw-r--r--deps/v8/test/mjsunit/tools/log_two_byte.js3
-rw-r--r--deps/v8/test/mjsunit/tools/processor.mjs56
-rw-r--r--deps/v8/test/mjsunit/tools/timeline.mjs24
4 files changed, 89 insertions, 41 deletions
diff --git a/deps/v8/test/mjsunit/tools/codemap.mjs b/deps/v8/test/mjsunit/tools/codemap.mjs
index f1150fe364..e70e6a0980 100644
--- a/deps/v8/test/mjsunit/tools/codemap.mjs
+++ b/deps/v8/test/mjsunit/tools/codemap.mjs
@@ -25,12 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-import { CodeMap } from "../../../tools/codemap.mjs";
-
-function newCodeEntry(size, name) {
- return new CodeMap.CodeEntry(size, name);
-};
-
+import { CodeMap, CodeEntry } from "../../../tools/codemap.mjs";
function assertEntry(codeMap, expected_name, addr) {
var entry = codeMap.findEntry(addr);
@@ -46,9 +41,9 @@ function assertNoEntry(codeMap, addr) {
(function testLibrariesAndStaticCode() {
var codeMap = new CodeMap();
- codeMap.addLibrary(0x1500, newCodeEntry(0x3000, 'lib1'));
- codeMap.addLibrary(0x15500, newCodeEntry(0x5000, 'lib2'));
- codeMap.addLibrary(0x155500, newCodeEntry(0x10000, 'lib3'));
+ codeMap.addLibrary(0x1500, new CodeEntry(0x3000, 'lib1'));
+ codeMap.addLibrary(0x15500, new CodeEntry(0x5000, 'lib2'));
+ codeMap.addLibrary(0x155500, new CodeEntry(0x10000, 'lib3'));
assertNoEntry(codeMap, 0);
assertNoEntry(codeMap, 0x1500 - 1);
assertEntry(codeMap, 'lib1', 0x1500);
@@ -70,9 +65,9 @@ function assertNoEntry(codeMap, addr) {
assertNoEntry(codeMap, 0x155500 + 0x10000);
assertNoEntry(codeMap, 0xFFFFFFFF);
- codeMap.addStaticCode(0x1510, newCodeEntry(0x30, 'lib1-f1'));
- codeMap.addStaticCode(0x1600, newCodeEntry(0x50, 'lib1-f2'));
- codeMap.addStaticCode(0x15520, newCodeEntry(0x100, 'lib2-f1'));
+ codeMap.addStaticCode(0x1510, new CodeEntry(0x30, 'lib1-f1'));
+ codeMap.addStaticCode(0x1600, new CodeEntry(0x50, 'lib1-f2'));
+ codeMap.addStaticCode(0x15520, new CodeEntry(0x100, 'lib2-f1'));
assertEntry(codeMap, 'lib1', 0x1500);
assertEntry(codeMap, 'lib1', 0x1510 - 1);
assertEntry(codeMap, 'lib1-f1', 0x1510);
@@ -96,10 +91,10 @@ function assertNoEntry(codeMap, addr) {
(function testDynamicCode() {
var codeMap = new CodeMap();
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code1'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code2'));
- codeMap.addCode(0x1900, newCodeEntry(0x50, 'code3'));
- codeMap.addCode(0x1950, newCodeEntry(0x10, 'code4'));
+ codeMap.addCode(0x1500, new CodeEntry(0x200, 'code1'));
+ codeMap.addCode(0x1700, new CodeEntry(0x100, 'code2'));
+ codeMap.addCode(0x1900, new CodeEntry(0x50, 'code3'));
+ codeMap.addCode(0x1950, new CodeEntry(0x10, 'code4'));
assertNoEntry(codeMap, 0);
assertNoEntry(codeMap, 0x1500 - 1);
assertEntry(codeMap, 'code1', 0x1500);
@@ -122,8 +117,8 @@ function assertNoEntry(codeMap, addr) {
(function testCodeMovesAndDeletions() {
var codeMap = new CodeMap();
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code1'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code2'));
+ codeMap.addCode(0x1500, new CodeEntry(0x200, 'code1'));
+ codeMap.addCode(0x1700, new CodeEntry(0x100, 'code2'));
assertEntry(codeMap, 'code1', 0x1500);
assertEntry(codeMap, 'code2', 0x1700);
codeMap.moveCode(0x1500, 0x1800);
@@ -139,8 +134,8 @@ function assertNoEntry(codeMap, addr) {
(function testDynamicNamesDuplicates() {
var codeMap = new CodeMap();
// Code entries with same names but different addresses.
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code'));
+ codeMap.addCode(0x1500, new CodeEntry(0x200, 'code'));
+ codeMap.addCode(0x1700, new CodeEntry(0x100, 'code'));
assertEntry(codeMap, 'code', 0x1500);
assertEntry(codeMap, 'code {1}', 0x1700);
// Test name stability.
@@ -151,9 +146,9 @@ function assertNoEntry(codeMap, addr) {
(function testStaticEntriesExport() {
var codeMap = new CodeMap();
- codeMap.addStaticCode(0x1500, newCodeEntry(0x3000, 'lib1'));
- codeMap.addStaticCode(0x15500, newCodeEntry(0x5000, 'lib2'));
- codeMap.addStaticCode(0x155500, newCodeEntry(0x10000, 'lib3'));
+ codeMap.addStaticCode(0x1500, new CodeEntry(0x3000, 'lib1'));
+ codeMap.addStaticCode(0x15500, new CodeEntry(0x5000, 'lib2'));
+ codeMap.addStaticCode(0x155500, new CodeEntry(0x10000, 'lib3'));
var allStatics = codeMap.getAllStaticEntries();
allStatics = allStatics.map(String);
allStatics.sort();
@@ -163,9 +158,9 @@ function assertNoEntry(codeMap, addr) {
(function testDynamicEntriesExport() {
var codeMap = new CodeMap();
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code1'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code2'));
- codeMap.addCode(0x1900, newCodeEntry(0x50, 'code3'));
+ codeMap.addCode(0x1500, new CodeEntry(0x200, 'code1'));
+ codeMap.addCode(0x1700, new CodeEntry(0x100, 'code2'));
+ codeMap.addCode(0x1900, new CodeEntry(0x50, 'code3'));
var allDynamics = codeMap.getAllDynamicEntries();
allDynamics = allDynamics.map(String);
allDynamics.sort();
diff --git a/deps/v8/test/mjsunit/tools/log_two_byte.js b/deps/v8/test/mjsunit/tools/log_two_byte.js
index 5e6f89fe16..e181b88cd2 100644
--- a/deps/v8/test/mjsunit/tools/log_two_byte.js
+++ b/deps/v8/test/mjsunit/tools/log_two_byte.js
@@ -20,9 +20,6 @@ function testFunctionWithFunnyName(o) {
for (let i = 0; i < 1000; i++) {
result += o[twoByteName](object);
}
- console.log(result);
- console.log(twoByteName);
-
})();
var __v_3 = {};
diff --git a/deps/v8/test/mjsunit/tools/processor.mjs b/deps/v8/test/mjsunit/tools/processor.mjs
new file mode 100644
index 0000000000..04e7684e3d
--- /dev/null
+++ b/deps/v8/test/mjsunit/tools/processor.mjs
@@ -0,0 +1,56 @@
+// Copyright 2020 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.
+
+// Flags: --logfile='+' --log --trace-maps --trace-ic --log-code
+// Flags: --log-function-events --no-stress-opt
+
+import { Processor } from "../../../tools/system-analyzer/processor.mjs";
+
+// log code start
+function doWork() {
+ let array = [];
+ for (let i = 0; i < 500; i++) {
+ doWorkStep(i, array);
+ }
+ let sum = 0;
+ for (let i = 0; i < 500; i++) {
+ sum += array[i]["property" + i];
+ }
+ return sum;
+}
+
+function doWorkStep(i, array) {
+ const obj = {
+ ["property" + i]: i,
+ };
+ array.push(obj);
+ obj.custom1 = 1;
+ obj.custom2 = 2;
+}
+
+const result = doWork();
+ // log code end
+
+const logString = d8.log.getAndStop();
+const processor = new Processor();
+processor.processString(logString);
+
+const maps = processor.mapTimeline;
+const ics = processor.icTimeline;
+const scripts = processor.scripts;
+
+(function testResults() {
+ assertEquals(result, 124750);
+ assertTrue(maps.length > 0);
+ assertTrue(ics.length > 0);
+ assertTrue(scripts.length > 0);
+})();
+
+(function testIcKeys() {
+ const keys = new Set();
+ ics.forEach(ic => keys.add(ic.key));
+ assertTrue(keys.has("custom1"));
+ assertTrue(keys.has("custom2"));
+ assertTrue(keys.has("push"));
+})();
diff --git a/deps/v8/test/mjsunit/tools/timeline.mjs b/deps/v8/test/mjsunit/tools/timeline.mjs
index 07fd605992..5d3eca92d6 100644
--- a/deps/v8/test/mjsunit/tools/timeline.mjs
+++ b/deps/v8/test/mjsunit/tools/timeline.mjs
@@ -3,7 +3,7 @@
// found in the LICENSE file.
import { Timeline } from "../../../tools/system-analyzer/timeline.mjs";
-import { Event } from "../../../tools/system-analyzer/log/log.mjs";
+import { LogEntry} from "../../../tools/system-analyzer/log/log.mjs";
(function testTimeline() {
@@ -11,20 +11,20 @@ import { Event } from "../../../tools/system-analyzer/log/log.mjs";
let id1 = "0x3e7e082470cd";
let id2 = "0x3e7e082470ad";
let time = 12;
- let event1 = new Event(id1, time);
- let event2 = new Event(id1, time + 1);
- let event3 = new Event(id1, time + 2);
- let event4 = new Event(id1, time + 3);
- let event5 = new Event(id2, time + 3);
- timeline.push(event1);
- timeline.push(event2);
- timeline.push(event3);
- timeline.push(event4);
- timeline.push(event5);
+ let entry1 = new LogEntry(id1, time);
+ let entry2 = new LogEntry(id1, time + 1);
+ let entry3 = new LogEntry(id1, time + 2);
+ let entry4 = new LogEntry(id1, time + 3);
+ let entry5 = new LogEntry(id2, time + 3);
+ timeline.push(entry1);
+ timeline.push(entry2);
+ timeline.push(entry3);
+ timeline.push(entry4);
+ timeline.push(entry5);
let startTime = time;
let endTime = time + 2;
timeline.selectTimeRange(startTime, endTime);
- assertArrayEquals(timeline.selection, [event1, event2, event3]);
+ assertArrayEquals(timeline.selection, [entry1, entry2, entry3]);
let entryIdx = timeline.find(time + 1);
let entry = timeline.at(entryIdx);
assertEquals(entry.time, time + 1);