skip leading NOP opcodes, which caused extra CFI rows to be emitted

This commit is contained in:
Nikita Smith
2025-11-07 14:39:45 -08:00
committed by Ryan Fleury
parent dad92610de
commit 4e2c983b0f
+8
View File
@@ -67,6 +67,14 @@ dw_cfi_next_row(Arena *arena, DW_CFI_Unwind *uw)
{ {
B32 is_row_valid = 0; B32 is_row_valid = 0;
// skip leading nops
while (uw->curr_inst) {
if (uw->curr_inst->v.opcode != DW_CFA_Nop) {
break;
}
uw->curr_inst = uw->curr_inst->next;
}
while (uw->curr_inst) { while (uw->curr_inst) {
DW_CFA_Inst *inst = &uw->curr_inst->v; DW_CFA_Inst *inst = &uw->curr_inst->v;