Closed
Bug 912328
Opened 11 years ago
Closed 11 years ago
Differential Testing: Different output message involving gcPreserveCode
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 932982
People
(Reporter: gkw, Unassigned)
Details
(Keywords: testcase)
try {
a = [Boolean, Boolean]
for (m = 0; m < 9; m++) {
c = m
}
} catch (e) {}
try {
b = a.join()
gcPreserveCode()
for (n = c; n < 22; ++n) {
x = n
}
x <<= x
for (v of b) {
y = Uint16Array(x)
}
y = []
print("foo")
} catch (e) {}
prints nothing on js opt shell on m-c changeset e3785e299ab6 without any CLI arguments, when the testcase is passed in as a CLI argument. However it prints "foo" with --no-baseline --no-ion --no-ti.
My configure flags are:
--enable-optimize --disable-debug --enable-profiling --enable-gczeal --enable-debug-symbols --enable-methodjit --enable-type-inference --disable-tests --enable-more-deterministic --enable-threadsafe <more NSPR compilation flags>
Flags: needinfo?(jdemooij)
Comment 1•11 years ago
|
||
Brian, is it expected that the testcase below works fine without TI but OOMs with TI enabled? This happens also with the JITs disabled. It looks like we're not GC'ing the old arrays or something.
It would be nice if we could fix this, the code doesn't look very unreasonable.
function f() {
gcPreserveCode();
for (var j=0; j<100; j++)
y = Uint16Array(22 * 1000 * 1000);
}
f();
Flags: needinfo?(jdemooij) → needinfo?(bhackett1024)
Reporter | ||
Comment 2•11 years ago
|
||
Brian, re-ping please?
Comment 3•11 years ago
|
||
I get the same output now with either set of CLI flags. If we were OOM'ing before then this was fixed by bug 932982, as we give singleton types to all large typed arrays and before bug 932982 we marked these whenever doing a GC which preserved jitcode.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(bhackett1024)
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•