MCPcopy Index your code
hub / github.com/nodejs/node / test

Function test

deps/v8/test/mjsunit/migrations.js:10–80  ·  view source on GitHub ↗
(ctor_desc, use_desc, migr_desc)

Source from the content-addressed store, hash-verified

8var verbose = 0;
9
10function test(ctor_desc, use_desc, migr_desc) {
11 var n = 5;
12 var objects = [];
13 var results = [];
14
15 if (verbose) {
16 print();
17 print("===========================================================");
18 print("=== " + ctor_desc.name +
19 " | " + use_desc.name + " |--> " + migr_desc.name);
20 print("===========================================================");
21 }
22
23 // Clean ICs and transitions.
24 %NotifyContextDisposed();
25 gc(); gc(); gc();
26
27
28 // create objects
29 if (verbose) {
30 print("-----------------------------");
31 print("--- construct");
32 print();
33 }
34 for (var i = 0; i < n; i++) {
35 objects[i] = ctor_desc.ctor.apply(ctor_desc, ctor_desc.args(i));
36 }
37
38 try {
39 // use them
40 if (verbose) {
41 print("-----------------------------");
42 print("--- use 1");
43 print();
44 }
45 var use = use_desc.use1;
46 for (var i = 0; i < n; i++) {
47 if (i == 3) %OptimizeFunctionOnNextCall(use);
48 results[i] = use(objects[i], i);
49 }
50
51 // trigger migrations
52 if (verbose) {
53 print("-----------------------------");
54 print("--- trigger migration");
55 print();
56 }
57 var migr = migr_desc.migr;
58 for (var i = 0; i < n; i++) {
59 if (i == 3) %OptimizeFunctionOnNextCall(migr);
60 migr(objects[i], i);
61 }
62
63 // use again
64 if (verbose) {
65 print("-----------------------------");
66 print("--- use 2");
67 print();

Callers 1

migrations.jsFile · 0.70

Calls 4

useFunction · 0.85
printFunction · 0.50
gcFunction · 0.50
applyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…