Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(swingset): drop Presences, trigger syscall.dropImports #3164

Merged
merged 2 commits into from
May 25, 2021

Conversation

warner
Copy link
Member

@warner warner commented May 24, 2021

Change liveslots to provoke GC at mid-crank, then process the "dead set" and
emit syscall.dropImports for everything we can.

For now, we conservatively assume that everything remains recognizable, so we
do not emit syscall.retireImport for anything. The vref might be used as
a WeakMap/WeakSet key, and the VOM isn't yet tracking those. When #3161 is
done, we'll change liveslots to ask the VOM about each vref, and retire the
ones it does not know how to recognize (which will hopefully be the majority
of them).

closes #3147
refs #2615
closes #2660

also closes #2243

@warner warner added the SwingSet package: SwingSet label May 24, 2021
@warner warner added this to the Testnet: Stress Test Phase milestone May 24, 2021
@warner warner requested a review from FUDCo May 24, 2021 08:38
@warner warner self-assigned this May 24, 2021
@warner
Copy link
Member Author

warner commented May 24, 2021

I recommend looking at the two commits separately, since the first one is mostly mechanical.

@warner warner force-pushed the 2724-drop-presences branch 2 times, most recently from 6f75c44 to 866ffd1 Compare May 24, 2021 15:26
Copy link
Contributor

@FUDCo FUDCo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Credible, though my brain is starting to hurt a bit.

Base automatically changed from 3147-remove-safety-pins to master May 25, 2021 08:10
This will be needed shortly for liveslots to drive GC during each crank.
Change liveslots to provoke GC at mid-crank, then process the "dead set" and
emit `syscall.dropImports` for everything we can.

For now, we conservatively assume that everything remains recognizable, so we
do *not* emit `syscall.retireImport` for anything. The vref might be used as
a WeakMap/WeakSet key, and the VOM isn't yet tracking those. When #3161 is
done, we'll change liveslots to ask the VOM about each vref, and retire the
ones it does not know how to recognize (which will hopefully be the majority
of them).

closes #3147
refs #2615
refs #2660
@warner warner enabled auto-merge May 25, 2021 08:14
@warner warner merged commit eba2fe2 into master May 25, 2021
@warner warner deleted the 2724-drop-presences branch May 25, 2021 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SwingSet package: SwingSet
Projects
None yet
2 participants