diff --git a/crates/vestal/src/call_sites.rs b/crates/vestal/src/call_sites.rs index 1f1e2cc..89fc9a6 100644 --- a/crates/vestal/src/call_sites.rs +++ b/crates/vestal/src/call_sites.rs @@ -31,7 +31,13 @@ impl Module { //println!("{:15} {} {instruction} {}", self.name, fmt_num(address as usize), fmt_bytes(opcodes)); // Ascend on RET if let Some(depth) = recurse { - if depth > 0 && opcodes == &[0xc3] { + if depth > 0 && opcodes[0] == 0xc3 { + break + } + if depth > 0 && opcodes == &[0x66, 0x90] { + break + } + if depth > 0 && opcodes == &[0x90] { break } }