Closed Bug 482016 Opened 17 years ago Closed 17 years ago

TM: jited code does not set JSRuntime.gcPoke

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 482038

People

(Reporter: igor, Unassigned)

Details

Currently the jited code does not set JSRuntime.gcPoke when it overwrites GC things. That prevents js_NewGCThing from triggering the GC when the allocator hits max-malloc-bytes heuristic. The following example the problem with JS shell: @watson~> cat ~/s/x1.js function f() { var s = Array(5<<20).join("."); for (var i = 0; i != 500; ++i) { var tmp = s.substring(1); } } f(); print('OK'); @watson~> ~/build/js32.tm.dbg/js ~/s/x1.js OK @watson~> ~/build/js32.tm.dbg/js -j ~/s/x1.js Assertion failure: cx->bailExit, at /home/igor/m/tm/js/src/jstracer.cpp:4709 Trace/breakpoint trap Note that the assert here is due to the bug 482015 and happens during OOM reporting, which should not happen as with jit disabled the allocator properly triggers the GC.
The bug 482038 addresses this bug as well via removal of gcPoke checks from the allocator.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.