Commit Graph

132 Commits

Author SHA1 Message Date
Brian Hackett
5866d7279f Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
Nick Fitzgerald
5438275e30 Bug 1139217 - Make js::HashSet<T> work with move-only T types; r=luke 2015-03-03 17:54:00 +01:00
Jon Coppeard
7c8c621e4e Bug 1136046 - Increase maximum capacity of js::HashMap and HashSet r=luke 2015-02-26 09:02:13 +00:00
Nicholas Nethercote
af301d189b 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
fa56e119f1 Bug 1131783 - Mark various unlikely conditions as MOZ_UNLIKELY r=waldo 2015-02-12 08:37:01 -08:00
Birunthan Mohanathas
48741e37ed Bug 1120796 - Part 2: Replace ConvertibleToBool hackarounds with explicit bool operators. r=Waldo 2015-02-03 18:52:36 +02:00
Jon Coppeard
4e800b98d2 Bug 1127246 - Add a post barrier to the baseShapes table r=terrence a=abillings 2015-02-02 10:11:23 +00:00
Masatoshi Kimura
40a556102e Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Ehsan Akhgari
bd52bd3f4e 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
7374f6dfad Bug 712939 - Replace a bunch of JS_STATIC_ASSERTs with static_assert. r=jandem
--HG--
extra : rebase_source : 4205bda533538d866b8facd669b11cb40e2f02e9
2014-10-22 15:17:38 -07:00
Nicolas B. Pierron
2c4549342d 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
941d5cecdd Bug 650161 - Update pointers to relocated objects r=terrence 2012-06-05 11:47:42 -07:00
Ed Morley
da896fddb3 Backed out changeset 3adf62f886d9 (bug 650161) 2014-08-14 12:52:41 +01:00
Jon Coppeard
2c36c06785 Bug 650161 - Update pointers to relocated objects r=terrence 2012-06-05 11:47:42 -07:00
Terrence Cole
5bb53b0708 Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Nicholas Nethercote
ca88efe960 Bug 1043605 - Fix up DEBUG/JS_DEBUG confusion in HashTable.h. r=jwalden.
--HG--
extra : rebase_source : ae56e815766be675083596e177844e2365e93906
2014-08-10 23:17:44 -07:00
Nicholas Nethercote
06e58a92ae 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.

--HG--
extra : rebase_source : 8bdfbfe40f233711433bd9b7a2b5a19d69beacc7
2014-07-16 16:51:09 -07:00
Nicholas Nethercote
ab815d0c3b Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Dan Gohman
243266ba02 Bug 1004363 - IonMonkey: A new value-numbering implementation based on a dom-tree DFS. r=nbp 2014-06-27 10:38:44 -07:00
Ehsan Akhgari
4b8f121ea2 Bug 1013663 - Fix some bad implicit conversion constructors in the JS engine; r=jorendorff,jandem 2014-05-25 21:46:24 -04:00
Dan Gohman
64a0b2bfff Bug 1004363 - SpiderMonkey: Eliminate unused functions. r=mjrosenb 2014-05-14 21:51:55 -07:00
Chris Peterson
b6a3cbfa97 Bug 712873 - Part 2: Replace JS_ASSERT with MOZ_ASSERT outside js/src/ directory. r=luke 2014-02-17 22:24:15 -08:00
Daniel Holbert
682b66552e back out 3a8893b28489 (bug 712939) and 39adab158c17,16add78c43e3,37193db7e15b (bug 712873), for build bustage. 2014-02-19 00:15:51 -08:00
Chris Peterson
f86f58f16d Bug 712873 - Part 2: Replace JS_ASSERT with MOZ_ASSERT outside js/src/ directory. r=luke 2014-02-17 22:24:15 -08:00
Chris Peterson
610ad17d6a Bug 964016 - Part 2: Replace JS_UNLIKELY with MOZ_UNLIKELY. r=luke 2014-01-24 19:57:58 -08:00
Nicholas Nethercote
7b29979d36 Bug 961883 (part 0) - Some tiny HashTable comment tweaks. r=luke.
--HG--
extra : rebase_source : 749b61ec992335aa5e2be63340e88b04ff236967
2014-01-20 19:52:52 -08:00
Terrence Cole
51307974e1 Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Terrence Cole
e3a8f2bd80 Backout changeset 70e76314c8a7 for build bustage on a CLOSED TREE.
--HG--
extra : rebase_source : 83e1e8a5a4802ef0b7b1d6f7dc0df6595bc9f00f
2013-12-10 15:26:05 -08:00
Terrence Cole
8d3efe596e Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Sean Stangl
59cdede15c Bug 939505 - Use JS_DEBUG in public headers. r=jorendorff 2013-12-06 15:03:08 -08:00
Jon Coppeard
8f8d210a4e Bug 939993 - Add assert that hash key is still valid in HashTable::relookupOrAdd r=sfink 2013-12-07 12:50:52 +00:00
Jeff Walden
43ff4d65b7 Bug 940033 - js::HashMapEntry::{key,value} fields should be private, with accessors, and the former should expose a const reference. r=jimb
--HG--
extra : rebase_source : 439d194ed15bf87e9643c9c09d4512ff7f616fcc
2013-11-25 17:35:09 -08:00
Carsten "Tomcat" Book
7aed87ac9d Backed out changeset 042ab55b8476 (bug 939993) for Spidermonkey rootanalysis orange on a CLOSED TREE 2013-11-25 15:04:35 +01:00
Jon Coppeard
9f36f7aa14 Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-25 11:26:10 +00:00
Ryan VanderMeulen
43d6223947 Backed out changeset 1469f9e856c0 (bug 939993) for SM rootanalysis crashes.
CLOSED TREE
2013-11-21 09:44:27 -05:00
Jon Coppeard
e705b6bebe Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-19 22:53:32 +00:00
Ed Morley
6e9fecbb20 Backed out changeset 1b720320ccf4 (bug 939993) for rootanalysis assertions on a CLOSED TREE 2013-11-20 16:38:41 +00:00
Jon Coppeard
8ca36e8447 Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-19 22:53:32 +00:00
Jim Blandy
7cf9e41fc9 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
Jeff Walden
8d65c428b8 Bug 934718 - Simplify some of the alpha computations in HashTable.h by converting alpha fractions to numerator/denominator ratios of integers, and convert associated JS_STATIC_ASSERT to static_assert. r=luke
--HG--
extra : rebase_source : a35631c885ad7058739d9e99498714f318ef589c
2013-10-24 17:11:32 +01:00
Nathan Froyd
73d53adda3 Bug 925879 - use JS_BITS_PER_WORD instead of JS_BYTES_PER_WORD in HashTable.h; r=njn 2013-10-15 10:11:03 -04:00
Shu-yu Guo
ed46c58374 Bug 903193 - Part 4: Add ability to do read only lookup on the Shape tree. (r=bhackett) 2013-10-08 15:14:03 -07:00
Douglas Crosher
95bb02c8a8 Bug 923328 - Ionmonkey: fix float32 hash function. r=terrence 2013-10-03 10:11:18 +10:00
Jon Coppeard
2b0c3a4661 Bug 912567 - Split HashMap/HashSet::rekey() into rekey() and rekeyIfMoved() r=terrence 2013-09-24 10:03:32 +01:00
Birunthan Mohanathas
39e3b9e4cc Bug 784739 - Switch from NULL to nullptr in js/ductwork/, js/ipc/, and js/public/; r=ehsan 2013-09-19 15:24:53 -04:00
Justin Lebar
c7f8e10a8a Bug 909977 - Rename mozilla::Move to mozilla::OldMove, and make mozilla::Move a synonym for std::move(). r=waldo
--HG--
extra : rebase_source : 7b3bb02cc8cbc0ad6721c6c3895564d9567b8ddb
2013-08-29 11:54:14 -07:00
Jon Coppeard
2ef0dc9b58 Bug 906387 - Rehash hash tables if necessary when rekeying during minor GC r=terrence 2013-08-29 10:27:50 +01:00
Jon Coppeard
305702cb73 Bug 726687 - Stop rekeying from calling pre barriers r=terrence 2013-02-15 17:59:19 +00:00
Ms2ger
c2315a28ab Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo 2013-08-14 09:00:52 +02:00
Jeff Walden
5e2dbd029b Bug 891177 - Remove Vector.h's js/TemplateLib.h dependency by introducing mfbt/TemplateLib.h with the necessary bits. r=terrence
--HG--
extra : rebase_source : e84231171d6bd6c1e2de8201b8c9563375723d01
2013-07-08 12:42:13 -07:00