Commit Graph

112 Commits

Author SHA1 Message Date
Jason Orendorff
5fe754d967 Bug 743107 - Add OrderedHashTable. Change implementation of Map and Set to retain insertion order. r=luke.
--HG--
extra : rebase_source : f4f8ac16b79b9a8edf53dd496a503586b1efbf8a
2012-07-03 16:33:38 -05:00
Nicholas Nethercote
daf67b675e Bug 711130 (part 6) - Improve the measurement of decommitted GC memory. r=terrence.
--HG--
extra : rebase_source : ad344b58798cb6837a59f3d48f57880b036c300e
2012-06-25 17:09:00 -07:00
Nicholas Nethercote
688fb0d230 Bug 711130 (part 5) - Overhaul the "other measurements" measurements for JS memory consumption. r=terrence.
--HG--
extra : rebase_source : 492af75618c40eb2a92be2756f67db93834729cf
2012-06-25 17:08:59 -07:00
Nicholas Nethercote
d8c8dc869d Bug 711130 (part 3) - Use consistent names for reports of unused JS memory. r=terrence.
--HG--
extra : rebase_source : a8e5a7d77355539f84a7fbb4d312fa66d2fe5ba6
2012-06-25 17:06:50 -07:00
Nicholas Nethercote
28934b1f94 Bug 711130 (part 2) - Merge "arena/unused" and "arena/padding" into "arena-admin". r=terrence.
--HG--
extra : rebase_source : 1c9d318e86eb27c2e40f2ef95554afefb8a6c653
2012-06-25 17:06:50 -07:00
Jeff Walden
fb7e6c0e93 Bug 763000 - Remove MOZ_Assert. r=Ms2ger, r=terrence, r=ted 2012-06-07 14:41:11 -07:00
Terrence Cole
65eb4f944e 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.

--HG--
extra : rebase_source : fdd3f8bb1c9d2788c7281b69c974fdea0464fea8
2012-06-15 13:21:24 -07:00
Terrence Cole
ccd2c6ef0e Backed out changeset 35c79f50d85f
--HG--
extra : rebase_source : a84a5c5554e087f71771c2e3c180405dfdc750c3
2012-06-14 17:06:01 -07:00
Terrence Cole
a15344ecde 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.

--HG--
rename : mobile/android/base/resources/drawable/tabs_button_contracted.xml => mobile/android/base/resources/drawable/tabs_button.xml
rename : toolkit/mozapps/update/test/unit/test_0162_appInUse_xp_win_complete.js => toolkit/mozapps/update/test/unit/test_0161_appInUse_xp_win_complete.js
rename : toolkit/mozapps/update/test/unit/test_0174_fileLocked_xp_win_complete.js => toolkit/mozapps/update/test/unit/test_0172_fileLocked_xp_win_complete.js
rename : toolkit/mozapps/update/test/unit/test_0175_fileLocked_xp_win_partial.js => toolkit/mozapps/update/test/unit/test_0173_fileLocked_xp_win_partial.js
rename : toolkit/mozapps/update/test/unit/test_0188_fileInUse_xp_win_complete.js => toolkit/mozapps/update/test/unit/test_0184_fileInUse_xp_win_complete.js
rename : toolkit/mozapps/update/test/unit/test_0189_fileInUse_xp_win_partial.js => toolkit/mozapps/update/test/unit/test_0185_fileInUse_xp_win_partial.js
rename : toolkit/mozapps/update/test/unit/test_0190_rmrfdirFileInUse_xp_win_complete.js => toolkit/mozapps/update/test/unit/test_0186_rmrfdirFileInUse_xp_win_complete.js
rename : toolkit/mozapps/update/test/unit/test_0191_rmrfdirFileInUse_xp_win_partial.js => toolkit/mozapps/update/test/unit/test_0187_rmrfdirFileInUse_xp_win_partial.js
rename : toolkit/mozapps/update/test/unit/test_0203_app_launch_apply_update.js => toolkit/mozapps/update/test/unit/test_0201_app_launch_apply_update.js
rename : toolkit/mozapps/update/test_svc/unit/test_0162_appInUse_xp_win_complete_svc.js => toolkit/mozapps/update/test_svc/unit/test_0161_appInUse_xp_win_complete_svc.js
rename : toolkit/mozapps/update/test_svc/unit/test_0174_fileLocked_xp_win_complete_svc.js => toolkit/mozapps/update/test_svc/unit/test_0172_fileLocked_xp_win_complete_svc.js
rename : toolkit/mozapps/update/test_svc/unit/test_0175_fileLocked_xp_win_partial_svc.js => toolkit/mozapps/update/test_svc/unit/test_0173_fileLocked_xp_win_partial_svc.js
rename : toolkit/mozapps/update/test_svc/unit/test_0188_fileInUse_xp_win_complete_svc.js => toolkit/mozapps/update/test_svc/unit/test_0184_fileInUse_xp_win_complete_svc.js
rename : toolkit/mozapps/update/test_svc/unit/test_0189_fileInUse_xp_win_partial_svc.js => toolkit/mozapps/update/test_svc/unit/test_0185_fileInUse_xp_win_partial_svc.js
rename : toolkit/mozapps/update/test_svc/unit/test_0190_rmrfdirFileInUse_xp_win_complete_svc.js => toolkit/mozapps/update/test_svc/unit/test_0186_rmrfdirFileInUse_xp_win_complete_svc.js
rename : toolkit/mozapps/update/test_svc/unit/test_0191_rmrfdirFileInUse_xp_win_partial_svc.js => toolkit/mozapps/update/test_svc/unit/test_0187_rmrfdirFileInUse_xp_win_partial_svc.js
rename : toolkit/mozapps/update/test_svc/unit/test_0203_app_launch_apply_update_svc.js => toolkit/mozapps/update/test_svc/unit/test_0201_app_launch_apply_update_svc.js
extra : rebase_source : 651c27d020f2e64978742676340b2e284609c3a1
2012-06-14 16:05:57 -07:00
Dave Hylands
52b42dbe44 Bug 694594 - Fix code generation problem in debug builds for Vector.h. r=luke 2012-06-11 23:21:49 -07:00
Luke Wagner
28d1e3621d Bug 763384 - Don't treat regexp syntax errors as OOM errors (r=njn) 2012-06-11 17:08:34 -07:00
Terrence Cole
7a890a09da 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
ddf93807de 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
3ee8295a91 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
4e209ff2a1 Bug 760337 - Add JS_ASSERT(table) where appropriate in HashTable.h. r=luke.
--HG--
extra : rebase_source : ab85f7061f79605afe54a6341612cededef35558
2012-06-04 00:00:24 -07:00
Terrence Cole
3b9ff67eee 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
1f99b61afd 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
b266d6fe3f 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
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Terrence Cole
3add49f6ca Bug 744579 - Implement a relocatable version of HeapPtr; r=billm
We cannot store HeapPtrs in memory that may be realloced outside of the GC.
Instead we should use the RelocatablePtr, which is more expensive, but is able
to handle being moved, or EncapsulatedPtr which requires external barriers.

--HG--
extra : rebase_source : 949c71cfdab8005339aea49437922f7f00a6f73a
2012-05-15 17:21:23 -07:00
Nicholas Nethercote
4f20b07e70 Bug 755581 - Follow-up: replace js::RuntimeSizes with JS::RuntimeSizes. r=luke.
--HG--
extra : rebase_source : a1081266cec2f249f8acac782c2c806e5db705aa
2012-05-17 17:08:57 -07:00
Jason Orendorff
41761a8fea Bug 756260 - Fix up building without JS_HAS_XML_SUPPORT, again. r=terrence.
--HG--
extra : rebase_source : 9b0bc4f31db387e4e98821d712309792c07eac1c
2012-05-17 16:24:32 -05:00
Nicholas Nethercote
8262af73d3 Bug 755581 (part 5) - Add "cross-compartment-wrappers" reporter. r=luke.
--HG--
extra : rebase_source : 1dfb5eb522008acd59f6bce5e1724af1dc0da9f0
2012-05-15 19:31:01 -07:00
Nicholas Nethercote
d3d3dcc4bc Bug 755581 (part 4) - Add "math-cache", "script-filenames" and "compartment-objects" reporters. r=luke.
--HG--
extra : rebase_source : cc1fc8ff91a7b63b8a1fd48aac3b5f37c7e84393
2012-05-15 19:30:28 -07:00
Nicholas Nethercote
7ab7a4aeca Bug 755581 (part 3) - Clean up JSRuntime::sizeOfIncludingThis(). r=luke.
--HG--
extra : rebase_source : 892163d96148ed86a190ee7221235dc529445fef
2012-05-15 19:29:14 -07:00
Nicholas Nethercote
977d9347ea Bug 755581 (part 2) - Change "runtime/normal" reporter to "runtime/dtoa". r=luke.
--HG--
extra : rebase_source : 6dfe281494588628c3335058d333080f86bb3487
2012-05-15 19:28:31 -07:00
Terrence Cole
549398c8a4 Bug 753479 - Make HashTable::Enum::rekeyFront take a separate Lookup; r=luke
--HG--
extra : rebase_source : 7f8b2cda64f34c60f702182f64e370a73a593934
2012-05-04 14:18:28 -07:00
Terrence Cole
1194eebfb8 Bug 752604 - Ergonomics improvements for HashTable::rekeyFront; r=luke
--HG--
extra : rebase_source : 9764f2db38844106ac13f5281d85464f0b2aff80
2012-05-07 12:46:28 -07:00
Luke Wagner
68d492d13d Bug 720753 - hoist JaegerCompartment and MathCache from JSCompartment into JSRuntime (r=bhackett,njn) 2012-05-03 09:12:47 +02:00
Justin Lebar
8bae8c2aa9 Bug 748440 - Part 1: Add heap-committed-unused and heap-committed-unused-ratio memory reporters, and rename some JS memory reporters to match. Also add back the js-gc-heap memory reporter. r=njn
--HG--
rename : browser/components/privatebrowsing/test/unit/test_privatebrowsing_telemetry.js => browser/components/privatebrowsing/test/unit/test_privatebrowsing_autostart.js
rename : browser/components/privatebrowsing/test/unit/test_privatebrowsingwrapper_telemetry.js => browser/components/privatebrowsing/test/unit/test_privatebrowsingwrapper_autostart.js
rename : security/manager/ssl/src/TransportSecurityInfo.cpp => security/manager/ssl/src/nsNSSIOLayer.cpp
rename : security/manager/ssl/src/TransportSecurityInfo.h => security/manager/ssl/src/nsNSSIOLayer.h
extra : rebase_source : 237a72f9b82f0e39dd0f15afa6056f231dc58358
2012-04-30 14:27:15 -04:00
Boris Zbarsky
7c123acb64 Bug 748237. Only do the c++11 stuff for clang here, since otherwise we get scary warnings with gcc on android. r=luke 2012-04-26 00:43:00 -04:00
Tom Schuster
9d15dfd22d Bug 735036 - Check for OOM in debug only method. r=luke 2012-04-24 20:03:48 +02:00
Justin Lebar
fcfe8663d1 Bug 741378 - Rejigger the js memory reporters to match jemalloc's. r=njn 2012-04-16 12:20:54 +10:00
Justin Lebar
3224a73351 Back out changeset 21f34fdd64a3 (bug 741378) because it breaks telemetry. r=me 2012-04-16 11:34:00 +10:00
Justin Lebar
53370f1873 Bug 741378 - Rejigger the js memory reporters to match jemalloc's. r=njn 2012-04-16 11:17:26 +10:00
Christian Holler
5f271feed7 Bug 734976 - Call js_ReportOutOfMemory in jsgcinlines when simulating OOM. Original patch by Brian Hackett. r=luke,bhackett,jdemooij 2012-04-14 11:37:32 -07:00
Jeff Walden
4d7d402134 Fix clang JS shell build bustage. No bug, r=billm over irl 2012-04-12 18:15:26 -07:00
Matt Brubeck
3f73a423cd Back out e4c82a6b298c, 036194408a50, 39acc9f51df8 (bug 714647 and followups) because of test_finalizer.js crashes in Linux64 PGO builds 2012-04-12 22:07:43 -07:00
Jeff Walden
101e274a79 Fix clang JS shell build bustage. No bug, r=billm over irl 2012-04-12 18:15:26 -07:00
Terrence Cole
06c513557e Bug 744192 - Assert that Vectors do not contain implicitly postbarriered types; r=luke
Since vectors move their memory around outside the control of the GC, it is not
valid to store an implicitly post-barriered item in a Vector.

--HG--
extra : rebase_source : 2cef4d855cc4e926cea872cda18e5cf29230f0a7
2012-04-11 17:14:11 -07:00
Bas Schouten
88b755bca9 Bug 719776 - Part 2: Make MOZ_CRASH and MOZ_ASSERT expand inline. r=waldo 2012-04-12 02:03:07 +02:00
Phil Ringnalda
dc765d4953 Back out 4b82f26f8593:2fcf9cbedd48 (bug 743393, bug 719776) for bustage 2012-04-11 09:06:40 -07:00
Bas Schouten
4458bdfe56 Bug 719776 - Part 2: Inline MOZ_Assert and MOZ_Crash. r=waldo 2012-04-11 16:55:31 +02:00
Terrence Cole
8c91faa124 Backed out changeset a43eb4a2d2fd 2012-04-10 17:03:25 -07:00
Terrence Cole
23e2dd5dc5 Bug 744192 - Assert that Vectors do not contain implicitly postbarriered types; r=luke
Since vectors move their memory around outside the control of the GC, it is not
valid to store an implicitly post-barriered item in a Vector.
2012-04-10 16:43:54 -07:00
Terrence Cole
dfd9f312e5 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
9a178239bc 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
5d8052de2c 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
9eae5154cd 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.

--HG--
extra : rebase_source : e1432a9af189229f379158ba0529956ddbf5f234
2012-03-30 11:01:58 -07:00
Terrence Cole
0d9d3bda35 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