summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/regress/regress-crbug-890243.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/regress/regress-crbug-890243.js')
-rw-r--r--deps/v8/test/mjsunit/regress/regress-crbug-890243.js21
1 files changed, 13 insertions, 8 deletions
diff --git a/deps/v8/test/mjsunit/regress/regress-crbug-890243.js b/deps/v8/test/mjsunit/regress/regress-crbug-890243.js
index 0d889b2787..e6a9ebca89 100644
--- a/deps/v8/test/mjsunit/regress/regress-crbug-890243.js
+++ b/deps/v8/test/mjsunit/regress/regress-crbug-890243.js
@@ -5,23 +5,28 @@
// Flags: --allow-natives-syntax
// We need a SpeculativeNumberAdd with Number feedback.
-function bar(x) { return x + x; }
+function bar(x) {
+ return x + x;
+}
bar(0.1);
// We also need an indirection via an object field such
// that only after escape analysis TurboFan can figure
// out that the value `y` is actually a Number in the
// safe integer range.
-function baz(y) { return {y}; }
-baz(null); baz(0);
+function baz(y) {
+ return {y};
+}
+baz(null);
+baz(0);
// Now we can put all of that together to get a kRepBit
// use of a kWord64 value (on 64-bit architectures).
function foo(o) {
return !baz(bar(o.x)).y;
-}
-
-assertFalse(foo({x:1}));
-assertFalse(foo({x:1}));
+};
+%PrepareFunctionForOptimization(foo);
+assertFalse(foo({x: 1}));
+assertFalse(foo({x: 1}));
%OptimizeFunctionOnNextCall(foo);
-assertFalse(foo({x:1}));
+assertFalse(foo({x: 1}));