Closed Bug 523965 Opened 15 years ago Closed 13 years ago

DEBUG_CC only needs to be defined in nsCycleCollector.h

Categories

(Core :: XPCOM, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 678615

People

(Reporter: dbaron, Assigned: dbaron)

Details

Attachments

(2 files)

Since bug 500233, we actually only need to define DEBUG_CC when we want to use it in nsCycleCollector.h, not in nsCycleCollectionParticipant.h, which means much less rebuilding.
The NS_CYCLE_COLLECTION_NOTE_EDGE_NAME macro is designed to do the right thing; it doesn't need #ifdefs around it (and in fact, we want the edge names in all builds; see the bug mentioned in the previous comment).
Attachment #407873 - Flags: review?(hsivonen)
Attachment #407875 - Flags: review?(peterv) → review+
Comment on attachment 407873 [details] [diff] [review]
remove extra ifdefs in HTML5 code

This code is going to go away at bug 515338 which depends on bug 514661.

While this looks good to me in isolation (hence the r+), I'd prefer to deal with this by landing bug 514661 followed by bug 515338.
Attachment #407873 - Flags: review?(hsivonen) → review+
I just happened across this bug today.  The first patch (that applies to HTML5) is not relevant any more, but funnily enough the second one still is.  I was already planning to make that change as part of my patch for 678615, so I'll just do this there.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
I think there was a reason I decided not to land this, but I've forgotten what it was.  I think it may have been that my expectation of which header was widely-included and which was narrowly-included was backwards (from reality, though not necessarily from desired behavior), because nsISupportsImpl.h includes nsCycleCollector.h.
Yeah, I could imagine that.  Nowadays, at least, DEBUG_CC is only used in nsXPConnect.cpp, xpcprivate.h and nsCycleCollector.{cpp, h}.  nsXPConnect includes xpcprivate, which includes both nsCycleCollector.h and nsCycleCollectionParticipant.h, so I think it is okay to just put it in nsCycleCollector.h.  I have the impression that there's been a huge amount of simplification in the use of DEBUG_CC, clearing the way for this patch.  In fact, the only use of DEBUG_CC outside of nsCycleCollector.cpp is for ExplainLiveExpectedGarbage.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: