Closed Bug 1307372 Opened 3 years ago Closed 3 years ago

CallbackObject::CallbackKnownNotGray incorrectly triggers mCallback read barrier

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox52 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

Attachments

(1 file)

As pointed out in bug 1297558 comment 15, this is broken because the call to get() will trigger the read barrier and call ExposeObjectToActiveJS, which is what this method is trying to avoid.
Patch to avoid triggering a read barrier here.
Attachment #8797633 - Flags: review?(continuation)
Comment on attachment 8797633 [details] [diff] [review]
bug1307372-CallbackKnownNotGray

Can we not just pass mCallback?
Summary: CallbackObject::CallbackKnownNotGray ingorrectly triggers mCallback read barrier → CallbackObject::CallbackKnownNotGray incorrectly triggers mCallback read barrier
Comment on attachment 8797633 [details] [diff] [review]
bug1307372-CallbackKnownNotGray

Review of attachment 8797633 [details] [diff] [review]:
-----------------------------------------------------------------

r=me with bz's suggestion, assuming it works. It looks to me like it should.
Attachment #8797633 - Flags: review?(continuation) → review+
(In reply to Andrew McCreight [:mccr8] from comment #3)
Oh, we have an overload to check this without triggering the barrier.  This is better.
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0c8c3b25f9a4
Avoid triggering mCallback read barrier in CallbackObject::CallbackKnownNotGray r=mccr8
https://hg.mozilla.org/mozilla-central/rev/0c8c3b25f9a4
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
You need to log in before you can comment on or make changes to this bug.