michael@0: function tryItOut(code) { michael@0: try { michael@0: f = Function(code) michael@0: } catch (r) {} michael@0: v = tryRunning(f, code) michael@0: x = String; michael@0: for (e in v) {} michael@0: } michael@0: function tryRunning() { michael@0: try { michael@0: rv = f(); michael@0: return rv; michael@0: } catch (r) { michael@0: x = String; michael@0: } michael@0: } michael@0: __proto__.__defineSetter__("x", function() {}); michael@0: tryItOut("/()/;\"\"()"); michael@0: tryItOut("}"); michael@0: tryItOut(""); michael@0: tryItOut("o"); michael@0: tryItOut(")"); michael@0: tryItOut("("); michael@0: tryItOut(")"); michael@0: tryItOut("}"); michael@0: tryItOut("}"); michael@0: tryItOut(")"); michael@0: tryItOut(")"); michael@0: tryItOut(""); michael@0: tryItOut("l;function u(){/j/}"); michael@0: tryItOut("("); michael@0: tryItOut("t"); michael@0: tryItOut("("); michael@0: tryItOut(")"); michael@0: tryItOut("("); michael@0: tryItOut(""); michael@0: tryItOut("{t:g}"); michael@0: tryItOut("r"); michael@0: tryItOut("p"); michael@0: tryItOut("gc()"); michael@0: tryItOut("verifybarriers()"); michael@0: tryItOut("/**/yield");