Closed
Bug 786004
Opened 12 years ago
Closed 12 years ago
IonMonkey: (ARM) ensure that there is an IonContext when discarding Ion code
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: mjrosenb, Unassigned)
References
Details
Attachments
(1 file)
799 bytes,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
currently there is a failure on tbpl for android builds because we attempt to discard JIT code while there are no IonContexts in existence, which are used to coalesce cache flushes. This patch ensures that there is an IonContext in existence.
Attachment #655708 -
Flags: review?(sstangl)
Comment 1•12 years ago
|
||
Comment on attachment 655708 [details] [diff] [review] /home/mrosenberg/patches/debug_crash-r0.patch Review of attachment 655708 [details] [diff] [review]: ----------------------------------------------------------------- From IRC discussion: let's solve this by threading the IonCompartment into purgeCaches(), then using the explicit 2nd argument on AutoFlushCaches' constructor.
Attachment #655708 -
Flags: review?(sstangl)
Reporter | ||
Comment 2•12 years ago
|
||
Comment on attachment 655708 [details] [diff] [review] /home/mrosenberg/patches/debug_crash-r0.patch After looking into it a bit more, that plan won't work, since there are two places that an IonCompartment is needed, once when we create the AutoCacheFlusher, then later, when we register a section of code to be flushed. The proposed fix only works for the first use case, not the second.
Attachment #655708 -
Flags: review?(dvander)
Comment on attachment 655708 [details] [diff] [review] /home/mrosenberg/patches/debug_crash-r0.patch Review of attachment 655708 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/jsgc.cpp @@ +5708,5 @@ > /* Discard Ion caches. */ > + if (script->hasIonScript()) { > + // I thought this line was necessary, but evidently, not? > + // JSContext jcx(c->rt); > + js::ion::IonContext ictx(NULL, c, NULL); Instead, give purgeCaches a JSCompartment, and create the IonContext inside purgeCaches, to avoid entraining IonMonkey gunk in jsgc.cpp r=me with that
Attachment #655708 -
Flags: review?(dvander) → review+
Reporter | ||
Comment 4•12 years ago
|
||
Landed, with nets addressed: http://hg.mozilla.org/projects/ionmonkey/rev/b63bb39ed1c0 I'll close this when it is done running on tbpl.
Reporter | ||
Comment 5•12 years ago
|
||
Looks clean!
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•