Skip to content

pulley: Fill out more bits and pieces of stack allocation#9718

Merged
abrown merged 4 commits intobytecodealliance:mainfrom
alexcrichton:pulley-stack-alloc
Dec 4, 2024
Merged

pulley: Fill out more bits and pieces of stack allocation#9718
abrown merged 4 commits intobytecodealliance:mainfrom
alexcrichton:pulley-stack-alloc

Conversation

@alexcrichton
Copy link
Copy Markdown
Member

  • Use push_frame and pop_frame in the Cranelift backend.
  • Use dedicated instructions for modifying the stack pointer
    • decrementing the stack pointer is always checked
    • incrementing the stack pointer is checked in debug mode
  • Disregard stack probes and stack_limit checks as they're both unnecessary for Pulley (all stack allocations are checked).

@alexcrichton alexcrichton requested review from a team as code owners December 3, 2024 19:03
@alexcrichton alexcrichton requested review from abrown and pchickey and removed request for a team December 3, 2024 19:03
@github-actions github-actions bot added cranelift Issues related to the Cranelift code generator pulley Issues related to the Pulley interpreter labels Dec 3, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Dec 3, 2024

Subscribe to Label Action

cc @fitzgen

Details This issue or pull request has been labeled: "cranelift", "pulley"

Thus the following users have been cc'd because of the following labels:

  • fitzgen: pulley

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

* Use `push_frame` and `pop_frame` in the Cranelift backend.
* Use dedicated instructions for modifying the stack pointer
  * decrementing the stack pointer is always checked
  * incrementing the stack pointer is checked in debug mode
* Disregard stack probes and stack_limit checks as they're both
  unnecessary for Pulley (all stack allocations are checked).
Copy link
Copy Markdown
Member

@abrown abrown left a comment

Choose a reason for hiding this comment

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

LGTM!

@abrown abrown added this pull request to the merge queue Dec 4, 2024
Merged via the queue into bytecodealliance:main with commit 350a6e2 Dec 4, 2024
@alexcrichton alexcrichton deleted the pulley-stack-alloc branch December 4, 2024 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cranelift Issues related to the Cranelift code generator pulley Issues related to the Pulley interpreter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants