Reviewers: Benedikt Meurer,
Description:
Yet another regression test for range analysis.
BUG=v8:3204
Please review this at https://codereview.chromium.org/224723016/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+17, -0 lines):
M test/mjsunit/regress/regress-3204.js
Index: test/mjsunit/regress/regress-3204.js
diff --git a/test/mjsunit/regress/regress-3204.js
b/test/mjsunit/regress/regress-3204.js
index
dc754ff2d768b9eefb0f3493043b1cb32b82ed9e..b3161be497040e07caaaeca194829c887de21b67
100644
--- a/test/mjsunit/regress/regress-3204.js
+++ b/test/mjsunit/regress/regress-3204.js
@@ -4,6 +4,21 @@
// Flags: --allow-natives-syntax
+//
-----------------------------------------------------------------------------
+
+function SmiTaggingCanOverflow(x) {
+ x = x | 0;
+ if (x == 0) return;
+ return x;
+}
+
+SmiTaggingCanOverflow(2147483647);
+SmiTaggingCanOverflow(2147483647);
+%OptimizeFunctionOnNextCall(SmiTaggingCanOverflow);
+assertEquals(2147483647, SmiTaggingCanOverflow(2147483647));
+
+//
-----------------------------------------------------------------------------
+
function ModILeftCanBeNegative() {
var x = 0;
for (var i = -1; i < 0; ++i) x = i % 2;
@@ -14,6 +29,8 @@ ModILeftCanBeNegative();
%OptimizeFunctionOnNextCall(ModILeftCanBeNegative);
assertEquals(-1, ModILeftCanBeNegative());
+//
-----------------------------------------------------------------------------
+
function ModIRightCanBeZero() {
var x = 0;
for (var i = -1; i <= 0; ++i) x = (2 % i) | 0;
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.