Include emergency stack slots when laying out the stack.
Emergency stack slots are a new kind of stack slot added relatively recently. They need to be allocated a stack offset just like explicit and spill slots. Also, make StackSlotData's offset field an Option, to catch problems like this in the future. Previously the value 0 was used when offsets weren't assigned yet, however that made it non-obvious when the field meant "not assigned yet" and when it meant "assigned the value 0".
This commit is contained in:
@@ -808,7 +808,7 @@ impl<'a> Verifier<'a> {
|
||||
slot
|
||||
);
|
||||
}
|
||||
if slot.offset != offset {
|
||||
if slot.offset != Some(offset) {
|
||||
return err!(
|
||||
inst,
|
||||
"Outgoing stack argument {} should have offset {}: {} = {}",
|
||||
|
||||
Reference in New Issue
Block a user