fixedmethods_polyInlining.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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. var runningJITtedCode = false;
  7. var __counter = 0;
  8. function test0() {
  9. var GiantPrintArray = [];
  10. __counter;
  11. function makeArrayLength(x) {
  12. {
  13. return 100;
  14. }
  15. }
  16. function leaf() {
  17. }
  18. var obj0 = {};
  19. var protoObj0 = {};
  20. var arrObj0 = {};
  21. var litObj0 = { prop1: 3.14159265358979 };
  22. var func0 = function () {
  23. typeof 985562408 != 'undefined';
  24. CollectGarbage();
  25. CollectGarbage();
  26. };
  27. var func1 = function (argFunc0, argFunc1) {
  28. //WScript.Echo("here");
  29. function v0() {
  30. }
  31. v0.prototype.method0 = function () {
  32. };
  33. v0.prototype.method1 = function () {
  34. };
  35. var v1 = new v0();
  36. NaN = func0.call(protoObj0);
  37. function v2() {
  38. }
  39. v2.prototype.p;
  40. v2.prototype.prop0;
  41. v2.prototype.method0 = function () {
  42. };
  43. (function () {
  44. });
  45. var v3 = new v2();
  46. function v4() {
  47. }
  48. v4.method0 = function () {
  49. NaN = obj0.length = +test0.caller;
  50. };
  51. v2.prototype = v4;
  52. var v5 = new v2();
  53. obj0;
  54. function v6() {
  55. this.method0 = function () {
  56. obj0.prop3 = argFunc0.call(obj0) + test0.caller;
  57. };
  58. }
  59. function v7() {
  60. }
  61. v6.prototype = v0.prototype;
  62. v7.prototype = new v6();
  63. var v8 = new v7();
  64. function v9() {
  65. }
  66. v9.prototype.method1 = function () {
  67. };
  68. v9.prototype = new v6();
  69. var v10 = new v9();
  70. function v11(v12) {
  71. // WScript.Echo(".");
  72. v12.method0();
  73. }
  74. v11(v3);
  75. v11(v5);
  76. v11(v3);
  77. v11(v10);
  78. v11(v1);
  79. v11(v8);
  80. v11(v10);
  81. };
  82. var func2 = function (argMath3, argFunc4, argMath5) {
  83. protoObj0.prop1 = ary.splice(6, 3, -937079010.9 * (-1491185136.9 + obj0.length) ^ ary.shift(), -2147483649 - (argMath3 >= obj0.length), protoObj0.length * (-937079010.9 * (-1491185136.9 + obj0.length) ^ ary.shift()) - (typeof 1766379515.1 == null), a === a || a != obj0.length, argMath5 - argMath5 | argMath5 === obj0.length, ~test0.caller, argFunc4.call(obj0), argFunc4.call(obj0) & 1034225882, -argFunc4.call(protoObj0), ary.push(-29553868 ^ 2012447008, -1114318962 + -1985634397, argMath5 - -926420530, -981986144, argMath5 - -926420530, h += argMath5, argMath5 - -926420530) >> ary.reverse()) >> argMath3;
  84. };
  85. var func3 = function (argMath7) {
  86. obj0.prop5 = (-476118889609086000 - ary.shift()) * test0.caller + (-argMath7 * (-1369803577084530000 + -1195616901.9) - 262279661);
  87. protoObj0.prop0 += -1369803577084530000;
  88. return func2.call(obj0, ~(1697877209799190000 - -1104416353.9), leaf, --obj0.length);
  89. };
  90. var func4 = function () {
  91. return ary.shift();
  92. };
  93. obj0.method0 = func2;
  94. obj0.method1 = func4;
  95. arrObj0.method0 = func1;
  96. arrObj0.method1 = func0;
  97. var ary = Array();
  98. var IntArr0 = Array();
  99. var FloatArr0 = Array(-701848834, 234290815);
  100. var VarArr0 = [];
  101. var a = -7471863111945560000;
  102. var b = 1034225882;
  103. var c = 44;
  104. var e = 2;
  105. var g = NaN;
  106. var h = 356353422;
  107. var i = 852783735;
  108. var j = 925107091;
  109. var k = 635272801;
  110. var m = -778124320;
  111. var n = -8065680838443580000;
  112. var q = 39;
  113. var r = 1697877209799190000;
  114. arrObj0[0] = 598806000;
  115. arrObj0[arrObj0] = -135;
  116. arrObj0.length = makeArrayLength();
  117. makeArrayLength();
  118. obj0;
  119. makeArrayLength();
  120. makeArrayLength();
  121. arrObj0.prop0 = 4294967297;
  122. prop3 = -1546252572.9;
  123. arguments;
  124. func2.call(obj0, ~(1697877209799190000 - -1104416353.9), leaf);
  125. m += typeof 985562408 != 'undefined';
  126. CollectGarbage();
  127. // CollectGarbage();
  128. ary.push(Object.create(arrObj0), obj0.method0.call(protoObj0, func4(), leaf), arrObj0.method1());
  129. func3({
  130. prop8: 2,
  131. prop7: -5729096429004850000,
  132. prop6: 260823401.1,
  133. prop5: 1697877209799190000,
  134. prop4: 3694998724308620000,
  135. prop3: 635272801,
  136. prop1: 635272801,
  137. prop0: 1697877209799190000,
  138. 44: -90469961
  139. });
  140. func1.call(litObj0, leaf, leaf);
  141. //WScript.Echo("after first");
  142. //var uniqobj0 = [obj0];
  143. //uniqobj0[__counter % uniqobj0.length].method1();
  144. //protoObj0;
  145. arrObj0.method0.call(litObj0, leaf, leaf, FloatArr0) * func0() + arrObj0.method0.call(litObj0, leaf);
  146. //WScript.Echo("after second");
  147. WScript(ary()(function () {
  148. }));
  149. }
  150. try{
  151. test0();
  152. }
  153. catch(e){}
  154. WScript.Echo("Passed");