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

Function testRemove

deps/v8/test/mjsunit/array-methods-read-only-length.js:57–103  ·  view source on GitHub ↗
(a, mode)

Source from the content-addressed store, hash-verified

55testAdd("normalized");
56
57function testRemove(a, mode) {
58 Object.defineProperty(a, "length", { writable : false});
59
60 function check(f) {
61 assertThrows(function() { f(a) }, TypeError);
62 assertEquals(3, a.length);
63 }
64
65 if (mode == "fast properties") %ToFastProperties(a);
66
67 function pop(a) {
68 a.pop();
69 }
70
71 %PrepareFunctionForOptimization(pop);
72 check(pop);
73 check(pop);
74 check(pop);
75 %OptimizeFunctionOnNextCall(pop);
76 check(pop);
77
78 function shift(a) {
79 a.shift();
80 }
81
82 %PrepareFunctionForOptimization(shift);
83 check(shift);
84 check(shift);
85 check(shift);
86 %OptimizeFunctionOnNextCall(shift);
87 check(shift);
88
89 function splice(a) {
90 a.splice(0, 1);
91 }
92
93 %PrepareFunctionForOptimization(splice);
94 check(splice);
95 check(splice);
96 check(splice);
97 %OptimizeFunctionOnNextCall(splice);
98 check(splice);
99
100 %ClearFunctionFeedback(pop);
101 %ClearFunctionFeedback(shift);
102 %ClearFunctionFeedback(splice);
103}
104
105for (var i = 0; i < 3; i++) {
106 var a = [1, 2, 3];

Calls 4

popMethod · 0.80
checkFunction · 0.70
definePropertyMethod · 0.45
shiftMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…