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.

Reply via email to