Nathan Froyd
e255fd3842
Bug 1262826 - specialize nsTHashtable<nsPtrHashKey<T>> to share a common implementation; r=erahm
...
We have a number of nsTHashtable<nsPtrHashKey<T>> instantiations, mostly
from IPDL-generated code. There's no reason in principle that all of
these instantiations couldn't share code, since they're all storing POD
entries of the same size. Let's specialize nsTHashtable for such types,
providing a thin layer over a hashtable that stores void pointers. This
change saves about 90K of space (!) on x86-64 Linux.
2016-08-22 18:45:47 -04:00
Nicholas Nethercote
ddc78c3b0c
Bug 1229458 - Remove SizeOfIncludingThisMustBeUnshared() from string classes. r=mccr8.
...
The patch changes all uses of SizeOfIncludingThisMustBeUnshared() to
SizeOfIncludingThisIfUnshared(). This incurs the (tiny) cost of an unnecessary
IsReadonly() check for guaranteed-unshared strings, but avoids the possible
assertion failures that would occur when MustBeUnshared() was used incorrectly
on shared strings, which is an easy mistake to make.
--HG--
extra : rebase_source : b1e91f1c19bcbe0521b0ce461d6c90512ca938ef
2015-12-01 15:36:26 -08:00
Nathan Froyd
01583602a9
Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
...
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout. The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
# The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
xargs perl -p -i -e '
s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
s/nsRefPtr ?</RefPtr</g; # handle declarations and variables
'
# Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
# Handle nsRefPtr.h itself, a couple places that define constructors
# from nsRefPtr, and code generators specially. We do this here, rather
# than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
# things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
mfbt/nsRefPtr.h \
xpcom/glue/nsCOMPtr.h \
xpcom/base/OwningNonNull.h \
ipc/ipdl/ipdl/lower.py \
ipc/ipdl/ipdl/builtin.py \
dom/bindings/Codegen.py \
python/lldbutils/lldbutils/utils.py
# In our indiscriminate substitution above, we renamed
# nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nicholas Nethercote
647b520991
Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8.
...
--HG--
rename : xpcom/glue/pldhash.cpp => xpcom/glue/PLDHashTable.cpp
rename : xpcom/glue/pldhash.h => xpcom/glue/PLDHashTable.h
extra : rebase_source : 06b9d30db96ed78500fd44d9c0b51609103508a3
2015-09-15 20:49:53 -07:00
Seth Fowler
523787b5ca
Bug 1181907 (Part 1) - Make it possible to use nsGenericHashKey with free functions. r=heycam
2015-08-26 18:19:31 -07:00
Jim Mathies
d5d37f938c
Bug 1095754 - Miscellaneous code cleanup nits found along the way. r=me
2015-01-29 13:41:57 -06:00
Ehsan Akhgari
9297631e0b
Bug 1114880 follow-up: Rename MOZ_{STRONG,WEAK}_REF to MOZ_{OWNING,NON_OWNING}_REF
...
--HG--
extra : rebase_source : 51fff0785d112b5b87be3c6ff723c8986b37effe
2014-12-23 21:17:50 -05:00
Ehsan Akhgari
cd824d4b94
Bug 1114880 - Annotate some strong and weak references in XPCOM; r=froydnj
...
--HG--
extra : rebase_source : 3af3de656b98c8f41ed0330f205f9958a384c30c
2014-12-23 17:27:48 -05:00
Andrew McCreight
228d194059
Bug 1046281 - Use the simpler version of nsTHashtable memory reporters. r=njn
2014-08-05 13:27:41 -07:00
Eric Rahm
c7a5fc07c7
Bug 1047176 - Part 2: Use NS_PTR_TO_UINT32 in nsHashKeys. r=froydnj
...
--HG--
extra : rebase_source : 61e21dd66a5fbf79dbdf78e664f37dbf7967c3a2
2014-08-04 11:29:30 -07:00
Andrew McCreight
98c826564a
Bug 1045239 - Add a version of nsTHashtable::SizeOfExcludingThis that uses the entry's SizeOfExcludingThis. r=froydnj
2014-07-30 13:00:29 -07:00
Ehsan Akhgari
520fd897ed
Bug 1045065 - Fix some bad implicit constructors in xpcom; r=froydnj
2014-07-28 13:19:06 -04:00
Birunthan Mohanathas
c9fb2c0d48
Bug 1022456 - Fix modelines in xpcom/{base,glue,io,string,threads}/. r=froydnj
2014-06-30 08:39:45 -07:00
Birunthan Mohanathas
6b53f3d634
Bug 1022456 - Convert xpcom/glue/ to Gecko style. r=froydnj
2014-06-26 18:35:39 -07: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
Seth Fowler
579513aaf3
Bug 940142 - Add a lightweight generic hash key class to nsHashKeys.h. r=bsmedberg
2013-12-03 16:23:32 -08:00
Jim Blandy
a448351084
Bug 896100: Convert all uses of OldMove and MoveRef to true rvalue references and the modern Move and Forward. r=luke, r=waldo
2013-11-19 09:05:36 -08:00
Birunthan Mohanathas
0cfca404c5
Bug 784739 - Switch from NULL to nullptr in xpcom/ (2/3); r=ehsan
2013-10-10 16:41:39 -04:00
Karl Tomlinson
9c5c00238e
b=914033 add cycle collection helpers for nsTHashtable and nsRefPtrHashKey r=khuey
...
--HG--
extra : transplant_source : %5D%26%5C%A8%0A%AAg%FE%B57%F6%BChvl%FFg%F8%9E%C6
2013-09-24 13:47:30 +12:00
Justin Lebar
b0df52ae5e
Bug 906918 - Use MoveRef's in nsTHashtable. r=bsmedberg
...
This patch adds a move constructor for nsTHashtable and also lets
nsTHashtable use its EntryType's move constructor, if one is available.
This patch also adds move constructors for nsCharPtrHashKey and
nsUnicharPtrHashKey. Using these new constructors, nsTHashtable will be
able to avoid strdup()'ing all of its keys whenever it resizes the
table.
2013-08-20 09:08:00 -07:00
Mike Hommey
d01870f66f
Bug 892401 - Remove NEW_H. r=ted
2013-07-12 09:16:41 +09:00
Kyle Huey
ab927a2cc9
Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff
2013-07-09 07:28:15 -07:00
Ms2ger
669cc4360c
Bug 845374 - Part r: Stop including nsTArray.h in nsReadableUtils.h; r=khuey
2013-03-17 08:55:16 +01:00
Edwin Flores
ec00b3674e
Bug 719286 - Add float hash key type r=roc
2012-09-06 16:58:46 +12: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
Aryeh Gregor
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Jonathan Watt
970e60a384
Bug 767388 - Kill NS_DEBUG. r=bz.
...
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Justin Lebar
1fc1dc1879
Bug 729940 - Part 2: Stop using crappy hash functions in Gecko. r=bz
...
--HG--
extra : rebase_source : 6fa267a89878cc1a766d8618569debcea9b12e48
2012-03-12 18:53:18 -04:00
Ted Mielczarek
3a5926f308
bug 706554 - Add nsRefPtrHashKey. r=bsmedberg
2011-11-30 16:30:55 -05:00
Ehsan Akhgari
92064e6d3f
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04: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
Ryan VanderMeulen
a6f60ceb1e
Bug 606070 - warning C4244: 'return' : conversion from 'const PRUint64' to 'PLDHashNumber' in nsHashKeys.h r,a=bzbarsky
...
--HG--
extra : rebase_source : e0f4a753c9408c85165a9d3047be00e6c8ca757c
2010-11-06 14:53:37 +00:00
Boris Zbarsky
4278311832
Bug 605492 part 2. Add a way to get an outer window object given its window id via windowutils. r=mrbkap
2010-10-20 20:24:16 -04:00
Robert O'Callahan
d789c3dbfa
Bug 462593. Add nsPtrHashKey<T> to XPCOM. r=bsmedberg
2009-01-09 13:12:33 +13:00
jwalden@mit.edu
6d7584839a
Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros.
2007-07-08 00:08:04 -07:00
dbaron@dbaron.org
e7bb1b1c38
Remove GetKeyPointer method from nsTHashtable key types. b=374906 r=bsmedberg
2007-03-27 08:34:59 -07:00
sharparrow1%yahoo.com
55aba527d3
Bug 369690: nsPresContext::mImageLoaders uses wrong key; r+sr=bzbarsky
2007-02-09 20:44:10 +00:00
graydon%mozilla.com
4525ab79d9
Bug 333078: XPCOM cycle collector
...
r=brendan, sicking, bz, dbaron, bsmedberg
2007-01-04 22:31:26 +00:00
vladimir%pobox.com
82a10357c9
backing out bug 333078, xpcom cycle collector due to perf issues
2006-11-22 23:18:16 +00:00
vladimir%pobox.com
3748c8bf4f
b=333078, xpcom cycle collector -- patch from graydon@mozilla.com, r=many
2006-11-22 19:23:02 +00:00
benjamin%smedbergs.us
0ce991da3a
Bug 339105 - nsUnicharPtrHashKey, r=darin
2006-06-15 13:48:29 +00:00
jst%mozilla.jstenback.com
7223904a81
Fixing bug 318461. Move SetNewDocument() and SetOpenerWindow() from nsIScriptGlobalObject to nsPIDOMWindow to clean out non-script related methods form the nsIScriptGlobalObject interface. r=mrbkap@gmail.com, sr=bzbarsky@mit.edu
2005-12-01 19:35:27 +00:00
bsmedberg%covad.net
c0af4ff1aa
Bug 316732 - Allow for hashing on nsIFile by introducing a new nsIHashable interface and implementing it for the file types r=darin
2005-11-18 14:18:49 +00:00
bsmedberg%covad.net
acf28ad4d1
Bug 289010 - Move nsVoidArray/nsCOMArray to the XPCOM glue, and a few other things to make the glue easier to use, r=shaver+darin . The following files were CVS-copied from xpcom/ds to xpcom/glue:
...
nsVoidArray.h
nsVoidArray.cpp
nsCOMArray.h
nsCOMArray.cpp
nsQuickSort.h
nsQuickSort.cpp
2005-11-02 20:38:21 +00:00
neil%parkwaycc.co.uk
3c12b083dc
Mingw bustage fix for bug 299992 r=bsmedberg,darin
2005-09-22 13:22:52 +00:00
pinkerton%aol.net
d867ea6f33
fix camino build bustage
2005-08-16 00:37:15 +00:00
bsmedberg%covad.net
f0d2e05a7e
Bug 299992 (re-landing) - Move pldhash etc. into the xpcom glue, and centralize various instances of nsINIParser in the xpcom glue. Some files were cvscopied from xpcom/ds to xpcom/glue r=brendan/darin
2005-08-15 18:29:55 +00:00
bsmedberg%covad.net
8992fb4c7d
Backout bug 299992 - too much odd platform-specific bustage
2005-08-11 22:07:08 +00:00
bsmedberg%covad.net
7c1779e9ce
Bug 299992 - strdup requires <string.h> on windows (why not on mac, hrm?)
2005-08-11 21:17:14 +00:00