-
Notifications
You must be signed in to change notification settings - Fork 787
Type allocations as exact #7589
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
Conversation
Update RefFunc, StructNew, ArrayNew*, ContNew, and ContBind expression to have exact reference types, as they will under the custom descriptors proposal. Even without that proposal enabled, using exact types in the IR can help better optimize casts and generally allows us to propagate more precise type information. Update the fuzzer to avoid assertion failures and invalid output now that it can observe exact types via allocations. Update test output to contain newly emitted exact types.
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.
Converting to draft until I can update all the tests that no longer test what they mean to. The actual code should be fine to review, though.
# Add --fuzzing to allow legacy and standard EH to coexist | ||
cmd = [shared.V8, '--wasm-staging', '--fuzzing', fuzz_file] |
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.
This is probably an unrelated side effect of having updated my local V8 version.
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.
code lgtm
(struct.new_default $"{i32}") | ||
(struct.new_default $"{i32_i64}") | ||
(i32.const 0) | ||
) |
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.
perhaps add a comment here? i can't figure out why it was needed.
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.
Done.
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.
lgtm!
Update RefFunc, StructNew, ArrayNew*, ContNew, and ContBind expression
to have exact reference types, as they will under the custom descriptors
proposal. Even without that proposal enabled, using exact types in the
IR can help better optimize casts and generally allows us to propagate
more precise type information.
Update the fuzzer to avoid assertion failures and invalid output now
that it can observe exact types via allocations. Update test output to
contain newly emitted exact types.