Jeff Walden
0ced4a90d6
Bug 851237 - Replace StaticAssert uses with MOZ_STATIC_ASSERT. r=dholbert
2013-03-21 18:26:15 -07:00
Jon Coppeard
22aae16f6f
Bug 849273 - Investigate splitting the js and JS namespaces r=terrence
2013-03-19 10:35:41 +00:00
Jeff Walden
867150f140
Bug 835542 - Add an IntegralConstant helper to TypeTraits.h, and use it where the spec says we should be using it. r=bjacob
2012-12-16 18:20:17 -05:00
Terrence Cole
57417692b6
Bug 844932 - HashTable rekey fixup does not guarantee !overloaded; r=sfink
2013-02-25 10:37:36 -08:00
Luke Wagner
bec043d418
Bug 845458 - IonMonkey: simplify constant double handling on x86 (r=dvander)
2013-02-26 19:56:30 -05:00
Jan de Mooij
6fecbddb95
Bug 844893 - Don't assert when two threads call getVMWrapper at the same time. r=luke
2013-02-26 13:49:44 +01:00
L. David Baron
b6b42cafaa
Bug 563195: Fix -Wshadow warnings in public JS API headers (those used from layout/style/). r=njn
2013-02-17 22:56:32 -08:00
Nicholas Nethercote
54032f4998
Bug 840809 (part 1) - Fix a comment and rename a constant in HashTable.h. r=luke.
2013-02-14 11:11:15 -08:00
Terrence Cole
5b43aa9479
Bug 839673 - Do not access the ArenaHeader of already-finalized GCThings; r=luke
2013-02-12 17:48:10 -08:00
Terrence Cole
68930757ad
Back out changeset 0d285589f47a (Bug 839673) - Broken Merge
2013-02-13 11:04:25 -08:00
Terrence Cole
a1db4796d1
Bug 839673 - Do not access the ArenaHeader of already-finalized GCThings; r=luke
2013-02-12 17:48:10 -08:00
Jeff Walden
066a29a559
Rename the |static const bool result| member of IsSame, IsPod, and IsPointer to |value| to be consistent with every other type trait. I have no idea how I managed to consistently not notice this during review. Followup to bug 723228, r=typo
2013-02-08 22:59:54 -08:00
Razvan Cojocaru
4d201c0be3
Bug 723228 - nsTArray::AssignRange should use memcpy when possible. r=jlebar for the XPCOM changes, r=jwalden for js/mfbt changes
2013-02-08 13:18:49 -08:00
Luke Wagner
1d39e4bd8f
Bug 832090 - make HashMap/Set movable (r=terrence)
2012-11-28 15:19:39 -08:00
Justin Lebar
e60cb9a8d0
Bug 826951 - Compact hashtables if they're underloaded, instead of shrinking them by a factor of 2. r=luke
2013-01-08 11:04:19 +01:00
Justin Lebar
120d6a79b9
Bug 827238 - Fix an out-of-date comment in js/public/HashTable.h r=luke
2013-01-08 11:04:19 +01:00
Terrence Cole
a8f68ed4c3
Bug 826435 - Do not allow poisoned pointers near a HashTable; r=sfink
...
The rooting analysis depends on all usage of a poisoned pointer to crash. This
patch makes the above usage crash, as required.
2013-01-03 17:01:38 -08:00
Jeff Walden
8a6657de57
Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger
2012-12-14 18:58:45 -05:00
Luke Wagner
0b51da989d
Bug 810192 - don't require a default constructor for Hash{Map,Set}; only construct objects for live elements (r=terrence)
2012-11-12 15:30:39 -08:00
Terrence Cole
f81b1d5878
Bug 807151 - Unexport |mozilla| from the |js| namespace; r=Waldo
...
Clang does not want to allow js::ion::Range and mozilla::Range simultaneously
when we have a |namespace js { using namespace mozilla; }| declaration.
2012-11-06 17:35:18 -08:00
Nicholas Nethercote
8658680292
Bug 800481 - Remove unnecessary second arg from HashTable::hash{1,2}. r=luke.
2012-10-11 16:36:29 -07:00
Jeff Walden
53c85790aa
Use MOZ_DELETE on the copy/assignment operators for various hash classes. No bug, r=lumpy
2012-09-10 13:27:04 -07:00
Jeff Walden
4899a52913
Tweak an assertion in HashTable.h to use initialized() rather than !null, for clarity. No bug, r=sparky
2012-09-10 13:17:55 -07:00
Terrence Cole
0f42161c9e
Bug 776583 - Make post barrier verifier pass interpreter tests; r=billm
2012-07-16 10:54:56 -07:00
Jason Orendorff
a9dbd10951
Bug 743107 - Add OrderedHashTable. Change implementation of Map and Set to retain insertion order. r=luke.
2012-07-03 16:33:38 -05:00
Terrence Cole
57e9e92ec2
Bug 763636 - Do not OOM after rekeying a HashTable; r=luke
...
This makes the overloaded case fixup after a rekey infallible by rehashing into
the existing table, rather than allocating a new one.
2012-06-15 13:21:24 -07:00
Terrence Cole
7155386bfe
Backed out changeset 35c79f50d85f
2012-06-14 17:06:01 -07:00
Terrence Cole
6fb1229ba0
Bug 763636 - Do not OOM after rekeying a HashTable; r=luke
...
This makes the overloaded case fixup after a rekey infallible by rehashing into
the existing table, rather than allocating a new one.
2012-06-14 16:05:57 -07:00
Terrence Cole
500bb4e179
Bug 759991 - Fix infinite loop in rekeyFront with fully collided Table; r=luke
...
This hooks up the same path to putNew, because it is slightly more efficient and
fixes an OOM failure introduced in c9024bcb8da0.
2012-06-06 16:40:56 -07:00
Phil Ringnalda
89ce6e86e6
Back out ecbe3c75551d (bug 759991) to investigate the effects on TestStartupCache bustage on a CLOSED TREE
2012-06-11 17:38:08 -07:00
Terrence Cole
e2deee1107
Bug 759991 - Fix infinite loop in rekeyFront with fully collided Table; r=luke
...
This hooks up the same path to putNew, because it is slightly more efficient and
fixes an OOM failure introduced in c9024bcb8da0.
2012-06-06 16:40:56 -07:00
Nicholas Nethercote
737a73a263
Bug 760337 - Add JS_ASSERT(table) where appropriate in HashTable.h. r=luke.
2012-06-04 00:00:24 -07:00
Terrence Cole
816de10c5e
Bug 760342 - Check explicitly for mis-use of HashTable::Enum; r=luke
...
If a user does removeFront or rekeyFront on an Enum, then continues to use it,
it will fail, potentially randomly. This patch makes the failure explicit in
debug builds.
2012-06-01 15:41:27 -07:00
Matt Brubeck
3024f60165
Back out bug 760342 for Windows build error, bug 755070 for Android crashes, and bug 760458 because it depends on 755070
2012-06-01 17:45:02 -07:00
Terrence Cole
182d257235
Bug 760342 - Check explicitly for mis-use of HashTable::Enum; r=luke
...
If a user does removeFront or rekeyFront on an Enum, then continues to use it,
it will fail, potentially randomly. This patch makes the failure explicit in
debug builds.
2012-06-01 15:41:27 -07:00
Gervase Markham
cb6a072c2a
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Terrence Cole
15c2def1d0
Bug 753479 - Make HashTable::Enum::rekeyFront take a separate Lookup; r=luke
2012-05-04 14:18:28 -07:00
Terrence Cole
0fa242d073
Bug 752604 - Ergonomics improvements for HashTable::rekeyFront; r=luke
2012-05-07 12:46:28 -07:00
Tom Schuster
f38eb6ed65
Bug 735036 - Check for OOM in debug only method. r=luke
2012-04-24 20:03:48 +02:00
Terrence Cole
9ed6718124
Bug 744052 - Restructure HashTable::checkOverflow for easier reading; r=luke
...
When I added this function, I just copied the existing logical structure. It
makes more sense here to check overflowed and return early, since we can do this
now.
2012-04-10 09:51:48 -07:00
Terrence Cole
4648e9c9ff
Bug 743885 - Fix OOM handling regression in HashTable; r=luke
...
Introduced by me in bug 722946.
2012-04-09 19:07:11 -07:00
Daniel Holbert
b716a481a2
Bug 742438: Fix straggling bool-vs-NULL comparison after HashSet::put return-type change. r=terrence
2012-04-04 11:18:18 -07:00
Terrence Cole
5c384426b8
Bug 740153 - Don't expose Entry directly through HashMap; r=luke
...
HashMap and HashSet only expose Entries through Ptr and Range, except for one
variant of put. They also don't expose the default size they use if you call
init() without an argument. These weirdnesses seem to be interface carried over
from the old jsdhash.
The first oddness is unused and can be removed, the second should simply get
exposed to make it easier to wrap HashMap and HashSet.
2012-03-30 11:01:58 -07:00
Terrence Cole
c1e130b40d
Bug 722946 - Add method to HashTable::Enum for inline rekeying; r=luke
...
It is possible in several places to have unconstrained client objects as the key
of a HashMap/HashSet. For generational and compacting GC, we will need to move
these objects in memory. This means we will need to remove and re-insert these
keys in a new location, during GC. Because we cannot safely allocate memory for
this, we need a specialized algorithm inside the HashTable itself.
2012-03-14 13:48:59 -07:00
Ehsan Akhgari
4e1861131c
Backout changeset ea6be5f60c42 (bug 722946) for breaking Windows builds
2012-03-14 14:29:58 -04:00
Terrence Cole
61bf49b700
Bug 722946 - Add method to HashTable for inline rekeying/removal; r=luke
...
It is possible in several places to have unconstrained client objects as the key
of a HashMap/HashSet. For generational and compacting GC, we will need to move
these objects in memory. This means we will need to remove and re-insert these
keys in a new location, during GC. Because we cannot safely allocate memory
for this, we need a specialized algorithm inside the HashTable itself.
2012-02-03 15:43:34 -08:00
Jason Orendorff
a3b5f66ae9
Add static assertions as requested in bug 726298 comment 2 and 4.
2012-03-01 12:48:47 -06:00
Nicholas Nethercote
c1dd090b4c
Bug 715453 - Remove computedSize from nsMallocSizeOfFun. r=jlebar,bhackett.
2012-01-25 00:52:51 -08:00
Bill McCloskey
1690fffa6b
Bug 720853 - Add read barrier for atom table (r=luke)
2012-01-24 18:32:56 -08:00
Jeff Walden
833fc08689
Bug 714264 - Move declarations around such that it's possible to include jsprvtd.h before Vector.h or HashTable.h. r=luke
2012-01-02 16:34:25 -06:00