JitToLoopBody.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. // return double
  6. // do while and while loops
  7. function AsmModule() {
  8. "use asm";
  9. var x1 = 10;
  10. function f3(x,y){
  11. x = x|0;
  12. y = +y;
  13. var m = 1000;
  14. var n = 10;
  15. var z = 1.1;
  16. a: while( (x|0) < 30)
  17. {
  18. x = (x+1)|0
  19. if( (x|0) > 10)
  20. {
  21. do
  22. {
  23. if((n|0) > 50)
  24. return +y;
  25. x = (x+1)|0;
  26. y = +(y * z)
  27. n = (n + 1)|0;
  28. }while((n|0) < 100)
  29. }
  30. }
  31. return +y;
  32. }
  33. function bar(k)
  34. {
  35. k = k|0;
  36. if( (k|0) > 5)
  37. return +f3(1,1.5);
  38. else
  39. return 1.5;
  40. }
  41. return bar
  42. }
  43. var bar = AsmModule();
  44. print(bar(1))
  45. print(bar(1))
  46. print(bar(10))
  47. print(bar(10))