alexcrichton commented on issue #3143:
Looks like #3144 is what this was running into. The trap showing up was different for emulation vs non-emulation (due to configurations around guard pages and linear memory). I'm not sure which trap should be showing up so I've modified the tests to only have one case of the trap possible, instead of two.
alexcrichton commented on issue #3143:
Hm well actually thinking about it more, the in-progress spec does specify that alignment checks happen first, and I think that's the most reasonable thing to do, so I'm going to go ahead and implement that. The codegen is inefficient in that it generates an
iadd
purely for the alignment check which probably overlaps with the lateriadd
for the the lowering ofheap_addr
or adding in the offset again, but this should at least be more correct than before and presumably optimizations can always come later too.
cfallin commented on issue #3143:
Yeah, GVN may actually combine the adds; if it doesn't, we might be able to do something special for this later.
Last updated: Dec 23 2024 at 12:05 UTC