| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- //flags: -maxinterpretcount:1 -maxsimplejitruncount:2 -force:rejit -ForceArrayBTree
- //Bug number: 109395
- var shouldBailout = false;
- function test0(){
- function makeArrayLength(x) { if(x < 1 || x > 4294967295 || x != x || isNaN(x) || !isFinite(x)) return 100; else return Math.floor(x) & 0xffff; };;
- var obj0 = {};
- var obj1 = {};
- var IntArr0 = new Array();
- var FloatArr0 = [1079966239,-2,-97174468.9,4.71984429732334E+18,373475323,516830569.1];
- obj1.prop2 = 1434939730.1;
- Object.prototype.prop1 = 1;
- Object.prototype.prop2 = 1;
- Object.prototype.length = makeArrayLength(1);
- for(var _strvar20 in Object.prototype )
- {
- (FloatArr0[(((((shouldBailout ? (FloatArr0[((((obj1.prop2-- )) >= 0 ? ( (obj1.prop2-- )) : 0) & 0xF)] = 'x') : undefined ), (obj1.prop2-- )) >= 0 ? (obj1.prop2-- ) : 0)) & 0XF)]);
- obj0.prop1 = IntArr0[((shouldBailout ? (IntArr0[1] = 'x') : undefined ), 1)];
- }
- };
- // generate profile
- test0();
- // Run Simple JIT
- test0();
- test0();
- // run JITted code
- runningJITtedCode = true;
- test0();
- // run code with bailouts enabled
- shouldBailout = true;
- test0();
- WScript.Echo("PASS");
|