Fix a few heap-unclassified issues in SpiderMonkey
Categories
(Core :: JavaScript Engine, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox89 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
In order to validate some of the sharing work in the Stencil project, we need to improve the accuracy of the memory report by fixing issues identified by DMD. I'll put up a grab-bag of patches here.
NOTE: This will move attribution from heap-unclassified to js-content so I expect a few alerts to trigger even though no behavior is changed.
Assignee | ||
Comment 1•4 years ago
|
||
This moves some memory accounting from heap-unclassified to being part of the
runtime-atoms accounting like commonNames
.
Assignee | ||
Comment 2•4 years ago
|
||
The Zone::regExps_
field is a UniquePtr so we should use the including-this
variant of memory reporters for it. This was previously heap-unclassified.
Depends on D111752
Assignee | ||
Comment 3•4 years ago
|
||
This change converts some heap-unclassified memory to js-content. These show
up in DMD reports now that Set/Map are used in the browser itself.
As a side-effect, this adds more precise tracking to UBI system for tenured
objects. The nursery objects don't have the expected size but this is
pre-existing similar to typed objects. Due to this mismatch it is difficult
to write automated tests for this.
Also mark the Map / Set types as using delayed metadata notification so that
reserved slots can be fully initialized before debugger is notified. This
only delays things to a few function calls later.
Depends on D111753
Assignee | ||
Comment 4•4 years ago
|
||
I looked at DMD report for a basic ./mach run --dmd
run for any js/ traces with more than 8k heap-unclassified. With these patches, the main remaining issues are:
- Profiler markers stack
- GC memory-tracker (debug only)
- JitcodeGlobalTable
Comment 6•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3ae2a22127d2
https://hg.mozilla.org/mozilla-central/rev/ea37b330c609
https://hg.mozilla.org/mozilla-central/rev/c0c760df165b
Description
•