Discard TypeScripts in Zone::discardJitCode instead of during type sweeping

RESOLVED FIXED in Firefox 65

Status

()

enhancement
RESOLVED FIXED
8 months ago
8 months ago

People

(Reporter: jandem, Assigned: jandem)

Tracking

unspecified
mozilla65
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox65 fixed)

Details

Attachments

(1 attachment)

For bug 1499644 I want to add ICScript to TypeScript to not increase sizeof(JSScript). This however introduces some browser-only shutdown GC leaks because the cycle collector traces too many things during its shutdown GC/CC. This is because we purge TypeScripts during type sweeping and this happens after marking.

I think the best fix for this is to move TypeScript discarding to Zone::discardJitCode. This is also nice because it means we can discard JIT code + TypeScript before we attempt to relazify functions during shrinking GC (so relazification becomes more effective).
I also had to make some small changes to relazification for XDR tests for that to pass.
Pushed by jandemooij@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/9018814d9671
Discard TypeScripts in Zone::discardJitCode instead of during type sweeping. r=bhackett
https://hg.mozilla.org/mozilla-central/rev/9018814d9671
Status: ASSIGNED → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.