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

RESOLVED FIXED in Firefox 65

Status

()

enhancement
RESOLVED FIXED
5 months ago
5 months ago

People

(Reporter: jandem, Assigned: jandem)

Tracking

unspecified
mozilla65
Points:
---

Firefox Tracking Flags

(firefox65 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 months ago
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).
(Assignee)

Comment 1

5 months ago
I also had to make some small changes to relazification for XDR tests for that to pass.

Comment 2

5 months ago
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

Comment 3

5 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/9018814d9671
Status: ASSIGNED → RESOLVED
Last Resolved: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.