Closed Bug 714353 Opened 13 years ago Closed 13 years ago

Remove nsIXPCScriptable::Trace

Categories

(Core :: XPConnect, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla12

People

(Reporter: billm, Assigned: billm)

Details

Attachments

(1 file)

Attached patch patchSplinter Review
This method doesn't seem to be implemented by anyone in the browser. Now that we're changing the GC, it's dangerous to be implementing your own trace hooks (people are likely to forget about read and write barriers). I think we should remove this thing.
Attachment #585037 - Flags: review?(mrbkap)
Comment on attachment 585037 [details] [diff] [review]
patch

I'm fine with this (especially since it frees up a flag on nsIXPCScriptable). I kind of wonder what this means for other API embedders who want to implement trace hooks, though. How much harder are they to write with the new GC?
Attachment #585037 - Flags: review?(mrbkap) → review+
(In reply to Blake Kaplan (:mrbkap) from comment #1)
> I'm fine with this (especially since it frees up a flag on
> nsIXPCScriptable). I kind of wonder what this means for other API embedders
> who want to implement trace hooks, though. How much harder are they to write
> with the new GC?

Trace hooks themselves aren't any harder to write, I guess. It's just that anything that gets traced through needs a write barrier on it. This won't really affect embedders, since they can disable all the new GC code. But I'm really interested in finding binary add-ons that implement their own trace hooks. All I know so far is that there aren't any AMO add-ons that do this.

Just as a sanity check, do you think that there are any add-ons or embedders who use nsIXPCScriptable? That would be very surprising to me.
(In reply to Bill McCloskey (:billm) from comment #2)
> Just as a sanity check, do you think that there are any add-ons or embedders
> who use nsIXPCScriptable? That would be very surprising to me.

While we haven't changed nsIXPCScriptable during a release cycle, we've generally made changes to it assuming that nobody outside of the browser uses it. The use-cases are few and far between if you're not implementing the DOM.
https://hg.mozilla.org/mozilla-central/rev/99d43af273a8
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: