| //@ skip if $memoryLimited |
| //@ runFTLNoCJIT if !$memoryLimited |
| // This test should not crash or fail any assertions. |
| |
| function shouldEqual(stepId, actual, expected) { |
| if (actual != expected) { |
| throw stepId + ": ERROR: expect " + expected + ", actual " + actual; |
| } |
| } |
| |
| var exception = undefined; |
| |
| arr = [null,null,null,null]; |
| str = "xx"; |
| |
| try { |
| for (var i = 0; i < 100; ++i) |
| str = arr.join(str); |
| } catch (e) { |
| exception = e; |
| } |
| shouldEqual(10000, exception, "RangeError: Out of memory"); |
| |
| exception = undefined; |
| try { |
| str += 'x'; |
| } catch(e) { |
| exception = e; |
| } |
| shouldEqual(10100, exception, undefined); |