LoopBodyToJit.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 * (+ bar(1,z)))
  27. n = (n + 1)|0;
  28. }while((n|0) < 100)
  29. }
  30. }
  31. return +y;
  32. }
  33. function bar(k,d)
  34. {
  35. k = k|0;
  36. d = +d;
  37. return + (d * d)
  38. }
  39. return {bar:bar,f3:f3}
  40. }
  41. var obj = AsmModule();
  42. print(obj.bar(1,10.5))
  43. print(obj.bar(1,10.5)) // jit bar
  44. print(obj.f3(1,1.5))
  45. print(obj.f3(1,1.5))