Closed Bug 83511 Opened 24 years ago Closed 24 years ago

AtomKey wastes time refcounting atoms

Categories

(Core :: CSS Parsing and Computation, defect, P2)

defect

Tracking

()

VERIFIED FIXED
mozilla0.9.2

People

(Reporter: dbaron, Assigned: dbaron)

References

Details

(Keywords: perf)

Right now AtomKey (in nsCSSStyleSheet.cpp) wastes a bit of time refcounting atoms whenever we create one on the stack. This shows up in profiles. I think a solution here would be to split it into three classes: nsAtomKeyBase nsAtomKey nsDependentAtomKey nsAtomKeyBase would have all methods except for the constructor and destructor (which would be inlined). nsAtomKey would addref and release in its ctor/dtor and would be used in the hashtable itself. nsDependentAtomKey would just assign to the atom member without addref/release and could be used on the stack with an atom one already owns. Does that make sense?
Blocks: 83482
Status: NEW → ASSIGNED
Keywords: perf
Priority: -- → P2
Target Milestone: --- → mozilla0.9.2
Fix checked in 2001-06-04 18:00 PDT.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Definitely a rubber stamp verification here...
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.