aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/optimized-array-find.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/optimized-array-find.js')
-rw-r--r--deps/v8/test/mjsunit/optimized-array-find.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/optimized-array-find.js b/deps/v8/test/mjsunit/optimized-array-find.js
index abcd2cf704..b8f3baa28c 100644
--- a/deps/v8/test/mjsunit/optimized-array-find.js
+++ b/deps/v8/test/mjsunit/optimized-array-find.js
@@ -20,6 +20,7 @@
return v === 20;
});
}
+ %PrepareFunctionForOptimization(eagerDeoptInCalled);
eagerDeoptInCalled();
eagerDeoptInCalled();
%OptimizeFunctionOnNextCall(eagerDeoptInCalled);
@@ -41,6 +42,7 @@
return v === 9;
});
}
+ %PrepareFunctionForOptimization(eagerDeoptInCalled);
assertEquals(9, eagerDeoptInCalled());
assertArrayEquals([1, 2, 3, 4, 5, 6, 7, 8, 9], called_values);
eagerDeoptInCalled();
@@ -65,6 +67,7 @@
return v > 3;
});
}
+ %PrepareFunctionForOptimization(lazyChanger);
assertEquals(4, lazyChanger());
lazyChanger();
%OptimizeFunctionOnNextCall(lazyChanger);
@@ -84,6 +87,7 @@
return false;
});
}
+ %PrepareFunctionForOptimization(lazyChanger);
assertEquals(undefined, lazyChanger());
lazyChanger();
%OptimizeFunctionOnNextCall(lazyChanger);
@@ -104,6 +108,7 @@
return v > 3;
});
}
+ %PrepareFunctionForOptimization(lazyChanger);
assertEquals(4, lazyChanger());
lazyChanger();
%OptimizeFunctionOnNextCall(lazyChanger);
@@ -124,6 +129,7 @@
return false;
});
}
+ %PrepareFunctionForOptimization(eagerDeoptInCalled);
eagerDeoptInCalled();
eagerDeoptInCalled();
%OptimizeFunctionOnNextCall(eagerDeoptInCalled);
@@ -147,6 +153,7 @@
return false;
});
}
+ %PrepareFunctionForOptimization(lazyDeopt);
lazyDeopt();
lazyDeopt();
%OptimizeFunctionOnNextCall(lazyDeopt);
@@ -172,6 +179,7 @@
%NeverOptimizeFunction(callback);
a.find(callback);
}
+ %PrepareFunctionForOptimization(lazyDeopt);
lazyDeopt();
lazyDeopt();
%OptimizeFunctionOnNextCall(lazyDeopt);
@@ -199,6 +207,7 @@
caught = true;
}
}
+ %PrepareFunctionForOptimization(lazyDeopt);
lazyDeopt();
lazyDeopt();
%OptimizeFunctionOnNextCall(lazyDeopt);
@@ -227,6 +236,7 @@
caught = true;
}
}
+ %PrepareFunctionForOptimization(lazyDeopt);
lazyDeopt();
lazyDeopt();
%OptimizeFunctionOnNextCall(lazyDeopt);
@@ -258,6 +268,7 @@
}
return result;
}
+ %PrepareFunctionForOptimization(lazyDeopt);
assertEquals(3, lazyDeopt(false));
assertEquals(3, lazyDeopt(false));
assertEquals("nope", lazyDeopt(true));
@@ -283,6 +294,7 @@
return false;
});
}
+ %PrepareFunctionForOptimization(lazyDeopt);
lazyDeopt();
lazyDeopt();
%OptimizeFunctionOnNextCall(lazyDeopt);
@@ -310,6 +322,7 @@
b.find(callback);
return did_assert_error;
}
+ %PrepareFunctionForOptimization(lazyDeopt);
lazyDeopt();
lazyDeopt();
%OptimizeFunctionOnNextCall(lazyDeopt);
@@ -337,6 +350,7 @@
});
return did_assert_error;
}
+ %PrepareFunctionForOptimization(lazyDeopt);
lazyDeopt();
lazyDeopt();
%OptimizeFunctionOnNextCall(lazyDeopt);
@@ -360,6 +374,7 @@
return false;
});
}
+ %PrepareFunctionForOptimization(lazyDeopt);
assertThrows(() => lazyDeopt());
assertThrows(() => lazyDeopt());
try {
@@ -385,6 +400,7 @@
return false;
});
}
+ %PrepareFunctionForOptimization(prototypeChanged);
prototypeChanged();
prototypeChanged();
%OptimizeFunctionOnNextCall(prototypeChanged);
@@ -406,6 +422,7 @@
});
return callback_values;
}
+ %PrepareFunctionForOptimization(withHoles);
withHoles();
withHoles();
%OptimizeFunctionOnNextCall(withHoles);
@@ -422,6 +439,7 @@
});
return callback_values;
}
+ %PrepareFunctionForOptimization(withHoles);
withHoles();
withHoles();
%OptimizeFunctionOnNextCall(withHoles);
@@ -436,6 +454,7 @@
function unreliable(a, b) {
return a.find(x => false, side_effect(a, b));
}
+ %PrepareFunctionForOptimization(unreliable);
let a = [1, 2, 3];
unreliable(a, false);
@@ -452,6 +471,7 @@
function notCallable() {
return a.find(undefined);
}
+ %PrepareFunctionForOptimization(notCallable);
assertThrows(notCallable, TypeError);
try { notCallable(); } catch(e) { }