summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/v8/test/mjsunit/regress/regress-1117.js')
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1117.js15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js
index b013a22..981a1b7 100644
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js
+++ b/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js
@@ -25,11 +25,20 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// Flags: --allow-natives-syntax
+
// Test that we actually return the right value (-0) when we multiply
// constant 0 with a negative integer.
function foo(y) {return 0 * y; }
-for( var i = 0; i< 1000000; i++){
- foo(42);
-}
assertEquals(1/foo(-42), -Infinity);
+assertEquals(1/foo(-42), -Infinity);
+%OptimizeFunctionOnNextCall(foo);
+assertEquals(1/foo(-42), -Infinity);
+
+function bar(x) { return x * 0; }
+assertEquals(Infinity, 1/bar(5));
+assertEquals(Infinity, 1/bar(5));
+%OptimizeFunctionOnNextCall(bar);
+assertEquals(-Infinity, 1/bar(-5));
+