fpizlo@apple.com | b3b187c | 2015-08-22 18:35:47 +0000 | [diff] [blame] | 1 | function foo(a, b) { |
| 2 | return a + "x" + b; |
| 3 | } |
| 4 | |
| 5 | noInline(foo); |
| 6 | |
| 7 | for (var i = 0; i < 10000; ++i) { |
| 8 | var b; |
| 9 | var expected; |
| 10 | if (i & 1) { |
| 11 | b = 42; |
| 12 | expected = "ax42"; |
| 13 | } else { |
| 14 | b = "b"; |
| 15 | expected = "axb"; |
| 16 | } |
| 17 | var result = foo("a", b); |
| 18 | if (result != expected) |
| 19 | throw "Error: bad result: " + result; |
| 20 | } |
| 21 | |
| 22 | var longStr = "l"; |
| 23 | for (var i = 0; i < 30; ++i) |
| 24 | longStr = longStr + longStr; |
| 25 | |
| 26 | var result = null; |
| 27 | var didThrow = false; |
| 28 | try { |
| 29 | result = foo(longStr, longStr); |
| 30 | } catch (e) { |
| 31 | didThrow = true; |
| 32 | } |
| 33 | |
| 34 | if (!didThrow) |
| 35 | throw "Error: did not throw"; |
| 36 | if (result !== null) |
| 37 | throw "Error: did set result: " + result; |