Skip to content

Add bounds checks to the frame table emission code #3987

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

Conversation

spiessimon
Copy link
Contributor

@spiessimon spiessimon commented May 9, 2025

In preparation of re-enabling #3931, this PR adds bounds checks to the emission code for frame tables. Due to recent compiler changes, some integers that used to be non-negative (the live offsets in the frame table) can now be negative. The changes in this PR make it clear which ranges are expected for various constants in the frame table emission code.

Notably, I have left efa_word alone for now. I believe it is a signed integer of target-platform width, but I wasn't completely sure.

Copy link
Contributor

@gretay-js gretay-js left a comment

Choose a reason for hiding this comment

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

I have a few small questions about the change.

@spiessimon spiessimon enabled auto-merge (squash) May 14, 2025 11:11
@spiessimon spiessimon merged commit efe1ab1 into ocaml-flambda:main May 14, 2025
27 checks passed
Gbury pushed a commit to Gbury/flambda-backend that referenced this pull request May 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants