1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/basic/bug558531.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,46 @@ 1.4 +function f2(c) { 1.5 + return { 1.6 + g: c.match(/:/) & c.match(/:/) & c.match(/f/) & c.m & c.a & c.match(/f/) & 1.7 + c.match(/c/) & c.match(/a/) & (/s/) & c.match(/e/) & c.match(/s/) & 1.8 + (c.match(/./) & c.i) & (c.match(/\*/)) & (c.match(/n/)), 1.9 + y: c.a & c.a & c.match(/\)/) & c.match(/\)/) & c.match(/\)/) 1.10 + & c.match(/\\/), 1.11 + c: c.match(/f/) 1.12 + } 1.13 +} 1.14 +function f1(c) { 1.15 + t = f2(c.replace(/s/)) 1.16 + try { 1.17 + eval(c) 1.18 + } catch(e) {} 1.19 + f4(); 1.20 + if (c.indexOf("<") == -1 || c.indexOf()) 1.21 + try {} catch(e) {} 1.22 + try { 1.23 + try { 1.24 + l 1.25 + } catch(e) {} 1.26 + if ("unwatch" in this) {} 1.27 + g 1.28 + } catch(e) {} 1.29 + try {} catch(p) {} 1.30 +} 1.31 +function f4() { 1.32 + try {} catch(e) {} { 1.33 + try { 1.34 + eval(s + "") 1.35 + } catch(e) {} 1.36 + } 1.37 +} [{}] 1.38 +s = [{},{}]; 1.39 +(function(){}()) 1.40 +s[{},{},{}] = [function(){}] 1.41 +a = [{},{},{}].concat([{},{}]) 1.42 +f1("") 1.43 +f1("") 1.44 +f1("n") 1.45 +f1("") 1.46 +f1("(__proto__=null)") 1.47 +f1("for(var z=0;z<1;z++){gc()(*::*)}") 1.48 +f1("gc()") 1.49 +f1("<")