bug215238.shrua-2.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. function getRoundValue(n) {
  6. if(typeof n === 'number') {
  7. if(n % 1 == 0) // int number
  8. return n % 2147483647;
  9. else // float number
  10. return n.toFixed(8);
  11. }
  12. return n;
  13. };
  14. function test0(){
  15. var GiantPrintArray = [];
  16. function makeArrayLength(x) { if(x < 1 || x > 4294967295 || x != x || isNaN(x) || !isFinite(x)) return 100; else return Math.floor(x) & 0xffff; };
  17. var obj0 = {};
  18. var arrObj0 = {};
  19. var func0 = function(argMath0,argMath1,argMath2,argArrObj3){
  20. arrObj0.length = makeArrayLength((~ ((1 - obj0.prop0) >>> ((1 - obj0.prop0) - {prop0: 1, prop1: 1, prop2: 1, prop3: 1}))));
  21. };
  22. var func1 = function(argObj4,argArrObj5,argFunc6){
  23. o = 1;
  24. };
  25. var func4 = function(argMath7,argArrObj8,argObj9,argFunc10){
  26. func0.call(protoObj0 , 1, 1, func1.call(obj0 , 1, 1, 1), 1);
  27. };
  28. arrObj0.method0 = func4;
  29. protoObj0 = Object.create(obj0);
  30. obj0.prop0 = 1073741823;
  31. m = func0.call(arrObj0 , 1, arrObj0.method0.call(arrObj0 , 1, 1, 1, 1), 1, 1);
  32. function v18()
  33. {
  34. this.v19 = 1;
  35. this.v20 = (++ o);
  36. this.v21 = (-- arrObj0.length);
  37. this.v22 = arrObj0.length;
  38. this.v21= 1;
  39. return this.v21;
  40. }
  41. function v23()
  42. {
  43. var v24 = new v18();
  44. GiantPrintArray.push(v24.v21);
  45. GiantPrintArray.push(v24.v19);
  46. GiantPrintArray.push(v24.v20);
  47. GiantPrintArray.push(v24.v22);
  48. }
  49. v25 = {};
  50. v25.x = 23456;
  51. v26 = {};
  52. v26.x = 65432;
  53. v18.prototype = v25;
  54. v23();
  55. v23();
  56. v18.prototype = v26;
  57. v23();
  58. for(var i =0;i<GiantPrintArray.length;i++){
  59. GiantPrintArray[i] = getRoundValue(GiantPrintArray[i]);
  60. WScript.Echo(GiantPrintArray[i]);
  61. };
  62. };
  63. // generate profile
  64. test0();
  65. // Run Simple JIT
  66. test0();
  67. // run JITted code
  68. runningJITtedCode = true;
  69. test0();