linenumber4.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. var shouldBailout = false;
  6. function test0(){
  7. var obj0 = {};
  8. var obj1 = {};
  9. var obj2 = {};
  10. var func0 = function(p0){
  11. }
  12. var func1 = function(){
  13. if(ary[(((((shouldBailout ? (ary[1] = "x") : undefined ), 1) >= 0 ? 1 : 0)) & 0XF)]) {
  14. var __loopvar3 = 0;
  15. while((func0(1, (shouldBailout ? (Object.defineProperty(obj0, 'prop1', {get: function() { WScript.Echo('obj0.prop1 getter'); return 3; }}), 1) : 1), 1, 1)) && __loopvar3 < 3) {
  16. __loopvar3++;
  17. }
  18. }
  19. }
  20. var func2 = function(){
  21. if(((ary[(((obj1.prop3 >= 0 ? obj1.prop3 : 0)) & 0XF)] ? func1(1, 1, 1, 1, 1) : 1) + func1())) {
  22. }
  23. }
  24. Object.prototype.method0 = func2;
  25. var ary = new Array(10);
  26. this.prop2 = {prop0: 1, prop1: 1, prop2: 1, prop3: 1, prop4: 1, prop5: 1, prop6: 1, prop7: (shouldBailout ? (Object.defineProperty(this, 'prop2', {set: function(_x) { WScript.Echo('this.prop2 setter'); }}), 1) : 1)};
  27. this.prop5 = {prop7: 1, prop6: (-- obj2.prop6), prop5: 1, prop4: ary[(((((shouldBailout ? (ary[Math.acos(1)] = "x") : undefined ), Math.acos(1)) >= 0 ? Math.acos(1) : 0)) & 0XF)], prop3: obj1.method0(1), prop2: 1, prop1: 1, prop0: 1};
  28. };
  29. // generate profile
  30. test0();
  31. // run JITted code
  32. test0();
  33. // run code with bailouts enabled
  34. shouldBailout = true;
  35. test0();