bug890722.js (672B)
1 // Test setting return value; 2 3 function bail() { bailout(); } 4 function bail2() { bailout(); return 2; } 5 6 // Test 1: Test setting/getting return value in ionmonkey 7 function test() { 8 return evalcx("1;"); 9 } 10 assertEq(test(), 1) 11 12 // Test 3: Test ion -> baseline 13 function test2() { 14 return evaluate("1; bail2();"); 15 } 16 assertEq(test2(), 2) 17 18 // Test 3: Test ion -> baseline 19 function test3() { 20 return evaluate("1; bail2(); 3"); 21 } 22 assertEq(test3(), 3) 23 24 // Test4: Test baseline -> ion entering (very fragile, since iterations need to be precise, before it gets tested) 25 function test4() { 26 return evaluate("1; for(var i=0; i<1097; i++) { 3; };"); 27 } 28 assertEq(test4(), 3)