| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- function test0() {
- 'use strict';
- try {
- var obj0 = {};
- var ary = new Array(10);
- obj0.length = 1;
- var __loopvar3 = 0;
- while ((1) && __loopvar3 < 3) {
- __loopvar3++;
- ary.length = -804513990;
- }
- //Snippet 3: fewer arguments than formal parameters
- obj0.length = (function (x, y, z, w, r) {
- e *= obj0.prop0;
- var temp = x + y + z + w + r;
- return temp + ary[(1)];
- })(1, 1, 1);
- }
- catch(e) {
- WScript.Echo(e);
- }
- };
- // generate profile
- test0();
- // run JITted code
- test0();
- var shouldBailout = false;
- function test1() {
- 'use strict';
- try {
- var obj0 = {};
- var obj1 = {};
- var func2 = function (p0) {
- switch ((d)) {
- case 1:
- break;
- case (a--):
- break;
- default:
- obj1.prop0 -= 1;
- break;
- case 1:
- break;
- case 1:
- break;
- }
- (shouldBailout ? (Object.defineProperty(obj0, 'prop0', { writable: false, enumerable: true, configurable: true }), 1) : 1);
- }
- obj1.method0 = func2;
- var a = 1;
- var d = -27;
- obj1.method0();
- var __loopvar0 = 0;
- do {
- __loopvar0++;
- } while (((obj0.length & (shouldBailout ? (obj0.prop0 = { valueOf: function () { WScript.Echo('obj0.prop0 valueOf'); return 3; } }, 1) : 1))) && __loopvar0 < 3)
- }
- catch (e) {
- WScript.Echo(e);
- }
- WScript.Echo("obj1.prop0 = " + (obj1.prop0 | 0));
- };
- // generate profile
- test1();
- // run JITted code
- test1();
- // run code with bailouts enabled
- shouldBailout = true;
- test1();
|