Closed Bug 904809 Opened 11 years ago Closed 11 years ago

OdinMonkey: root ProfiledFunction::name

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla26

People

(Reporter: luke, Assigned: luke)

Details

Attachments

(1 file)

Currently it is unrooted which leads to dangling and badness if we GC between compile and link.  Fortunately, this bug is only present if defined(MOZ_VTUNE) or defined(JS_ION_PERF).
Attached patch fix-perfSplinter Review
Douglas: does this fix your problem?
Attachment #789793 - Flags: review?(sstangl)
Attachment #789793 - Flags: feedback?(dtc-moz)
A slightly different solution was used in the bug 893363 - declaring the names as 'RelocatablePtr<JSAtom> name' and marking using 'MarkString'.   Have not seen any more corruption or crashes on the ARM with that.

Are the function name atoms not movable?

What about the other names in the module that are declared as a RelocatablePtr.  What is the distinction between the function names and these?
(In reply to Douglas Crosher [:dougc] from comment #2)
> What about the other names in the module that are declared as a
> RelocatablePtr.  What is the distinction between the function names and
> these?

Good question!  If you pull inbound again you'll notice that they no longer are: I just landed a patch in bug 900669 that removed them.  Basically RelocatablePtr was overkill for these fields since they don't need any of the barriers and it is incompatible with off-main-thread asm.js compilation.
(In reply to Luke Wagner [:luke] from comment #3)
> (In reply to Douglas Crosher [:dougc] from comment #2)
> > What about the other names in the module that are declared as a
> > RelocatablePtr.  What is the distinction between the function names and
> > these?
> 
> Good question!  If you pull inbound again you'll notice that they no longer
> are: I just landed a patch in bug 900669 that removed them.  Basically
> RelocatablePtr was overkill for these fields since they don't need any of
> the barriers and it is incompatible with off-main-thread asm.js compilation.

Ok, thank you. The patch in bug 893363 has been updated to use this approach and testing on the ARM shows no corruption of the names or crashes.
Attachment #789793 - Flags: review?(sstangl) → review+
Attachment #789793 - Flags: feedback?(dtc-moz)
https://hg.mozilla.org/mozilla-central/rev/16ff56b1021e
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: