Olli Pettay
98fff73826
Bug 1351303, add main thread only cache for nsIAtoms to speed up atomization, r=froydnj
...
--HG--
extra : rebase_source : 9c67cd71c0721329eaeaaa96a295e90abc480042
2017-04-03 23:13:18 +03:00
Olli Pettay
ac0ae74439
Bug 1352734, use memcmp for nsIAtom Equals to improve performance, r=hsivonen
...
--HG--
extra : rebase_source : 1a78863c52f088609a6edcb6b32bf16bc02a4118
2017-04-02 22:40:06 +03:00
Xidorn Quan
cf27123d34
Bug 1345804 part 1 - Constify several stuff in nsIAtom. r=erahm
...
MozReview-Commit-ID: Izzu0MpcKMr
--HG--
extra : rebase_source : 4c44fc79f5d0c4fd34f77c8c14e0888186e2a4f0
2017-03-10 11:38:49 +11:00
Nicholas Nethercote
cd63c6bfee
Bug 1261735 (part 3) - De-virtualize nsIAtom::IsStaticAtom(). r=froydnj,erahm.
...
This avoids the need for some virtual function calls and also will help lead to
distinct representations for dynamic and static atoms.
--HG--
extra : rebase_source : 16bbe6f1e1309ee3e4fab7a0d222e638178a2a9c
2016-04-06 11:28:40 +10:00
Nicholas Nethercote
e4dec8d42f
Bug 1261735 (part 1) - Overhaul the atom implementation. r=froydnj,erahm.
...
This patch changes things so that dynamic atoms and static atoms have distinct
implementations. This is a step towards allowing dynamic atoms and static atoms
to have different layouts in memory, which will allow static atoms to be
represented more compactly.
Specifically, the patch does the following.
- It renames AtomImpl as DynamicAtom and PermanentAtomImpl as StaticAtom, and
the latter is no longer a subclass of the former. This required duplicating
some methods from the former into the latter: ScriptableToString(),
ToUTF8String(), ScriptableEquals(), IsStaticAtom(). (This duplication will
disappear in the future if the representations of dynamic atoms and static
atoms diverge. Indeed, SizeOfIncludingThis() is already different in the two
classes.)
- It replaces all mentions of "permanent"/"non-permanent" atoms with
"static"/"dynamic".
- In ~DynamicAtom() it removes the check that causes gAtomTable to be deleted
when it becomes empty. This will only happen at shutdown and so doesn't seem
useful.
- It documents better various things, especially the basics of the
dynamic/static split, the transmutation of dynamic atoms to static atoms, and
the details of the SizeOf functions.
--HG--
extra : rebase_source : dbf903012e70ebf1a43de1e1088db1bc1b8dd4f4
2016-04-01 11:18:06 +11:00
Nicholas Nethercote
d376f9f82e
Bug 1260871 - Remove do_GetAtom() and rename NS_NewAtom() as NS_Atomize(). r=erahm.
...
do_GetAtom() is currently just a synonym for NS_NewAtom().
--HG--
extra : rebase_source : f4409784f931616cbc300591e6b843d30805c273
2016-03-29 10:09:43 +11:00
Nicholas Nethercote
bbfe3dbc14
Bug 1257402 - Remove NS_NewPermanentAtom() and nsIAtomService.getPermanentAtom(). r=froydnj,kmag.
...
The former is only used inconsequentially in tests. The second is not used at
all.
--HG--
extra : rebase_source : 4cfe11f933f1fe8f788e823c5107941085cef92c
2016-03-17 13:11:31 +11:00
Nicholas Nethercote
41e924c6e0
Bug 1257128 (part 1) - Remove nsIAtom.equalsUTF8. r=froydnj.
...
It's only used in tests.
2016-03-16 21:05:30 +11:00
Nicholas Nethercote
d637d20fdf
Bug 1250396 (part 1) - Document a subtle contraint on nsIAtom. r=froydnj.
...
--HG--
extra : rebase_source : d26b318240e504f170d5649f4c12eadf05c433b8
2016-02-17 11:30:02 +11:00
Nicholas Nethercote
ec89bbf7f2
Bug 1237151 (part 3) - Remove ignored qualifiers in all remaining code. r=froydnj.
2016-01-05 17:08:45 -08:00
Ehsan Akhgari
6011b07362
Bug 1015430 - Fix more XPCOM constructors to clarify whether they should be explicit; r=froydnj
2014-05-25 21:16:01 -04:00
Ehsan Akhgari
1b83407ce9
Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
...
This patch was automatically generated by the following script:
#!/bin/bash
# Command to convert PRUnichar to char16_t
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*modules/libmar*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name prtypes.h \
! -name Char16.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Jacek Caban
e2cd5ba18b
Bug 944905 - Fixed char16_t/wchar_t mismatch in xpcom/ r=bsmedberg
2013-12-04 13:19:09 +01:00
Aryeh Gregor
9c1f94b576
Bug 859817 - Make NS_NewAtom return already_AddRefed; r=bz
2013-04-22 14:13:22 +03:00
Boris Zbarsky
e5eec0dbd7
Bug 858671. Make do_GetAtom infallible. r=khuey
2013-04-08 17:04:21 -04:00
Boris Zbarsky
4c46810e1f
Bug 834877 part 4. Add overloads of GetAttr() and GetId() that take a DOMString. r=peterv
2013-01-29 09:42:14 -05:00
Ehsan Akhgari
e368dc9c85
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Boris Zbarsky
b338b37cbf
Bug 730414 followup comment to address review comments
2012-02-29 21:44:02 -05:00
Boris Zbarsky
a27156b93e
Bug 730414. Expose a quick way to get a hash key for an atom. r=bsmedberg
2012-02-29 21:40:51 -05:00
Michael Wu
d2b70213ac
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
...
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Matheus Kerschbaum
8a4cb927fd
Bug 678155 - Remove NS_COM. r=bsmedberg
2011-08-18 15:46:39 +02:00
Jonas Sicking
cfcfd3bcb2
Bug 661980: Add ability to make interfaces scriptable but not scriptimplementable. r=bsmedberg
2011-06-16 12:21:25 -07:00
Jonas Sicking
e1f58838d3
Bug 534136 Part 4: Inline accessors on nsIAtom. r=peterv sr=jst
2010-03-08 07:45:00 -08:00
Jonas Sicking
c7c7514f75
Bug 534136 Part 2: Use 16bit-char buffers inside atoms. r=bz sr=mrbkap
2010-03-08 07:45:00 -08:00
Jonas Sicking
c24e5442a9
Bug 534136 Part 1: Make atoms keep a pointer to an nsStringBuffer rather than storing the data inline. r=bsmedberg
2010-03-08 07:44:59 -08:00
Henri Sivonen
3ad04b51a7
Bug 514661 - Introduce scoped atom tables for the HTML5 parser. r=bsmedberg, sr=dbaron.
...
--HG--
extra : rebase_source : 12e9731c0d86691cde40fc1ea4cc5ab4b3fb5168
2009-09-18 18:13:10 +03:00
bsmedberg%covad.net
a7253270ad
Bug 305949 Part 1 - Separate the frozen XPCOM exports with the XPCOM_API macro; add compatibility methods to the frozen string API; convert most of the tests/tools to use the xpcom glue when appropriate r=darin This checking does not actually stop exporting the nonfrozen methods yet, pending a bunch of test cleanup throughout the tree.
2005-11-08 18:17:49 +00:00
gerv%gerv.net
31625ba2b1
Bug 236613: change to MPL/LGPL/GPL tri-license.
2004-04-18 14:21:17 +00:00
jaggernaut%netscape.com
6d16320259
Bug 210160: Add nsStringComparator parameter to String(Begins)|(Ends)With. r=bzbarsky, sr=dbaron
...
Bug 210162: Fix up comments, argument names of atom getters in nsIAtom.idl. r=bzbarsky, sr=dbaron
2003-06-21 02:59:51 +00:00
alecf%netscape.com
8c50d0242a
landing attempt #2 for 195262 - support for static atoms, and converting atoms over to UTF8 to reduce bloat - now without performance regressions!
...
sr=darin, r=dbaron
2003-03-25 18:55:59 +00:00
alecf%netscape.com
b6584a77fb
backout my static atom patch for now until I figure out the performance loss! :(
...
bug 195262
2003-03-21 20:13:08 +00:00
alecf%netscape.com
ecf24a2b78
fix for bug 195262:
...
- convert atoms to UTF8 because 99% of the time, that is what they are used for
- add support for static atoms, where the strings are declared in a large const array and not copied into the heap
r=dbaron, sr=darin
this is an experimental landing - if there are performance issues, I will back it out.
2003-03-21 06:26:32 +00:00
dbaron%dbaron.org
6dd68f3c64
Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst
2003-02-22 15:34:38 +00:00
dbaron%fas.harvard.edu
6cdcd7ef3a
Convert users of nsAReadable[C]String and nsAWritable[C]String typedefs to [const] nsA[C]String. b=131899 r=scc sr=jag a=asa
2002-03-24 00:16:18 +00:00
dbaron%fas.harvard.edu
2fe76cd2ac
Reduce the performance cost of (threadsafely) refcounting many atoms by creating a second implementation of nsIAtom (derived from the first) that does not refcount and gets destroyed at XPCOM shutdown. Normal atoms are converted to permanent ones without loss of pointer identity when a permanent atom is requested and a normal one already exists. b=92141 r=waterson sr=brendan
2001-10-20 23:19:07 +00:00
jst%netscape.com
9abec73fbe
DOM string changes. All nsString& in DOM interfaces (and interfaces needed by DOM implementations) have been changed to nsAReadableString& and nsAWritableString&. String implementation additions (sanctioned by scc) to support DOM needs. Bug 49091. r=vidur,jst,scc
2000-08-23 17:27:06 +00:00
putterman%netscape.com
3295d7781f
Fix for 24362. Status bar gets updated message counts. a=chofmann. r=dp and jband.
2000-01-20 22:57:08 +00:00
dmose%mozilla.org
142ac52eaf
updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
1999-11-06 03:43:54 +00:00
kipp%netscape.com
4f9c341b0c
Allow atom table to be purged during shtudown
1999-09-30 21:40:00 +00:00
dougt%netscape.com
028f11d2bf
Changes nsIAtom iterface to return a shared (non-allocated) wstring when
...
GetUnicode() is called. (thanks waterson, jband)
Also fixing 12237. (thanks jband).
1999-09-03 22:21:29 +00:00
kipp%netscape.com
948ad27a21
Reworked sizeof api's to be much more useful; updated implementations to match
1999-08-31 03:04:37 +00:00
dougt%netscape.com
8297def7db
First cut of an IDL for nsIAtom. This preserves most of the origanal C++
...
interface quirks.
1999-08-21 06:38:59 +00:00