// first build a big honkin' string str = "a"; for (var i = 0; i < 20; ++i) str = str + str; str.indexOf('a'); var f; f = makeFinalizeObserver(); assertEq(finalizeCount(), 0); // Create another observer to make sure that we overwrite all conservative // roots for the previous one and can observer the GC. f = makeFinalizeObserver(); // if the assert fails, add more iterations for (var i = 0; i < 80; ++i) str.replace(/(a)/, '$1'); //assertEq(finalizeCount(), 1);