Closed
Bug 991820
Opened 10 years ago
Closed 10 years ago
Compiling baseline during incremental GC slices disable large Ion compilations.
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
DUPLICATE
of bug 1018363
People
(Reporter: nbp, Unassigned)
References
(Blocks 1 open bug)
Details
On a device with parallel compilation enabled (multiple cores), we might disable large Ion compilation for all functions baseline-compiled in between GC slices. When we are in a GC slice, we are no longer running off-main-thread compilations[1], and are thus reducing the limit for compiling scripts[2]. This implies that we would skip any Ion compilation[2], which is interpreted by baseline as a way to disable the increment of the UseCount[3]. This issue can hit us on FirefoxOS and Android devices with multiple cores, where Incremental GCs are still the default. [1] http://dxr.mozilla.org/mozilla-central/source/js/src/jit/Ion.cpp#1700 [2] http://dxr.mozilla.org/mozilla-central/source/js/src/jit/Ion.cpp#1962 [3] http://dxr.mozilla.org/mozilla-central/source/js/src/jit/Ion.cpp#1980, http://dxr.mozilla.org/mozilla-central/source/js/src/jit/BaselineCompiler.cpp#618
Comment 1•10 years ago
|
||
I failed to see how this would happen? We are indeed returning Method_Skipped in those cases. But Baseline just notices that and carries on until the next time we do the UseCountFallback and try again that time. If we are done with IGC, we will start compiling that script offthread. Right? Note: I tried to follow the path using the linenumbers, what was a pain, since they all have moved. So I used "http://hg.mozilla.org/mozilla-central/annotate/2ec0a91f244f/js/src/jit/XXX". Now I could not find the correct BaselineCompiler.cpp#618 though? So maybe that's the reason I'm saying this.
Updated•10 years ago
|
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•