Commit Graph

1748 Commits

Author SHA1 Message Date
Justin Lebar
85309d895c Back out changeset 21f34fdd64a3 (bug 741378) because it breaks telemetry. r=me 2012-04-16 11:34:00 +10:00
Justin Lebar
9362d53674 Bug 741378 - Rejigger the js memory reporters to match jemalloc's. r=njn 2012-04-16 11:17:26 +10:00
Terrence Cole
b483fc9299 Bug 752604 - Ergonomics improvements for HashTable::rekeyFront; r=luke
--HG--
extra : rebase_source : 9764f2db38844106ac13f5281d85464f0b2aff80
2012-05-07 12:46:28 -07:00
Christian Holler
39328682f4 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
Terrence Cole
a377cbe0ca Backed out changeset a43eb4a2d2fd 2012-04-10 17:03:25 -07:00
Terrence Cole
961c72bb26 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
Boris Zbarsky
66b1cff2bb 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
Justin Lebar
1dff62b86c 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
Terrence Cole
71ea0dd217 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
e4df58c761 Bug 743885 - Fix OOM handling regression in HashTable; r=luke
Introduced by me in bug 722946.
2012-04-09 19:07:11 -07:00
Luke Wagner
facff78a38 Bug 720753 - hoist JaegerCompartment and MathCache from JSCompartment into JSRuntime (r=bhackett,njn) 2012-05-03 09:12:47 +02:00
Daniel Holbert
274d9dd552 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
9cf3dabddc 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
Andrew McCreight
86de31fdd0 Bug 704623 - Track memory used by orphan DOM nodes. code=mccr8,njn. r=njn,mccr8.
--HG--
extra : rebase_source : f4a4b6e1b1de35a08e86130110a6fbd588093867
2012-04-20 14:01:33 +10:00
Terrence Cole
a3172ed2bc 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
Tom Schuster
a54448c56d Bug 735036 - Check for OOM in debug only method. r=luke 2012-04-24 20:03:48 +02:00
Jeff Walden
a971d372b8 Fix clang JS shell build bustage. No bug, r=billm over irl 2012-04-12 18:15:26 -07:00
Matt Brubeck
d4e1cdd51e 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
f90e3047ba Fix clang JS shell build bustage. No bug, r=billm over irl 2012-04-12 18:15:26 -07:00
Terrence Cole
1cf21563aa 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
2be70a6cde Bug 719776 - Part 2: Make MOZ_CRASH and MOZ_ASSERT expand inline. r=waldo 2012-04-12 02:03:07 +02:00
Phil Ringnalda
151c28ec53 Back out 4b82f26f8593:2fcf9cbedd48 (bug 743393, bug 719776) for bustage 2012-04-11 09:06:40 -07:00
Bas Schouten
034108c2de Bug 719776 - Part 2: Inline MOZ_Assert and MOZ_Crash. r=waldo 2012-04-11 16:55:31 +02:00
Nicholas Nethercote
c23b35d44f 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
6427db9c29 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
Terrence Cole
844245f157 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
7b21a126fb Backout changeset ea6be5f60c42 (bug 722946) for breaking Windows builds 2012-03-14 14:29:58 -04:00
Terrence Cole
2fe9cca9b9 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
Christian Holler
61e8de0a07 Bug 733493 - Improve JS shell OOM testing code, now with 100% less bustage. r=jorendorff 2012-03-10 15:53:03 -05:00
Gary Kwong
d5c1731cfc Backed out changeset 6169d8aa7a9d, a=tbplFire 2012-03-10 12:12:54 -08:00
Christian Holler
77819cbd94 Bug 733493 - Improve JS shell OOM testing code, r=jorendorff 2012-03-10 11:50:26 -08:00
Igor Bukanov
524dbd7e47 bug 728250 - remove JSPrincipals::codebase. r=:luke,:bz
In just 2 cases where JSPrincipals::codebase is used it can be reconstructed from the values stored in the associated nsJSPrincipal. In addition the patch makes nsJSprincipals to inherit both from nsIPrincipal and JSPrincipals allowing to use static_cast to convert between nsIPrincipal and JSPrincipals pointers and to drop many cases of manual JSPrincipal reference counting.
2012-03-09 10:48:50 +01:00
Terrence Cole
1378239108 Bug 776159 - Thread more Handles through jsarray; r=sfink
--HG--
extra : rebase_source : 31c8efb209a6f5a58709429cce4cc0675b537847
2012-07-20 16:22:00 -07:00
Jason Orendorff
2b1655b2fb Bug 775896 - OrderedHashTable should have a hashShift field like HashTable. r=luke.
--HG--
extra : rebase_source : b45ff08f57aeef813df0c14472362527dfe2b07d
2012-07-25 12:43:29 -05:00
Jason Orendorff
e054a9fd59 Bug 743107 - Add OrderedHashTable. Change implementation of Map and Set to retain insertion order. r=luke.
--HG--
extra : rebase_source : 8b8d67ccd26494f884ba0b5d35e2f44a34296ed6
2012-07-03 16:33:38 -05:00
Nicholas Nethercote
063799adc6 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
cf64447fc2 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
67b4e6feaf 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
4de6ece21b 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
Jason Orendorff
4fe0f5e68a Add static assertions as requested in bug 726298 comment 2 and 4.
--HG--
extra : rebase_source : 3edf2446076dae08c16b121de18505174c84f370
2012-03-01 12:48:47 -06:00
Jason Orendorff
9840930d91 Fix hilarious bug in js_malloc: it fails once every 2^32 allocations in DEBUG builds. Bug 730270, r=luke. 2012-03-01 09:01:45 -06:00
Justin Lebar
69fb6f1047 Bug 731789 - Rename mfbt/StdInt.h to mfbt/StandardInteger.h, so stdint types work from cpp files inside mfbt. r=waldo 2012-02-29 22:56:43 -05:00
David Mandelin
f2a90de0cb Bug 731492: Remove obsolete typedef JSPackedBool, r=luke
--HG--
extra : rebase_source : 95423985f55547755a988ba19629678997bfa553
2012-02-28 19:03:57 -08:00
Igor Bukanov
0db648a026 Bug 731618 - remove JSContext * parameter from heap iteration API. r=:Billm 2012-02-29 21:23:53 +01:00
Terrence Cole
6478881af8 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
Nicholas Nethercote
02dfa47967 Bug 729403 (part 2, take 2) - Add js/runtime/gc-marker memory reporter. r=wmccloskey.
--HG--
extra : rebase_source : c48aacddd186be0de3c74153f5e5e4049d09a87b
2012-02-26 20:20:15 -08:00
Nicholas Nethercote
8738b7c1f1 Bug 729403 (part 1, take 2) - Add Vector::sizeOf{In,Ex}cludingThis(). r=luke.
--HG--
extra : rebase_source : d745c1b1b9ca30c6836c31b03ded4dcab22a2565
2012-02-26 20:18:13 -08:00
Phil Ringnalda
072acec7c0 Back out a7255af10a2a and da193f5b526b (bug 729403) for xpcshell assertions in test_TelemetryPing.js 2012-02-26 18:39:06 -08:00
Nicholas Nethercote
1db76d424a Bug 729403 (part 2) - Add js/runtime/gc-marker memory reporter. r=wmccloskey.
--HG--
extra : rebase_source : 9f078515b971e3de4156bb3edd3f8aea74c9fa8f
2012-02-21 21:43:45 -08:00
Nicholas Nethercote
c6670bbe70 Bug 729403 (part 1) - Add Vector::sizeOf{In,Ex}cludingThis(). r=luke.
--HG--
extra : rebase_source : 850abf71178c5a23198561560d00ecd970db0cc1
2012-02-21 20:58:40 -08:00
Dave Hylands
3587a66739 Bug 694594 - Fix code generation problem in debug builds for Vector.h. r=luke 2012-06-11 23:21:49 -07:00
Luke Wagner
64efce2a4b Bug 763384 - Don't treat regexp syntax errors as OOM errors (r=njn) 2012-06-11 17:08:34 -07:00
Nicholas Nethercote
a2845c0ea3 Bug 722595 - Add memory reporters for misc things hanging off JS objects. r=bhackett.
--HG--
extra : rebase_source : 211b35134923f4cb99625bb240b96e81f0f28b4b
2012-01-30 18:12:03 -08:00
Nicholas Nethercote
2ceea515c6 Bug 721628 (part 5) - Use size_t instead of int64_t in some JS memory reporting structs. r=luke.
--HG--
extra : rebase_source : c3e13b8042b8914ae16cee38b0299f6164ba9222
2012-01-29 14:13:18 -08:00
Nicholas Nethercote
f80bd86cce Bug 721628 (part 4) - Use better names for various JS memory reporting things. r=Ms2ger.
--HG--
extra : rebase_source : 4edc916c571906329075b6be68c245267f9b61d0
2012-01-29 14:11:32 -08:00
Nicholas Nethercote
7e06e236ee Bug 721628 (part 3) - Rename several size type-inference-related measurement functions and types. r=bhackett.
--HG--
extra : rebase_source : e66bc2d787c31de93ff80280597543cf47924967
2012-01-26 19:09:31 -08:00
Nicholas Nethercote
7559a70a04 Bug 715453 - Remove computedSize from nsMallocSizeOfFun. r=jlebar,bhackett.
--HG--
extra : rebase_source : a65039a407daab45360a5b375b53cbf1bc05b7f6
2012-01-25 00:52:51 -08:00
Nicholas Nethercote
77a3f1f6b8 Bug 720219 (part 5) - Clean up JS type object measurement. r=bhackett.
--HG--
extra : rebase_source : 4d972fd2dd17181bf6facd077e71b05c6cc72307
2012-01-23 15:50:59 -08:00
Nicholas Nethercote
ed9d554a9b Bug 720219 (part 1) - Clean up JS object measurement. r=bhackett.
--HG--
extra : rebase_source : ff9aa7da84814e6868fef88b56bcb038389d5fb9
2012-01-23 15:35:37 -08:00
Luke Wagner
d85fb51b34 Bug 675078 - rm JSThreadData and JSThread (JSRuntime is now officially single-threaded) (r=igor,rs=mccr8)
--HG--
extra : rebase_source : f6d2c2c6083f4589691ede571159bfd7e7ef8701
2011-07-18 14:54:48 -07:00
Bill McCloskey
88c7b0c713 Bug 720853 - Add read barrier for atom table (r=luke) 2012-01-24 18:32:56 -08:00
Matt Brubeck
193896461a Back out 79deba022227 (bug 675078) because of Win debug mochitest-other failures 2012-01-24 17:32:30 -08:00
Luke Wagner
6068502afa Bug 675078 - rm JSThreadData and JSThread (JSRuntime is now officially single-threaded) (r=igor) 2011-07-18 14:54:48 -07:00
Jason Orendorff
d7665153f1 Bug 717278 - Vector should have const and non-const begin(). r=luke. 2012-01-20 06:11:42 -06:00
Brian Hackett
4eeef6d0b6 Fix non-threadsafe builds, no bug. r=jorendorff 2012-01-11 08:21:26 -08:00
Ms2ger
ddea4e045a Bug 714264 - Part c: Move IterateData / CollectCompartmentStatsForRuntime / GetExplicitNonHeapForRuntime to js/MemoryMetrics.h; r=njn
This patch also removes those APIs exposed in js/MemoryMetrics.h that aren't
used anymore.
2012-01-11 09:23:08 +01:00
Ms2ger
b2f1e7be59 Bug 714264 - Part b: Move CompartmentStats to MemoryMetrics.h; r=njn
The name member is implemented as a void*, because it needs to remain an
nsCString, and as such the logic to get the name also remains in XPConnect.
2012-01-11 09:23:08 +01:00
Marco Bonardo
b21bcc66e7 Merge last green PGO from mozilla-inbound to mozilla-central 2012-01-03 12:36:26 +01:00
Ms2ger
307c4d2a57 Bug 714580 - Remove extra parens from JS_ASSERT_IF; r=Waldo 2012-01-02 21:55:34 +01:00
Brian Hackett
1d81f1154e Backed out changeset 4282a285d381 (bug 707049 backout). 2011-12-31 07:32:04 -07:00
Ms2ger
331f7b2adb Backout 0d642e4e08cf (bug 707049); requested by evilpie. 2011-12-31 15:13:01 +01:00
Brian Hackett
dfd45e67d1 Add dynamic analysis for identifying moving GC hazards, autorooter classes, some VM rooters, bug 707049. r=billm 2011-12-30 20:12:45 -07:00
Jeff Walden
8d89e85cfe Bug 714264 - Move declarations around such that it's possible to include jsprvtd.h before Vector.h or HashTable.h. r=luke
--HG--
extra : rebase_source : e981944be5edf5c772df986d0898494b9bc53a3e
2012-01-02 16:34:25 -06:00
Jeff Walden
afff57e387 Use < rather than != when comparing a bunch of pointers to sentinel end-pointer values, as a small hedge against things going awry and skipping past the sentinel. No bug, r=firebot
--HG--
extra : rebase_source : 567f70397ec9ef006c55c01f3acde305ab527b56
2011-12-29 15:50:33 -06:00
Hub Figuière
774e57db4a Bug 714169 - Fix warning in HashTable.h by using |continue;| instead of |;|. r=jwalden
--HG--
extra : rebase_source : 176f652ee0e2c23b2c995b51814e4e1fd1ae0149
2011-12-29 13:37:04 -08:00
Ms2ger
571eedbbef Bug 692277 - Part a: Introduce an unstable public API for JS memory measurements to be used in XPCJSRuntime; r=njn sr=dmandelin 2011-12-24 09:27:39 +01:00
Luke Wagner
7862c914b8 Bug Bug 692274, part 4 - Rewrite parsing, emitting and decompiling of let to fix scoping properly (r=jorendorff) 2011-10-07 12:02:50 -07:00
Jeff Walden
a158abd5b6 Bug 712129 - Implement MOZ_STATIC_ASSERT and MOZ_STATIC_ASSERT_IF. r=luke 2011-12-19 16:58:30 -05:00
Jeff Walden
677b43a2b8 Bug 712129 - Add more assertion macro flavors to mfbt, and make the JS engine use mfbt's implementations where appropriate. r=cjones
--HG--
extra : rebase_source : 6b94db05e74b18a3938a28cbc0f520eb4e01fbb0
2011-12-19 15:54:12 -05:00
Jeff Walden
62f48d8793 Bug 711647 - Add MOZ_DELETE to a bunch of deliberately-not-implemented methods across the tree. r=dbaron
--HG--
extra : rebase_source : 507006c0f099da6851b585d2062267d285978ad7
2011-12-16 14:42:07 -05:00
Jeff Walden
bcd5afef4c Bug 711672 - Break mfbt's dependency on jstypes.h by moving various API macros out of JS and into mfbt. r=luke, r=cjones
--HG--
extra : rebase_source : f18993e1eec1a5e5bcdb9cd97fa7d7c6ad261e2c
2011-12-13 14:26:58 -05:00
Jeff Walden
735580ff0e Bug 708735 - Use <stdint.h> types in JSAPI and throughout SpiderMonkey. Continue to provide the {u,}int{8,16,32,64} and JS{Uint,Int}{8,16,32,64} integer types through a single header, however, for a simpler backout strategy -- and also to ease the transition for embedders. r=timeless on switching the jsd API to use the <stdint.h> types, r=luke, r=dmandelin 2011-12-08 22:54:10 -05:00
Igor Bukanov
8f52fc5c88 Bug 708382 - GC marking - one common stack and tail recurssion elimination. r=wmccloskey. a=ms2geronirc
--HG--
extra : rebase_source : 580b30f289f4e1b1a1980bb000fc25e6e3cf27e7
2011-12-07 14:22:47 +01:00
Brian Hackett
71bdcbc4f5 Merge MC -> JM 2011-11-30 12:45:27 -08:00
Brian Hackett
bdc95774d5 Merge MC -> JM 2011-11-26 15:03:20 -08:00
Brian Hackett
5b0bd92091 Add about:memory reporters for per compartment shape tables, bug 704372. 2011-11-21 20:29:05 -05:00
Nicholas Nethercote
6c6258e659 Bug 698968 - Add mallocSizeOf functions and start using them. r=jlebar,bhackett,jfkthame, sr=bz. 2011-11-27 19:03:14 -08:00
Bill McCloskey
213017df51 Bug 641027 - Add snapshot-at-the-beginning write barriers for incremental GC (r=luke,bhackett) 2011-10-25 16:07:42 -07:00
Nicholas Nethercote
14543f2542 Bug 699724 - Shrink js::HashTable. r=luke. 2011-11-08 21:02:11 -08:00
Jeff Walden
f4e9d09885 Remove js::tl::ArraySize and js::tl::ArrayEnd. They're unused, and mozilla::ArrayLength and mozilla::ArrayEnd supersede them regardless. No bug, r=lumpy 2011-11-04 01:37:53 -07:00
Ginn Chen
a5469033c9 Bug 702523 Use JS_PUBLIC_API instead of extern for js_FloorLog2wImpl r=luke 2011-11-21 11:09:35 +08:00
Nicholas Nethercote
9c3610847b Bug 684800 - Measure slop in TI-related JS memory reporters. r=bhackett. 2011-11-01 21:59:43 -07:00
Nicholas Nethercote
bb0a822b3e Bug 697933 - Allow HashTables to have a capacity as small as four. r=luke. 2011-10-30 16:12:48 -07:00
Nicholas Nethercote
9e7657a444 Bug 697931 - Remove KidHashes when possible. r=luke. 2011-10-27 23:06:17 -07:00
Nicholas Nethercote
2283759a8c Back out 56ec5e954858 (from bug 685783) due to a Dromaeo regression. 2011-10-20 15:47:39 -07:00
Nicholas Nethercote
b51f23d47a Bug 685783 - Take advantage of slop bytes in js::Vector. r=luke. 2011-10-19 16:19:06 -07:00
Leon Sha
34938b68f1 Bug 694256 - Build error: JS_FloorLog2 is missing. r=luke. 2011-10-14 13:12:46 +08:00
Luke Wagner
f90352c158 Bug 689362 - Create js/public (with the intention that its contents will eventually be the only INSTALLED_HEADERS), move Vector and HashTable to js/public and some dependencies (r=billm,sr=dmandelin)
--HG--
rename : js/src/jshashtable.h => js/public/HashTable.h
rename : js/src/jsvector.h => js/public/Vector.h
rename : js/src/mfbt/InlineMap.h => js/src/ds/InlineMap.h
extra : rebase_source : 818639b74653667b7a572bc1234398c0e4559a60
2011-10-04 15:33:00 -07:00