Index: test/mjsunit/regress/regress-234101.js |
diff --git a/test/mjsunit/regress/regress-2499.js b/test/mjsunit/regress/regress-234101.js |
similarity index 80% |
copy from test/mjsunit/regress/regress-2499.js |
copy to test/mjsunit/regress/regress-234101.js |
index 52aad874db6fcdc89f5ee1ae4db45304e64b0e77..74228dfabe532efdce2d2cd31736959eaff4349b 100644 |
--- a/test/mjsunit/regress/regress-2499.js |
+++ b/test/mjsunit/regress/regress-234101.js |
@@ -27,14 +27,16 @@ |
// Flags: --allow-natives-syntax |
-function foo(word, nBits) { |
- return (word[1] >>> nBits) | (word[0] << (32 - nBits)); |
-} |
+// Currently, the gap resolver doesn't handle moves from a ConstantOperand to a |
+// DoubleRegister, but these kind of moves appeared when HConstant::EmitAtUses |
+// was changed to allow special double values (-0, NaN, hole). So we should |
+// either enhance the gap resolver or make sure that such moves don't happen. |
-word = [0x1001, 0]; |
+function foo(x) { |
+ return (x ? NaN : 0.2) + 0.1; |
+} |
-var expected = foo(word, 1); |
-foo(word, 1); |
+foo(false); |
+foo(false); |
%OptimizeFunctionOnNextCall(foo); |
-var optimized = foo(word, 1); |
-assertEquals(expected, optimized) |
+foo(false); |