cprover
|
Interrupt Instrumentation. More...
Go to the source code of this file.
Functions | |
bool | potential_race_on_read (const rw_set_baset &code_rw_set, const rw_set_baset &isr_rw_set) |
bool | potential_race_on_write (const rw_set_baset &code_rw_set, const rw_set_baset &isr_rw_set) |
void | interrupt (value_setst &value_sets, const symbol_tablet &symbol_table, goto_programt &goto_program, const symbol_exprt &interrupt_handler, const rw_set_baset &isr_rw_set) |
symbol_exprt | get_isr (const symbol_tablet &symbol_table, const irep_idt &interrupt_handler) |
void | interrupt (value_setst &value_sets, goto_modelt &goto_model, const irep_idt &interrupt_handler) |
Interrupt Instrumentation.
Definition in file interrupt.cpp.
symbol_exprt get_isr | ( | const symbol_tablet & | symbol_table, |
const irep_idt & | interrupt_handler | ||
) |
Definition at line 148 of file interrupt.cpp.
References forall_symbol_base_map, id2string(), symbol_table_baset::symbol_base_map, goto_modelt::symbol_table, symbol_table_baset::symbols, to_code_type(), and exprt::type().
Referenced by interrupt().
void interrupt | ( | value_setst & | value_sets, |
const symbol_tablet & | symbol_table, | ||
goto_programt & | goto_program, | ||
const symbol_exprt & | interrupt_handler, | ||
const rw_set_baset & | isr_rw_set | ||
) |
Definition at line 53 of file interrupt.cpp.
References exprt::add_source_location(), Forall_goto_program_instructions, goto_programt::instructiont::function, code_function_callt::function(), goto_program, goto_programt::insert_after(), potential_race_on_read(), potential_race_on_write(), exprt::source_location(), goto_programt::instructiont::source_location, dstringt::swap(), goto_programt::instructiont::swap(), and goto_modelt::symbol_table.
Referenced by goto_instrument_parse_optionst::instrument_goto_program(), and interrupt().
void interrupt | ( | value_setst & | value_sets, |
goto_modelt & | goto_model, | ||
const irep_idt & | interrupt_handler | ||
) |
Definition at line 182 of file interrupt.cpp.
References goto_functionst::entry_point(), Forall_goto_functions, symbol_exprt::get_identifier(), get_isr(), goto_modelt::goto_functions, INITIALIZE_FUNCTION, interrupt(), goto_modelt::symbol_table, and goto_functionst::update().
bool potential_race_on_read | ( | const rw_set_baset & | code_rw_set, |
const rw_set_baset & | isr_rw_set | ||
) |
Definition at line 22 of file interrupt.cpp.
References forall_rw_set_r_entries, and rw_set_baset::has_w_entry().
Referenced by interrupt().
bool potential_race_on_write | ( | const rw_set_baset & | code_rw_set, |
const rw_set_baset & | isr_rw_set | ||
) |
Definition at line 36 of file interrupt.cpp.
References forall_rw_set_w_entries, rw_set_baset::has_r_entry(), and rw_set_baset::has_w_entry().
Referenced by interrupt().