Commit Graph

195 Commits

Author SHA1 Message Date
Nicholas Nethercote
839b9e4e7b Bug 1023719 - Report notable classes in the JS memory reporter. r=till. 2014-04-15 19:43:18 -07:00
Jan de Mooij
9b722de798 Bug 1037886 - Report Latin1 and TwoByte strings separately in about:memory. r=njn 2014-07-16 19:11:50 +02:00
Jason Orendorff
aa5af229d2 Bug 645416, part 3 - Symbol layout and GC support for allocating them. r=terrence.
Layout: js/src/vm/Symbol.h defines the new class JS::Symbol. JS::Symbol is the
same size as JSString on all platforms, because the allocator does not support
smaller allocations.

Allocation: Since the purpose of symbols is to serve as property keys, they are
always allocated in the atoms compartment.

We take a lock when allocating. This could probably be replaced with a
main-thread-only assertion. However, if atom allocation is not already a
bottleneck, symbol allocation probably never will be.

Symbols are given their own finalize-class in the GC. This means we allocate a
page per zone for symbols, even though they are only ever allocated in the
atoms zone. Terrence thought this could be easily fixed later. It should be; we
never touch the page, but a 32-bit virtual address space does not just have
infinite pages to spare.

A jsapi-test exercises the new symbol allocation code. A few oddities in
jsapi-tests are fixed in passing.

Discussion after review led to some new assertions about minimum object size in
AllocateObject and AllocateNonObject.
2014-06-23 10:55:51 -05:00
Brian Hackett
16a53fd632 Bug 1020012 - Consolidate ScriptSources with the same source, r=luke. 2014-06-21 10:39:04 -07:00
Nicholas Nethercote
7b107d5931 Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg. 2014-05-20 23:06:54 -07:00
Brian Hackett
34d76e6f0a Bug 1024038 - Remove YARR, r=jandem. 2014-06-16 15:37:53 -07:00
Nicholas Nethercote
7c38f2f3f9 Backout 277bacd9f2f8 (bug 1023719) for causing intermittent crashes. 2014-06-13 06:39:16 -07:00
Nicholas Nethercote
fcd369762b Bug 1023719 - Report notable classes in the JS memory reporter. r=till. 2014-04-15 19:43:18 -07:00
Ehsan Akhgari
5292a10a42 Bug 1013663 - Fix some bad implicit conversion constructors in the JS engine; r=jorendorff,jandem 2014-05-25 21:46:24 -04:00
Nick Fitzgerald
e00d1a62da Bug 972045 - Add a compact representation for call stacks in SpiderMonkey. r=jimb 2014-04-24 17:25:00 -04:00
Ryan VanderMeulen
684c2ab948 Backed out changeset ace4dd426349 (bug 972045) for mochitest failures. 2014-04-24 15:10:44 -04:00
Nick Fitzgerald
1d331ce2bf Bug 972045 - Add a compact representation for call stacks in SpiderMonkey. r=jimb 2014-04-24 10:04:00 -04:00
Shian-Yow Wu
f274229c61 Bug 945152 - Part 2: Report mapped array buffer statistics for about:memory. r=njn 2014-04-16 19:26:41 +08:00
Terrence Cole
e680af44e3 Bug 989035 - Track malloced slots attached to the nursery. r=njn 2014-03-27 22:52:02 -04:00
Terrence Cole
ec344d1814 Bug 957723 - Decommit unused portions of the nursery; r=jonco 2014-01-08 13:43:55 -08:00
Terrence Cole
a87ce72dc1 Backout ed7130b21a68 (Bug 957723) for SM(r) orange on a CLOSED TREE. 2014-03-17 11:42:57 -07:00
Terrence Cole
d8588b7219 Bug 957723 - Decommit unused portions of the nursery; r=jonco 2014-01-08 13:43:55 -08:00
Jeff Walden
6c42ac86b4 Back out dd53db747a5e (bug 945152 part 2) to clear way for other fixing. Should reland in short order (before merge) after those other fixes land. r=backout 2014-03-14 16:38:07 -07:00
Jan de Mooij
20089adfdc Bug 981554 - Move allocator for optimized Baseline stubs from JitCompartment to JitZone. r=njn 2014-03-14 19:13:08 +01:00
Shian-Yow Wu
882ab59a56 Bug 945152 - Part 2: Report mapped array buffer statistics for about:memory. r=njn 2014-03-13 14:32:16 +08:00
Nicholas Nethercote
d1cbe582fc Backout 519787a56627 (bug 972712, part 6) and the follow-up 5c9a4a1f2c0b (bug 978227) because ASAN is complaining intermittently about the former. r=me. 2014-03-05 14:19:28 -08:00
Nicholas Nethercote
f3da862905 Bug 972712 (part 6) - Report objects and shapes by their class. r=till. 2014-02-26 18:35:48 -08:00
Nicholas Nethercote
c6754cd0ca Bug 972712 (part 4) - Report script sources in more detail. r=till. 2014-02-13 20:03:07 -08:00
Nicholas Nethercote
27851c20a5 Bug 972712 (part 3) - Rework notable string reporting. r=till. 2014-02-26 18:11:01 -08:00
Nicholas Nethercote
2096689e68 Bug 972712 (part 1) - Don't report short strings separately. r=till. 2014-02-26 17:53:02 -08:00
Nicholas Nethercote
4cb1b03459 Bug 961883 (part 3) - Measure and report the Nursery. r=terrence. 2014-01-21 17:17:08 -08:00
Nicholas Nethercote
104fb02a5d Bug 961883 (part 2) - Measure and report the StoreBuffer. r=terrence. 2014-01-21 17:17:02 -08:00
Nicholas Nethercote
7683517333 Bug 961883 (part 1) - Measure and report the SourceDataCache. r=benjamin. 2014-01-20 19:52:57 -08:00
Jan de Mooij
360877a2ec Bug 951666 - Rename IonCode to JitCode. r=njn 2013-12-18 23:01:51 +01:00
Brian Hackett
5f222dbf40 Bug 932982 - Trace type constraints and allow preserving jitcode in GCs without also marking all type information, r=billm, r=jandem 2013-12-12 13:10:54 -08:00
Ryan VanderMeulen
e6d517cb22 Backed out changeset b93e7a83b308 (bug 932982) for Linux mochitest-bc leaks.
CLOSED TREE
2013-12-11 17:07:48 -05:00
Brian Hackett
0bc8b8a618 Bug 932982 - Trace type constraints and allow preserving jitcode in GCs without also marking all type information, r=billm,jandem. 2013-12-11 10:12:33 -08:00
Nicholas Nethercote
9c1199b8f4 Bug 943744 (part 3) - Re-use the |strings| table from the zone with the most strings when computing totals. r=till. 2013-12-04 03:54:54 -08:00
Nicholas Nethercote
dd7b580582 Bug 943744 (part 2) - Represent the sizes in StringInfo more compactly. r=till. 2013-12-02 21:40:25 -08:00
Nicholas Nethercote
96cf1c7608 Bug 943744 (part 1) - Remove StringInfo::length. r=till. 2013-12-02 21:40:25 -08:00
Jeff Walden
49bc3140ce Bug 940033 - js::HashMapEntry::{key,value} fields should be private, with accessors, and the former should expose a const reference. r=jimb 2013-11-25 17:35:09 -08:00
Jim Blandy
e57fdae2e2 Bug 937404 - Remove the unused NotableStringInfo copy constructor. r=jimb 2013-11-18 13:48:45 -08:00
Jim Blandy
3336c431eb 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
Nicholas Nethercote
8e516b5b9b Bug 932440 - Re-fix a compiler warning in memorymetrics that was fixed in bug 924608 but was then undone by a bad manual merge. r=me. 2013-10-29 20:15:09 -07:00
Terrence Cole
e498e65397 Bug 932364 - Fix an exact rooting hazard around AddSizeOfTab; r=njn 2013-10-28 10:14:06 -07:00
Nicholas Nethercote
7d16eaa962 Bug 918207 - Support per-tab memory profiling. r=billm,mccr8,till,smaug,nfroyd. 2013-10-22 14:53:26 -07:00
Terrence Cole
6989cf6ca2 Bug 924608 - Fix a compiler warning in memorymetrics; r=njn 2013-10-08 14:15:59 -07:00
Nicholas Nethercote
1549800f39 Bug 921954 - Clean up type inference memory reporting. r=bhackett. 2013-09-30 16:20:33 -07:00
Jan de Mooij
e6fbcb1ff0 Bug 915763 - Remove TypeScript::dynamicList and dynamic Monitor functions. r=bhackett 2013-09-28 11:45:21 +02:00
Nicholas Nethercote
af6f003beb Bug 920852 (part 4) - Reorder a bunch of stuff. r=till. 2013-09-25 20:17:19 -07:00
Nicholas Nethercote
92e011df65 Bug 920852 (part 3) - Tweak various things about RuntimeStats. r=till. 2013-09-24 23:24:29 -07:00
Nicholas Nethercote
e275c132e0 Bug 920852 (part 2) - Rename fields of ZoneStatsPod and StringInfo to match memory reporter paths. r=till. 2013-09-24 23:24:28 -07:00
Nicholas Nethercote
6e06356cfb Bug 920852 (part 1) - Rename fields of ObjectsExtraSizes and CompartmentStats to match memory reporter paths. r=till. 2013-09-24 23:24:28 -07:00
Nicholas Nethercote
da11e25302 Bug 919889 (part 5) - Use macros to eliminate repetitive, error-prone code in MemoryMetrics.{h,cpp}. r=luke. 2013-09-24 23:24:28 -07:00
Nicholas Nethercote
c93a8b6f7c Bug 919889 (part 4) - Assorted minor clean-ups. r=luke. 2013-09-24 23:24:28 -07:00