-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
[move-vm][closures] Types and opcodes for closures #15667
Open
wrwg
wants to merge
1
commit into
main
Choose a base branch
from
wrwg/clos_file_format
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+800
−70
Conversation
This file contains 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
⏱️ 1h 13m total CI duration on this PR
|
wrwg
force-pushed
the
wrwg/clos_file_format
branch
4 times, most recently
from
January 6, 2025 02:47
9688bde
to
f2effc9
Compare
wrwg
requested review from
vgao1996
and removed request for
gregnazario,
banool and
0xmaayan
January 8, 2025 06:16
wrwg
force-pushed
the
wrwg/clos_file_format
branch
3 times, most recently
from
January 16, 2025 06:44
0aa8d5d
to
301ccae
Compare
wrwg
force-pushed
the
wrwg/clos_file_format
branch
3 times, most recently
from
January 18, 2025 03:21
0ebce3a
to
58fbf2b
Compare
wrwg
force-pushed
the
wrwg/clos_file_format
branch
2 times, most recently
from
January 21, 2025 04:55
d9a4a9f
to
e2b0141
Compare
This was referenced Jan 21, 2025
wrwg
force-pushed
the
wrwg/clos_file_format
branch
from
January 21, 2025 05:08
e2b0141
to
53b97a8
Compare
@wrwg I think this PR got V8 binary format change leaked into it |
wrwg
force-pushed
the
wrwg/clos_file_format
branch
from
January 21, 2025 16:56
53b97a8
to
58fb6ba
Compare
wrwg
force-pushed
the
wrwg/clos_file_format
branch
from
January 22, 2025 03:19
58fb6ba
to
55a5551
Compare
Can't see any unexpected. This PR is based on the (now landed) v8 PR. Perhaps there was a merge conflict which is now resolved after rebase? |
wrwg
force-pushed
the
wrwg/clos_file_format
branch
from
January 22, 2025 06:23
55a5551
to
ffc2f2d
Compare
This PR implements the extensions needed in the file format for representing closures: - The type (SignatureToken) has a new variant `Function(args, result, abilities)` to represent a function type - The opcodes are extendeed by operations `ClosPack`, `ClosPackGeneric`, and `ClosEval` This supports bit masks for specifyinng which arguments of a function are captured when creating a closure. Bytecode verification is extended to support the new types and opcodes. The implementation of consistency, type, and reference safety should be complete. What is missing are: - File format serialization - Interpreter and value representation - Value serialization - Connection of the new types with the various other type representations
wrwg
force-pushed
the
wrwg/clos_file_format
branch
from
January 22, 2025 06:52
ffc2f2d
to
781423d
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.
Description
[PR 1/n for vm closures]
This PR implements the extensions needed in the file format for representing closures:
SignatureToken
has a new variantFunction(args, result, abilities)
to represent a function typePackClosure
,PackClosureGeneric
, andCallClosure
This supports bit masks for specifying which arguments of a function are captured when creating a closure.
Bytecode verification is extended to support the new types and opcodes. The implementation of consistency, type, and reference safety should be complete. What is missing are:
How Has This Been Tested?
Testing postponed until e2e wiring is ready
Type of Change
Which Components or Systems Does This Change Impact?