aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_emu.c
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r--erts/emulator/beam/beam_emu.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index d42e74ccc9..145ae48590 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -4408,6 +4408,22 @@ apply_bif_or_nif_epilogue:
Goto(real_I);
}
+ OpCase(i_time_breakpoint): {
+ BeamInstr real_I;
+ BpDataTime *bdt = (BpDataTime *) (I)[-4];
+
+ ASSERT((I)[-5] == (Uint) BeamOp(op_i_func_info_IaaI));
+ ASSERT(bdt);
+ bdt = (BpDataTime *) bdt->next;
+ ASSERT(bdt);
+ (I)[-4] = (Uint) bdt;
+ real_I = bdt->orig_instr;
+ erts_do_time_break(c_p, bdt);
+
+ ASSERT(VALID_INSTR(real_I));
+ Goto(real_I);
+ }
+
OpCase(i_trace_breakpoint):
if (! IS_TRACED_FL(c_p, F_TRACE_CALLS)) {
BeamInstr real_I;