mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
LibDebug: add DW_LNS_set_basic_block support
This adds support for the basic_block register to the Dwarf line number state machine.
This commit is contained in:
parent
bd68ca362b
commit
3a5f9b2f7e
Notes:
sideshowbarker
2024-07-18 18:45:05 +09:00
Author: https://github.com/spigwitmer 🔰 Commit: https://github.com/SerenityOS/serenity/commit/3a5f9b2f7e2 Pull-request: https://github.com/SerenityOS/serenity/pull/6821
2 changed files with 7 additions and 0 deletions
|
@ -242,6 +242,10 @@ void LineProgram::handle_standard_opcode(u8 opcode)
|
||||||
m_address += delta;
|
m_address += delta;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case StandardOpcodes::SetBasicBlock: {
|
||||||
|
m_basic_block = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
dbgln("Unhandled LineProgram opcode {}", opcode);
|
dbgln("Unhandled LineProgram opcode {}", opcode);
|
||||||
VERIFY_NOT_REACHED();
|
VERIFY_NOT_REACHED();
|
||||||
|
@ -262,6 +266,8 @@ void LineProgram::handle_special_opcode(u8 opcode)
|
||||||
}
|
}
|
||||||
|
|
||||||
append_to_line_info();
|
append_to_line_info();
|
||||||
|
|
||||||
|
m_basic_block = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LineProgram::run_program()
|
void LineProgram::run_program()
|
||||||
|
|
|
@ -171,6 +171,7 @@ private:
|
||||||
size_t m_line { 0 };
|
size_t m_line { 0 };
|
||||||
size_t m_file_index { 0 };
|
size_t m_file_index { 0 };
|
||||||
bool m_is_statement { false };
|
bool m_is_statement { false };
|
||||||
|
bool m_basic_block { false };
|
||||||
|
|
||||||
Vector<LineInfo> m_lines;
|
Vector<LineInfo> m_lines;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue