Closed
Bug 1392883
Opened 7 years ago
Closed 7 years ago
DeCOMtaminate nsIAtom
Categories
(Core :: XPCOM, enhancement)
Core
XPCOM
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox57 | --- | affected |
People
(Reporter: n.nethercote, Assigned: n.nethercote)
References
(Blocks 1 open bug)
Details
xpcom/ds/nsIAtom.idl has this disconcerting commment about nsIAtom:
> /*
> * Should this really be scriptable? Using atoms from script or proxies
> * could be dangerous since double-wrapping could lead to loss of
> * pointer identity.
> */
And nsIAtom isn't used much from script. Barely at all in Firefox, and a small amount in Thunderbird; in both cases via nsIAtomService.
So it would be nice to convert nsIAtom to a vanilla C++ class, and it seems doable. I think this would allow all nsIAtom methods (including refcounting) to be devirtualized, too.
Comment 1•7 years ago
|
||
This is super valuable, I've seen refcounting on atoms in some profiles, FWIW.
Assignee | ||
Comment 2•7 years ago
|
||
Note to self: bug 1334834 is about converting a bunch of comm-central IDL methods from nsIAtoms to strings.
Comment 3•7 years ago
|
||
(In reply to Nicholas Nethercote [:njn] from comment #2)
> Note to self: bug 1334834 is about converting a bunch of comm-central IDL
> methods from nsIAtoms to strings.
We removed use of nsIAtoms from mailnews/nsIFolder*.idl and we'll remove remaining usage of nsIAtom in bug 1394215.
Assignee | ||
Comment 4•7 years ago
|
||
> We removed use of nsIAtoms from mailnews/nsIFolder*.idl and we'll remove
> remaining usage of nsIAtom in bug 1394215.
Thank you.
I realized there are some more uses in ChatZilla and Inspector. I didn't see those at first because I didn't realize they were put in the mozilla/ directory when you check out comm-central with the client.py script.
Comment 5•7 years ago
|
||
Well, you got yourself the job to look at three patches in bug 1394215 and pick one of them ;-)
Assignee | ||
Comment 7•7 years ago
|
||
(In reply to David Bolter [:davidb] (NeedInfo me for attention) from comment #6)
> Neat. Is there more work here for 57?
There are two more steps, though they be done in time for 57:
- Bug 1400459: devirtualizing
- Bug 1400460: renaming
Assignee | ||
Comment 8•7 years ago
|
||
> There are two more steps, though they be done in time for 57:
I meant to say: they *won't* be done in time for 57.
Flags: needinfo?(n.nethercote)
Assignee | ||
Comment 9•7 years ago
|
||
All blocking bugs have landed.
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → n.nethercote
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•