diff options
author | Michaël Zasso <targos@protonmail.com> | 2021-02-11 19:03:35 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2021-02-11 19:09:18 +0100 |
commit | c7b329225126ad3b9eeb2408e0f0801f1aea5eb1 (patch) | |
tree | 193c193111d5f302031ad345bc94d17a3f67bf66 /deps/v8/test/mjsunit/tools | |
parent | 6ea9af9906cd74ed07ca05cf6aa44382025a6044 (diff) | |
download | node-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.mjs | 47 | ||||
-rw-r--r-- | deps/v8/test/mjsunit/tools/log_two_byte.js | 3 | ||||
-rw-r--r-- | deps/v8/test/mjsunit/tools/processor.mjs | 56 | ||||
-rw-r--r-- | deps/v8/test/mjsunit/tools/timeline.mjs | 24 |
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); |