-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Refactor Pulley's interpreter loop #9629
base: main
Are you sure you want to change the base?
Refactor Pulley's interpreter loop #9629
Conversation
* Define loop-over-match and loop-with-tail-calls in separate files to make it more clear which is in which (and less `#[cfg]`) * Move per-opcode handlers to `interp.rs` outside of a macro invocation to get better native editor support (e.g. formatting, hints, etc). This is roughly intended to be perf-neutral but we don't have many automated benchmarks yet for Pulley so it's intended to profile later as well.
@fitzgen, I'll leave this for you for when you get back as I assume you have stronger opinions on this level of changes. |
Subscribe to Label Actioncc @fitzgen
This issue or pull request has been labeled: "pulley"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
I've done a bit more refactoring here with the goal of modeling the interpreter as an implementation of |
I think that @fitzgen may be out for another week or so and I'm starting to accumulate other changes built on this, so @abrown would you be ok approving this from a "lgtm" point of view? Pulley is still under heavy development so it should be ok to break things/regress things temporarily and I'm happy to take responsibility for following-up on this with Nick when he's back. |
#[cfg]
)interp.rs
outside of a macro invocation to get better native editor support (e.g. formatting, hints, etc).This is roughly intended to be perf-neutral but we don't have many automated benchmarks yet for Pulley so it's intended to profile later as well.