From 6b824e501cd5b6b3b85c9ea8b25268154beb637b Mon Sep 17 00:00:00 2001 From: primoly <168267431+primoly@users.noreply.github.com> Date: Sat, 6 Jul 2024 17:35:07 +0200 Subject: [PATCH] Update abi.rs --- crates/core/src/abi.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/core/src/abi.rs b/crates/core/src/abi.rs index 6d6a816bc..d696b459a 100644 --- a/crates/core/src/abi.rs +++ b/crates/core/src/abi.rs @@ -1806,16 +1806,17 @@ impl<'a, B: Bindgen> Generator<'a, B> { TypeDefKind::Type(t) => self.deallocate(t, addr, offset), TypeDefKind::List(element) => { + self.stack.push(addr.clone()); + self.emit(&Instruction::PointerLoad { offset }); + self.stack.push(addr); + self.emit(&Instruction::LengthLoad { offset: offset + 4 }); + self.push_block(); self.emit(&IterBasePointer); let elemaddr = self.stack.pop().unwrap(); self.deallocate(element, elemaddr, 0); self.finish_block(0); - self.stack.push(addr.clone()); - self.emit(&Instruction::PointerLoad { offset }); - self.stack.push(addr); - self.emit(&Instruction::LengthLoad { offset: offset + 4 }); self.emit(&Instruction::GuestDeallocateList { element }); }