JitToLoopBody.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. return 1.5;
  39. }
  40. return bar
  41. }
  42. var bar = AsmModule();
  43. print(bar(1))
  44. print(bar(1))
  45. print(bar(10))
  46. print(bar(10))