Commit Graph

117 Commits

Author SHA1 Message Date
Nicholas Nethercote
609079cb43 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
256a1f168b 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
2a0942be41 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
abf3658282 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
5b0272c079 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
0085f65548 Bug 1004363 - SpiderMonkey: Eliminate unused functions. r=mjrosenb 2014-05-14 21:51:55 -07:00
Chris Peterson
d2c6598a97 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
c516662c22 back out 3a8893b28489 (bug 712939) and 39adab158c17,16add78c43e3,37193db7e15b (bug 712873), for build bustage. 2014-02-19 00:15:51 -08:00
Chris Peterson
58e6c13345 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
1b2b307e88 Bug 964016 - Part 2: Replace JS_UNLIKELY with MOZ_UNLIKELY. r=luke 2014-01-24 19:57:58 -08:00
Nicholas Nethercote
b60b20f34b 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
2839167636 Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Terrence Cole
b303ecda68 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
8013e4fe9b Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Sean Stangl
33cecd91b2 Bug 939505 - Use JS_DEBUG in public headers. r=jorendorff 2013-12-06 15:03:08 -08:00
Jon Coppeard
0b13b21c71 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
a51194c4dc 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
13099086fa Backed out changeset 042ab55b8476 (bug 939993) for Spidermonkey rootanalysis orange on a CLOSED TREE 2013-11-25 15:04:35 +01:00
Jon Coppeard
af4f430fcb Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-25 11:26:10 +00:00
Ryan VanderMeulen
0b04f14b61 Backed out changeset 1469f9e856c0 (bug 939993) for SM rootanalysis crashes.
CLOSED TREE
2013-11-21 09:44:27 -05:00
Jon Coppeard
5fe8c751ed Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-19 22:53:32 +00:00
Ed Morley
8291c4ed9e Backed out changeset 1b720320ccf4 (bug 939993) for rootanalysis assertions on a CLOSED TREE 2013-11-20 16:38:41 +00:00
Jon Coppeard
ea691b049e Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-19 22:53:32 +00: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
Jeff Walden
1ace537923 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
6be5da9d86 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
c67b8a81d2 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
c5c8a5b58e Bug 923328 - Ionmonkey: fix float32 hash function. r=terrence 2013-10-03 10:11:18 +10:00
Jon Coppeard
a9d324a316 Bug 912567 - Split HashMap/HashSet::rekey() into rekey() and rekeyIfMoved() r=terrence 2013-09-24 10:03:32 +01:00
Birunthan Mohanathas
578826a89e 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
66f7416cab 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
f330426b3d Bug 906387 - Rehash hash tables if necessary when rekeying during minor GC r=terrence 2013-08-29 10:27:50 +01:00
Jon Coppeard
52c1bd6bdc Bug 726687 - Stop rekeying from calling pre barriers r=terrence 2013-02-15 17:59:19 +00:00
Ms2ger
9d023a67df 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
7c8d6dea3e 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
Jeff Walden
90a0f4dfea Bug 891177 - Move js::Swap to mozilla::Swap. r=terrence
--HG--
extra : rebase_source : 925bccd4fa3f95e1aa4e17d94ad5a443fc7a63aa
2013-07-03 15:57:33 -07:00
Jeff Walden
7a5c915ff2 Bug 891177 - Add ReentrancyGuard.h as a helper class for asserting that use of a class is non-reentrant. r=terrence
--HG--
extra : rebase_source : 3751e523c0b0315697cb6e005dfd8ee625f6dd58
2013-07-02 17:47:08 -07:00
Jeff Walden
3bc19b56c2 Bug 891177 - Implement Move.h to define a move-construction interface. r=terrence
--HG--
extra : rebase_source : 45f9bb87fc0ee96ea35005ca0dcb263aa11745b8
2013-07-02 17:25:13 -07:00
Terrence Cole
b1ea45059a Bug 888117 - Properly barrier the JSON stringifier's CycleDetection set; r=billm
--HG--
extra : rebase_source : 9cd269cf38bacfb63cbceef5dec795da2c24750c
2013-06-27 18:12:54 -07:00
Jon Coppeard
32a8cfef5d Bug 878160 - GC: post barrier weak references in the browser - part 1 JS engine r=terrence
--HG--
extra : rebase_source : 4dfd4f8f46564d3a9858646a0f68c9047c2f7e93
2013-07-02 09:43:45 +01:00
Catalin Iacob
d1755d1c96 Bug 798914 (part 4) - Use newly introduced mozilla::MallocSizeOf in js. r=njn.
--HG--
extra : rebase_source : d1c063b94c7ec58729150cbea602bb4c9f2a0e24
2013-06-23 13:21:01 +02:00
Dan Gohman
6e5e28438e Bug 885175 - DoubleHasher<double> fixes -- use a bitwise comparison to avoid considering zero and negative zero equal. r=luke 2013-06-20 11:55:41 -07:00
Emanuel Hoogeveen
e0a70e1fe3 Bug 883697 (part 1) - Make include guards consistent in js/ductwork/, js/ipc/ and js/public/. r=njn.
--HG--
extra : rebase_source : 34f5559ba6e64831905686e12356b70109d873a8
2013-06-19 17:59:09 -07:00
Terrence Cole
249e84efe1 Bug 706885 - Implement generational GC for the SpiderMonkey interpreter; r=billm 2013-03-14 10:26:06 -07:00
Sean Stangl
dc8230838c Bug 860029 - Standardize Modelines in the JS Module. r=njn 2013-04-16 13:47:10 -07:00
Phil Ringnalda
23acd61026 Back out a5a1dd3bd8ae (bug 860029) for stupidorange 2013-04-15 12:55:38 -07:00
Sean Stangl
d3d0513618 Bug 860029 - Standardize Modelines in the JS Module. r=njn 2013-04-15 11:33:03 -07:00
Phil Ringnalda
fe48637b66 Back out 5bf9771e1a28 (bug 860029) for bustage
CLOSED TREE
2013-04-11 19:55:37 -07:00
Sean Stangl
900638a687 Bug 860029 - Standardize Modelines in the JS Module. DONTBUILD. r=njn 2013-04-11 18:48:59 -07:00
Nathan Froyd
27039b4cb4 Bug 853646 - part 0a - remove js::StripConst and use mozilla::RemoveConst instead; r=Waldo 2013-04-03 11:24:11 -04:00