js/src/jit-test/tests/basic/testBug673066.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/basic/testBug673066.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,23 @@
     1.4 +function f(code) {
     1.5 +    a = code.replace(/s/, "");
     1.6 +    wtt = a
     1.7 +    code = code.replace(/\/\*DUPTRY\d+\*\//, function(k) {
     1.8 +        n = parseInt(k.substr(8), 0);
     1.9 +        return g("try{}catch(e){}", n)
    1.10 +    });
    1.11 +    f = eval("(function(){" + code + "})")
    1.12 +    if (typeof disassemble == 'function') {
    1.13 +        disassemble("-r", f)
    1.14 +    }
    1.15 +}
    1.16 +function g(s, n) {
    1.17 +    if (n == 0) {
    1.18 +        return s
    1.19 +    }
    1.20 +    s2 = s + s
    1.21 +    r = n % 2
    1.22 +    d = (n - r) / 2
    1.23 +    m = g(s2, d)
    1.24 +    return r ? m + s : m
    1.25 +}
    1.26 +f("switch(''){default:break;/*DUPTRY525*/}")

mercurial