Closed Bug 975295 Opened 6 years ago Closed 6 years ago

remove obsolete nsTraceRefcnt code


(Core :: XPCOM, defect)

Not set





(Reporter: dbaron, Assigned: dbaron)



(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+
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.