/test/Optimizer/bug1868543.js

https://gitlab.com/Srijancse/ChakraCore · JavaScript · 35 lines · 29 code · 2 blank · 4 comment · 12 complexity · 0a1f273720180c4f53c5d7ffb8764981 MD5 · raw file

  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 ary = new Array(10);
  6. var e = -6;
  7. function makeArrayLength(x) { if (x < 1 || x > 4294967295 || x != x || isNaN(x) || !isFinite(x)) return 100; else return Math.floor(x) & 0xffff; };;
  8. var func3 = function (argStr4, argArr5, argArr6) {
  9. var re1 = /ab[b7]ba/m;
  10. var __loopvar3 = loopInvariant, __loopSecondaryVar3_0 = loopInvariant + 6;
  11. LABEL0:
  12. do {
  13. __loopSecondaryVar3_0 -= 2;
  14. if (__loopvar3 === loopInvariant - 3) break;
  15. __loopvar3--;
  16. obj1.prop1 = 5.77075486440603E+18;
  17. arrObj0.prop0 = (((argArr5.reverse()) instanceof ((typeof Boolean == 'function') ? Boolean : Object)) << (argArr6[(((arrObj0.prop0 >= 0 ? arrObj0.prop0 : 0)) & 0XF)] + i8[(18) & 255]));
  18. obj1.length = makeArrayLength(undefined);
  19. } while (((argArr5[(loopInvariant)] * ary[((((argArr6[(((arrObj0.prop0 >= 0 ? arrObj0.prop0 : 0)) & 0XF)] + i8[(18) & 255]) >= 0 ? (argArr6[(((arrObj0.prop0 >= 0 ? arrObj0.prop0 : 0)) & 0XF)] + i8[(18) & 255]) : 0)) & 0XF)] + ((obj1.prop1 !== e) || (arrObj0.prop0 != obj1.length)))))
  20. return (5 in arrObj0);
  21. };
  22. var strvar3 = 'f';
  23. var FloatArr0 = [];
  24. var loopInvariant = 5;
  25. var obj0 = {};
  26. var obj1 = {};
  27. var arrObj0 = {};
  28. var i8 = new Int8Array(256);
  29. var v0 = Uint16Array;
  30. var v1 = [arrObj0.prop0, obj1.prop1, obj1.prop0, obj1.prop1, obj1.prop1];
  31. var v2 = new v0(v1);
  32. v0 = v2.filter(function (v5) { obj1.prop1 = 8.50905997247229E+18; return func3.call(obj1, strvar3, v2, FloatArr0); }, this);
  33. WScript.Echo('pass');