diff -r 000000000000 -r 6474c204b198 js/src/jit-test/tests/basic/bug970643.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/jit-test/tests/basic/bug970643.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,18 @@ +// |jit-test| exitstatus: 6; + +setJitCompilerOption("baseline.usecount.trigger", 1); +setJitCompilerOption("ion.usecount.trigger", 2); + +// The timepout function is made to trigger the interruption callback. The +// interruption callback will protect the code while a GC might be +// marking/updating pointers in it. +var x = 0; +function interrupt_gc() { + if (x++ >= 20) + return; + timeout(0.1, interrupt_gc); + while(x < 20) + gc(); +} + +interrupt_gc();