Closed Bug 975295 Opened 6 years ago Closed 6 years ago

remove obsolete nsTraceRefcnt code

Categories

(Core :: XPCOM, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla30

People

(Reporter: dbaron, Assigned: dbaron)

Details

Attachments

(2 files)

There's a whole bunch of obsolete nsTraceRefcnt code.

class nsTraceRefcnt predates the frozen functions NS_LogAddRef etc., and as far as I can tell was only retained for source compatibility.  It is no longer used in our tree.

interface nsITraceRefcnt was the binary interface for xpcom glue users to reach nsTraceRefcnt that predated the introduction of those frozen functions.  It can also go away.  (This breaks binary compatibility, so we couldn't have done it during the mozilla 1.* lifetime.)

I have patches for both of the above.

Once we do both of these, I think we should rename nsTraceRefcntImpl back to nsTraceRefcnt to undo the damage from when the initial XPCOM glue setup was created.  I don't have a patch for this yet.


Benjamin, please do check my logic on whether we'd be breaking any promises by removing these.
Attachment #8379523 - Flags: review?(benjamin) → review+
Comment on attachment 8379524 [details] [diff] [review]
patch 2:  Remove the nsITraceRefcnt interface and any instantiation of the nsTraceRefcntImpl object.

For now, keep it as void*. I'd like to get rid of or change how we do XPCOM frozen function pointers, but it's not worth it right now.
Attachment #8379524 - Flags: review?(benjamin) → review+
https://hg.mozilla.org/mozilla-central/rev/7e6499af80b5
https://hg.mozilla.org/mozilla-central/rev/8c594f255751
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.