-
Notifications
You must be signed in to change notification settings - Fork 72
feat(heap): Expose Agent GC #268
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1763891 to
d21f761
Compare
aapoalas
commented
Jul 2, 2024
andreubotella
previously approved these changes
Jul 3, 2024
Collaborator
andreubotella
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't looked through the entire PR, because I'm not too familiar with how some parts of the GC infrastructure work, but I left some comments on the API.
7b7cce6 to
d09e5f1
Compare
62e2a0a to
a2b30c9
Compare
…m, ::remove_realm APIs, rename ::with to ::run_in_realm
Co-authored-by: Andreu Botella <[email protected]>
2f76b11 to
c128e8f
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First step towards actually making heap GC usable. This PR adds a
BoxedAgentstruct that contains aBox<Agent>and exposes awith(closure)API that is the real "entry point" into calling JS in the familiarAgent. Additionally,BoxedAgentexposes agc()method. Note thatgc()cannot be called on theAgentstruct, only onBoxedAgent. You also cannot accessAgentthroughBoxedAgentwithout going intowith(closure).Together, this means that you cannot run GC while JS is running. This is good. You also cannot use JS Values without again going into
with(closure). This is also good.This however doesn't stop you from sneaking out JS Values of
with(closure). This is bad, but that's future stuff.