Skip to content

Conversation

mflatt
Copy link
Contributor

@mflatt mflatt commented Aug 4, 2025

This change will have no affect on the machine code generated for flbit-field, normally, since fx- and fx-/wraparound produce the same code in unsafe mode, as do fxsll and fxsll/wraparound. But this repair avoids failure in "fl.ms" afer compiling Chez Scheme itself in safe mode with something like zuo . o=0.

Another possibility is to allow only a smaller bit width (by 1 bit) to reach the relevant expression. Using wraparound operators seems more conservative in that it keeps the generated code the same.

This change will have no affect on the machine code generated for
`flbit-field`, normally, since `fx-` and `fx-/wraparound` produce the
same code in unsafe mode, as do `fxsll` and `fxsll/wraparound`. But
this repair avoids failure in "fl.ms" afer compiling Chez Scheme
itself in safe mode with something like `zuo . o=0`.

Another possibility is to allow only a smaller bit width (by 1 bit) to
reach the relevant expression. Using wraparound operators seems more
conservative in that it keeps the generated code the same.
@mflatt mflatt merged commit 9a482b1 into cisco:main Aug 28, 2025
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant