| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Copyright (c) ChakraCore Project Contributors. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- let bar = [];
- let j = 0, a = 3, b = 2;
- function printif (text, x, mod) {
- if (x % mod == 0) {
- print (text + x);
- }
- }
- await b;
- var foo = [0.1, 0.2, 0.3, 0.4, 0];
- while (a < 200) { // Loop 0 - should be jitted
- foo[a] = Math.random();
- printif("Loop 0 a = ", a, 40);
- for (let k in foo) { bar[k] = a - k;} // Loop 1 - shuld be jitted
- ++a;
- }
- while (true){ // Loop 2 - should not be jitted
- for (j = 0; j < 100; ++j) { // Loop 3 - should not be jitted
- await j;
- foo[j] = j;
- }
- print("Loop 3 completed");
- for (let k of bar) { // Loop 4 - should be jitted
- printif("Loop 4 k = ", k, 40);
- foo[0] = foo[1] + 1;
- }
- print("Loop 4 completed");
- await j;
- break;
- }
|