/js/src/jit-test/tests/jaeger/testIfEqX.js

http://github.com/zpao/v8monkey · JavaScript · 37 lines · 33 code · 3 blank · 1 comment · 3 complexity · 2cf9c899528997a179497cefa0c46734 MD5 · raw file

  1. // Tests for IFEQX and GOTOX ops.
  2. function testIfElse() {
  3. var src =
  4. "var a = 0;\n" +
  5. "if (x) {\n";
  6. for (var i=0; i<7000; i++) {
  7. src += "a = 1;";
  8. }
  9. src += "} else {\n";
  10. for (var i=0; i<7000; i++) {
  11. src += "a = 2;";
  12. }
  13. src += "}\n";
  14. src += "return a;";
  15. var f = new Function("x", src);
  16. assertEq(f(true), 1);
  17. assertEq(f(false), 2);
  18. assertEq(f([1, 2, 3]), 1);
  19. assertEq(f(), 2);
  20. }
  21. testIfElse();
  22. function testWhile() {
  23. var src =
  24. "var i = 0, j = 0;\n" +
  25. "while (i++ < 50) {\n";
  26. for (var i=0; i<5000; i++) {
  27. src += "j = i;";
  28. }
  29. src += "}\n";
  30. src += "return j;";
  31. var f = new Function(src);
  32. assertEq(f(), 50);
  33. }
  34. testWhile();