Commit Graph

195 Commits

Author SHA1 Message Date
Jan de Mooij
37d772624b Bug 1358047 - Move Baseline CacheIR code map from JitCompartment to JitZone. r=djvj 2017-04-24 12:41:04 +02:00
Hannes Verschore
0aa596bdf6 Bug 1319746: Add a memory reporter for CFGGraph on BaselineScript, r=njn 2017-04-21 19:37:06 +02:00
Hannes Verschore
3034ac90fd Bug 1334409 - TraceLogging: Add memory reporter for TraceLogging, r=njn 2017-04-21 19:37:04 +02:00
Jon Coppeard
7c5ab787ba Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Jon Coppeard
f2dc766532 Backed out changesets e66f564d9749 and 0380d914ad39 (bug 1345177) for rooting hazards 2017-03-27 11:09:54 +01:00
Jon Coppeard
0f25381dd3 Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Shu-yu Guo
c8871c8476 Bug 1108941 - Implement the per-global template literal registry. (r=arai,jonco) 2017-03-08 12:00:54 -08:00
Brian Hackett
6a2580c190 Bug 1324002 - Mark atoms separately in each zone, r=jonco,mccr8,peterv. 2017-01-30 06:31:47 -07:00
André Bargull
468272262c Bug 1303091 - Share static Intl data across compartments. r=Waldo, r=jonco 2016-11-17 14:40:18 -08:00
Benjamin Bouvier
eabfb52026 Bug 1307768: Don't include wasmGuardPages with the rest of the ClassInfo fields; r=njn
MozReview-Commit-ID: 9tqQdAn2Ywa
2016-10-14 14:53:08 +02:00
Benjamin Bouvier
dc40aad5f2 Bug 1303013: Account memory for wasm guard pages; r=njn, r=luke
MozReview-Commit-ID: BHS1UfgT1yf
2016-09-19 19:39:50 +02:00
Shu-yu Guo
dfd69d739c Bug 1263355 - Report memory metrics for Scopes. (r=njn) 2016-08-25 01:28:47 -07:00
Shu-yu Guo
45f2e559d8 Bug 1263355 - Rewrite the frontend: bindings. (r=jorendorff,Waldo) 2016-08-25 01:28:47 -07:00
Jan de Mooij
8f880df8da Bug 1295967 - Share Shapes and BaseShapes across compartments. r=jonco,fitzgen,njn 2016-08-23 11:25:54 +02:00
Jon Coppeard
81519b735b Bug 1291292 - Use dynamic chunk allocation for the nursery r=terrence 2016-08-11 17:14:56 +01:00
Jan de Mooij
bd0f1c9018 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Jan de Mooij
7c3e2f8f9a Bug 1283855 part 28 - Make more GC APIs take JSContext instead of JSRuntime. r=terrence 2016-07-07 09:56:09 +02:00
Nick Fitzgerald
4fd50220a1 Bug 1211723 and 1260570 - Share JS source text between JSRuntimes; r=jimb
This commit adds `SharedImmutableStringsCache` which allows for de-duplication
and sharing of immutable strings between threads and JSRuntimes.

Each JSRuntime gets a SharedImmutableStringsCache member, but the accessor
always returns the parent runtime's cache. The caches in child JSRuntime's are
not wasting space, however, as initialization and allocation of the table
happens lazily within SharedImmutableStringsCache.

Furthermore, this commit removes `js::ScriptSource::Parent` and the
`CompressedSourceSet`. They are unnecessary because source text is always shared
via the parent runtime's `SharedImmutableStringsCache` now.
2016-05-06 16:53:45 -07:00
Nicholas Nethercote
13a3186db5 Bug 1132502 (part 1) - Abort if compartmentStats is null during memory reporting. r=jandem.
We have inconclusive evidence that compartmentStats is sometimes nullptr during
memory reporting, which would be bad. This patch makes us abort in that case.
It also changes some pointers to references to make the expected non-nullness
clearer.
2016-04-15 12:03:39 +10:00
Nicholas Nethercote
d3f41bd685 Bug 1244841 - Don't measure SharedArrayBuffer objects multiple times. r=lth.
Redoes object element measurement and reporting:

- Adds "non-heap/elements/shared", which reports a (size / refcount)
  measurement. Previously these measurements went into
  "non-heap/elements/mapped" and the full size would be erroneously reported
  for every thread sharing the buffer.

- Renames "non-heap/elements/mapped" as "non-heap/elements/normal".

- Renames "malloc-heap/elements/non-asm.js" as "malloc-heap/elements/normal".

- Leaves "{malloc,non}-heap/elements/asm.js" unchanged.
2016-02-12 09:18:46 +11:00
Nicholas Nethercote
0ec15f6b7b Bug 1245737 (part 2) - Don't bother measuring DtoaState. r=bhackett.
It's gone from 4,096 bytes per JS thread to 72 bytes per thread. (Also, the
old code only measured the DtoaState for the main thread.)
2016-02-05 14:50:55 +11:00
Nicholas Nethercote
dbf6238943 Bug 1246855 (part 2) - Measure CompartmentPrivates during memory reporting. r=terrence.
This also expands the coverage to include the hash table elements in the
mWrappedJSMap.
2016-02-10 08:41:38 +11:00
Nicholas Nethercote
30a602f3f1 Bug 1245761 (part 2) - Measure JIT compartments. r=jandem. 2016-02-04 17:36:06 +11:00
Michael Wu
25eac535ad Bug 1212663 - Use doxygen style comments in jsapi, r=Waldo 2015-10-17 13:27:16 -04:00
Shu-yu Guo
05b495be74 Bug 1202902 - Support non-syntactic extensible lexical scopes. (r=billm) 2015-10-06 14:00:29 -07:00
Terrence Cole
3d13d6da41 Bug 1196848 - Add Zone::uniqueIds to about:memory reports; r=njn 2015-08-26 14:51:43 -07:00
Terrence Cole
19e5343d2e Bug 1196925 - Remove the non-existing relocatable store buffer counts from about:memory; r=njn 2015-08-26 14:51:43 -07:00
Terrence Cole
8539f35a71 Backout 15fa4c3a45ec (Bug 1196848) for being on top of a regression. 2015-09-03 09:35:43 -07:00
Terrence Cole
70839f041a Backout ff66ba4688c0 (Bug 1196925) for being on top of a regression. 2015-09-03 09:35:02 -07:00
Terrence Cole
e680f62d13 Bug 1196925 - Remove the non-existing relocatable store buffer counts from about:memory; r=njn 2015-08-26 14:51:43 -07:00
Terrence Cole
993e4b1acb Bug 1196848 - Add Zone::uniqueIds to about:memory reports; r=njn 2015-08-26 14:51:43 -07:00
Jeff Walden
0286092111 Bug 1185739 - Fix self-comparison warnings in MemoryMetrics.h. r=efaust 2015-07-20 15:17:25 -07:00
Nicholas Nethercote
48bb0f1410 Bug 1181452 - Add memory reporting infrastructure for Servo to SpiderMonkey. r=till.
Basically, this change is all about aggregating SpiderMonkey's fine-grained
measurements into the new set of coarse-grained measurements, called
ServoSizes (which is similar to the existing TabSizes). The change utilizes and
extends the existing macro machinery to do this in a way that has some chance
to maintaining correctness over the long-term despite the fact that this code
is so fiddly.
2015-07-07 23:18:44 -07:00
Terrence Cole
71589e5cf0 Bug 1167453 - Rename JSGCTraceKind and make it a C++11 enum class; r=jonco 2015-05-22 10:40:24 -07:00
Brian Hackett
fc900d9152 Bug 1161077 - Allocate unboxed arrays in the nursery, r=terrence. 2015-05-04 16:36:54 -07:00
Jim Blandy
6f7402a5d8 Bug 1062473: Implement JS::ubi::Node::size for JSObjects. r=sfink,terrence 2015-04-01 18:04:53 -07:00
Jan de Mooij
c6596c5fa8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda
1a1c158706 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij
369ef1b850 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Brian Hackett
6d9f789b99 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-25 09:07:51 -07:00
Ryan VanderMeulen
f274f35656 Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks. 2015-03-20 16:07:42 -04:00
Brian Hackett
6ff7784fe1 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-20 06:33:33 -07:00
Terrence Cole
5a448c35f7 Bug 1134425 - Part 1: move the allocator interface code out of line; r=jonco 2015-03-04 09:32:02 -08:00
Jon Coppeard
dae47c397d Bug 1134255 - Add breakdown of allocated and unused GC things by kind in memory reports r=njn 2015-02-19 11:56:00 +00:00
Brian Hackett
34240c11e3 Bug 1125930 - Rename TypeObject to ObjectGroup, r=jandem. 2015-02-02 11:20:38 -07:00
Masatoshi Kimura
bae0a32948 Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Ehsan Akhgari
a7f747ec15 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
Brian Hackett
0f68dc8ef8 Bug 1083600 - Use inline data for small transparent typed objects, r=sfink,nmatsakis. 2014-10-29 11:14:53 -07:00
Brian Hackett
3a8b9cde2d Bug 1061404 - Move ArrayBuffer view list into per compartment tables, r=sfink. 2014-09-17 11:13:17 -07:00
Shu-yu Guo
2c3def0c31 Bug 1056411 - Part 1: Remove DebugFromC and clean up compartment debug mode logic. (r=jimb) 2014-09-08 21:03:31 -07:00