| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| function write(v) { WScript.Echo(v + ""); } | |
| // Bailout cases | |
| function modByNeg(x) | |
| { | |
| return 32 % x; | |
| } | |
| function modByNonPowerOf2(x) | |
| { | |
| return 32 % x; | |
| } | |
| function modOfNeg(a, x) | |
| { | |
| a = a | 0; // forces typespec | |
| return a % x; | |
| } | |
| function runTest() | |
| { | |
| write(modByNeg(16)); // by power of 2 | |
| write(modByNeg(-3)) // cause bailout | |
| write(modByNonPowerOf2(16*16)); // by power of 2 | |
| write(modByNonPowerOf2(23)) // cause bailout | |
| write(modOfNeg(100, 32)); | |
| write(modOfNeg(-12, 32)); // cause bailout | |
| for(var i=0; i < 500; i++) | |
| { | |
| modByNeg(-3); // cause rejit | |
| } | |
| } | |
| runTest(); |