Jan de Mooij
87bf19401f
Bug 1350760 part 6 - Add a Zone cache for recently atomized strings. r=jonco
2017-03-31 10:54:16 +02:00
Jan de Mooij
1ae97de3f1
Bug 1350760 part 5 - Make sure various hashtable lookups get inlined when atomizing strings. r=luke
2017-03-31 10:53:39 +02:00
Jeff Walden
d33e8613b2
Bug 1246061 - Add some comments. r=luke
2016-03-23 13:21:02 -07:00
Jon Coppeard
a8f38ffade
Bug 1260785 - Make hashcode generation fallible for cell pointers that can be moved by GC r=terrence
2016-07-13 10:20:00 +01:00
Jan de Mooij
cac751e8e9
Bug 1269319 followup - Don't swap an entry with itself to avoid Variant self assignment. r=bustage
2016-05-21 18:08:30 +02:00
Jan de Mooij
b94199ed72
Bug 1269319 - Make AlignedStorage/AlignedStorage2 non-copyable to fix strict aliasing issues. r=Waldo
2016-05-19 20:57:36 +02:00
Nicholas Nethercote
26b6e79d96
Bug 1267550 (part 2) - Rename MOZ_WARN_UNUSED_RESULT as MOZ_MUST_USE. r=froydnj.
...
It's an annotation that is used a lot, and should be used even more, so a
shorter name is better.
MozReview-Commit-ID: 1VS4Dney4WX
2016-04-27 14:16:50 +10:00
Shu-yu Guo
6e1c2a843d
Bug 1265956 - Assert that no entry is found in HashTable::putNew. (r=terrence)
2016-04-20 14:52:12 -07:00
Jeff Walden
85a717f285
Bug 1246061. r=jandem, r=bz, r=luke, r=froydnj
2016-03-09 00:37:20 -08:00
Luke Wagner
71e9479dce
Bug 1234985 - Hoist CStringHasher (r=sfink)
2016-01-20 12:00:21 -06:00
Luke Wagner
c9adf369ac
Bug 1239601 - improve the UniquePtr situation (r=jorendorff)
2016-01-15 18:26:06 -06:00
Terrence Cole
fa9064ea99
Bug 1239515 - Simplify HashSet's key-overwriting interface; r=sunfish
2016-01-14 09:43:30 -08:00
Jim Blandy
91a70554e0
Bug 1236801: Don't check for simulated OOM in a way that invalidates AddPtrs for no discernable reason. (Revised to fix uninitialized var, r=sfink) r=jonco
2016-01-12 16:49:45 -08:00
Wes Kocher
f9b049098b
Backed out changeset 7111837e42b9 (bug 1236801) for SM wError bustage
2016-01-12 16:55:12 -08:00
Jim Blandy
fac758d5cd
Bug 1236801: Don't check for simulated OOM in a way that invalidates AddPtrs for no discernable reason. r=jonco
2016-01-08 10:01:53 -08:00
Jon Coppeard
d7f739d415
Bug 1232672 - Use MOZ_WARN_UNUSED_RESULT to make hash table clients check for failure r=luke r=billm r=njn
2015-12-22 13:29:43 +00:00
Jon Coppeard
109829c8f1
Bug 1207519 - Prevent HashTable shrink from ignoring allocation failures that may have been reported r=Waldo
2015-09-30 11:34:49 +01:00
Jon Coppeard
9ab68eba4e
Bug 1200642 - Add OOM simulation to hastables r=terrence
2015-09-30 11:34:49 +01:00
Terrence Cole
8abd842597
Bug 1196847 - Part 2: Implement a cell hasher that uses unique id based hashes; r=jonco
2015-08-26 14:51:35 -07:00
Terrence Cole
f0d9e8f78f
Bug 1196847 - Part 1: Allow storage of a unique id for a cell independent of address; r=jonco
...
* * *
imported patch rewrite_uid_on_ht_with_zone_sweeping
2015-08-20 10:35:22 -07:00
Terrence Cole
76cb0517aa
Backout cca86cd156cf (Bug 1196847) for regressing EarleyBoyer.
2015-09-28 14:57:16 -07:00
Terrence Cole
359c2df69b
Backout 74608aa063b9 (Bug 1196847) for regressing EarleyBoyer.
2015-09-28 14:56:57 -07:00
Terrence Cole
e71d71456e
Bug 1196847 - Part 2: Implement a cell hasher that uses unique id based hashes; r=jonco
2015-08-26 14:51:35 -07:00
Terrence Cole
2840f5e6d8
Bug 1196847 - Part 1: Allow storage of a unique id for a cell independent of address; r=jonco
...
* * *
imported patch rewrite_uid_on_ht_with_zone_sweeping
2015-08-20 10:35:22 -07:00
Terrence Cole
2a7d3fe4f4
Backout 7f6585a46cd0 (Bug 1196847) for being on top of a regression.
2015-09-03 09:37:19 -07:00
Terrence Cole
2b6a504d51
Bug 1196847 - Part 2: Implement a cell hasher that uses unique id based hashes; r=jonco
2015-08-26 14:51:35 -07:00
Nick Fitzgerald
f219652117
Bug 1187399 - Add a js::DefaultHasher specialization for mozilla::UniquePtr<T> that proxies the UniquePtr's raw pointer to PointerHasher. r=terrence
2015-07-24 10:42:00 -04:00
Birunthan Mohanathas
a29151dc87
Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
...
The bulk of this commit was generated by running:
run-clang-tidy.py \
-checks='-*,llvm-namespace-comment' \
-header-filter=^/.../mozilla-central/.* \
-fix
2015-07-13 08:25:42 -07:00
Jan de Mooij
75afa21431
Bug 1144366 followup - Stop declaring multiple pointers on a single line. r=jorendorff
2015-04-02 11:22:21 +02:00
Jon Coppeard
dfc696d009
Bug 1149135 - Don't create HashMapEntry on stack when adding to a HashMap r=luke
2015-04-01 10:11:06 +01:00
Jan de Mooij
c6596c5fa8
Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff
2015-03-28 23:22:11 +01:00
Phil Ringnalda
1a1c158706
Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
...
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij
369ef1b850
Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff
2015-03-28 12:08:37 +01:00
Brian Hackett
65c0af280b
Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink.
2015-03-18 18:01:35 -07:00
Nick Fitzgerald
2d59954d12
Bug 1139217 - Make js::HashSet<T> work with move-only T types; r=luke
2015-03-03 17:54:00 +01:00
Jon Coppeard
127c7e4901
Bug 1136046 - Increase maximum capacity of js::HashMap and HashSet r=luke
2015-02-26 09:02:13 +00:00
Nicholas Nethercote
4636a025ad
Bug 979293 - Don't write collision bits in HashTable unnecessarily. r=luke.
...
This avoids no-op writes to the keyHash of entries when doing a no-add-lookup.
This removes a genuine data race in JSRuntime::permanentAtoms, which receives
frequent no-add-lookups from multiple threads after JSRuntime initialization
without any kind of locking.
2015-02-25 10:39:46 -08:00
Dan Gohman
a423f47fe2
Bug 1131783 - Mark various unlikely conditions as MOZ_UNLIKELY r=waldo
2015-02-12 08:37:01 -08:00
Birunthan Mohanathas
7f80d25ce3
Bug 1120796 - Part 2: Replace ConvertibleToBool hackarounds with explicit bool operators. r=Waldo
2015-02-03 18:52:36 +02:00
Jon Coppeard
e46b475240
Bug 1127246 - Add a post barrier to the baseShapes table r=terrence a=abillings
2015-02-02 10:11:23 +00:00
Masatoshi Kimura
bae0a32948
Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo
2015-01-11 11:34:52 +09:00
Ehsan Akhgari
a7f747ec15
Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
...
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:
#!/bin/bash
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "*/.git*" \
! -wholename "obj-*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Jeff Walden
bcdf0c3bb3
Bug 712939 - Replace a bunch of JS_STATIC_ASSERTs with static_assert. r=jandem
2014-10-22 15:17:38 -07:00
Nicolas B. Pierron
cb753ff627
Bug 1074911 - Replace JS_ASSERT by MOZ_ASSERT. r=jorendorff
...
Apply the following script
sed -i '
/JS_ASSERT(/ {
s/JS_ASSERT(/MOZ_ASSERT(/;
:b;
s/ \\$/\\/;
/;/ { p; d; };
n;
s/^/ /;
b b;
};
s/JS_ASSERT (/MOZ_ASSERT(/;
'
Except where the JS_ASSERT macro does not end with a semi-colon, where empty
lines are in the middle of the macro, and where the backslahes are always the
same-length after the expression.
2014-10-01 19:17:51 +02:00
Jon Coppeard
6e0d7b61ee
Bug 650161 - Update pointers to relocated objects r=terrence
2012-06-05 11:47:42 -07:00
Ed Morley
d84861ec54
Backed out changeset 3adf62f886d9 (bug 650161)
2014-08-14 12:52:41 +01:00
Jon Coppeard
0df96e785c
Bug 650161 - Update pointers to relocated objects r=terrence
2012-06-05 11:47:42 -07:00
Terrence Cole
845c16df98
Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco
2014-08-05 14:06:35 -07:00
Nicholas Nethercote
644380fb98
Bug 1043605 - Fix up DEBUG/JS_DEBUG confusion in HashTable.h. r=jwalden.
2014-08-10 23:17:44 -07:00
Nicholas Nethercote
5a6780f78f
Bug 1038601 - Shrink js::HashTable. r=luke.
...
This patch reduces sizeof(js::HashTable):
- On 64-bit: from 32 bytes to 24 bytes.
- On 32-bit: from 24 bytes to 16 bytes.
The latter is particularly nice because jemalloc rounds up allocation requests
of 24 bytes to 32, but it can allocate 16 bytes without slop, so we're saving
16 bytes per heap-allocated HashTable.
This is done by:
- Shrinking |removedCount| and |hashShift|.
- Reordering the fields.
- Not defining |mutationCount| and |mEntered| in non-DEBUG builds rather than
using DebugOnly<> -- in non-DEBUG builds, DebugOnly<> fields take up 1 byte
each.
This change saves over 55 KiB when starting Firefox and loading Gmail.
The patch also uses uint32_t more consistently for the generation.
2014-07-16 16:51:09 -07:00