var arr0 = [1,2,3,4]; var arr1 = new Array(1000); Array.prototype.__defineGetter__(1, function() { [].concat(arr1); //generate to invalid JIT code here? }); Array.prototype.__defineGetter__(Symbol.isConcatSpreadable, (function() { for(var i=0;i<10000;i++) { if(i==0) arr1[i]; this.x = 1.1; arr1.legnth = 1; } })); var exception; try { arr1[1].toString(); } catch (e) { exception = e; } if (exception != "RangeError: Maximum call stack size exceeded.") throw "FAILED";