summaryrefslogtreecommitdiff
path: root/include/ruby/impl/arithmetic/uid_t.h
diff options
context:
space:
mode:
authorAlan Wu <[email protected]>2025-06-10 20:52:57 +0900
committerAlan Wu <[email protected]>2025-06-11 19:49:49 +0900
commite5c7f1695e8cf774d073e7b103c1d9289cad56ee (patch)
treec5b0623d5ee0ed48921b1613d9340b333a2f4917 /include/ruby/impl/arithmetic/uid_t.h
parent4ebe0a1ba50c7022bcbd823471a6d08e7cee52bd (diff)
YJIT: x86: Fix panic writing 32-bit number with top bit set
Previously, `asm.mov(m32, imm32)` panicked when `imm32 > 0x80000000`. It attempted to split imm32 into a register before doing the store, but then the register size didn't match the destination size. Instead of splitting, use the `MOV r/m32, imm32` form which works for all 32-bit values. Adjust asserts that assumed that all forms undergo sign extension, which is not true for this case. See: 54edc930f9f0a658da45cfcef46648d1b6f82467
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/13576
Diffstat (limited to 'include/ruby/impl/arithmetic/uid_t.h')
0 files changed, 0 insertions, 0 deletions