summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKathy Gray2016-01-27 14:18:53 +0000
committerKathy Gray2016-01-27 14:18:53 +0000
commit168b3d46c01a3ad467a3ff8b34dc6e60a1768abd (patch)
treeb3206110ea54c87e52f80b942484fdcada3af5ed /src
parent5350480a5f378f0a8d2a97576c4b011464832c1c (diff)
Add ability to run to a particular instruction execution number
Could later add the ability to run to a particular instruction form (like we had in ppcmem2) or address
Diffstat (limited to 'src')
-rw-r--r--src/lem_interp/run_with_elf.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lem_interp/run_with_elf.ml b/src/lem_interp/run_with_elf.ml
index ea0c7f46..f7c00360 100644
--- a/src/lem_interp/run_with_elf.ml
+++ b/src/lem_interp/run_with_elf.ml
@@ -915,6 +915,7 @@ let fetch_instruction_opcode_and_update_ia model =
let rec fde_loop count context model mode track_dependencies opcode =
interactf "\n**** instruction %d ****\n" count;
+ if !break_point && count = !break_instr then begin break_point := false; eager_eval := false end;
let (instruction,istate) = match Interp_inter_imp.decode_to_istate context opcode with
| Instr(instruction,istate) ->
interactf "\n**** Running: %s ****\n" (Printing_functions.instruction_to_string instruction);
@@ -931,7 +932,7 @@ let rec fde_loop count context model mode track_dependencies opcode =
exit 1
in
if stop_condition_met model instruction
- then resultf "\nSUCCESS program terminated\n"
+ then resultf "\nSUCCESS program terminated after %d instructions\n" count
else
begin
set_next_instruction_address model;
@@ -950,7 +951,7 @@ let run () =
Arg.usage args "";
exit 1;
end;
- (*if !eager_eval then Run_interp_model.debug := true;*)
+ if !break_point then eager_eval := true;
let ((isa_defs,
(isa_m0, isa_m1, isa_m2, isa_m3,isa_m4),