aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_bp.h
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2010-05-06 18:51:34 +0200
committerRaimo Niskanen <[email protected]>2010-06-03 14:54:21 +0200
commit9a5848fc667acb2aedeb39af94d16a9b346aa47e (patch)
tree23aa00631a6a91dbf6c5a3d1ae412835de01bbe3 /erts/emulator/beam/beam_bp.h
parent19278f9eecb61ab652347097d1558b696c8eb066 (diff)
downloadotp-9a5848fc667acb2aedeb39af94d16a9b346aa47e.tar.gz
otp-9a5848fc667acb2aedeb39af94d16a9b346aa47e.tar.bz2
otp-9a5848fc667acb2aedeb39af94d16a9b346aa47e.zip
Add search keys in breakpoints and a searchfunction
Diffstat (limited to 'erts/emulator/beam/beam_bp.h')
-rw-r--r--erts/emulator/beam/beam_bp.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/erts/emulator/beam/beam_bp.h b/erts/emulator/beam/beam_bp.h
index 4a3d244d2f..6b339401fc 100644
--- a/erts/emulator/beam/beam_bp.h
+++ b/erts/emulator/beam/beam_bp.h
@@ -49,6 +49,7 @@ typedef struct bp_data {
struct bp_data *next; /* Doubly linked ring pointers */
struct bp_data *prev; /* -"- */
BeamInstr orig_instr; /* The original instruction to execute */
+ BeamInstr this_instr; /* key */
} BpData;
/*
** All the following bp_data_.. structs must begin the same way
@@ -57,21 +58,24 @@ typedef struct bp_data {
typedef struct bp_data_trace {
struct bp_data *next;
struct bp_data *prev;
- BeamInstr orig_instr;
+ BeamInstr orig_instr;
+ BeamInstr this_instr; /* key */
Binary *match_spec;
- Eterm tracer_pid;
+ Eterm tracer_pid;
} BpDataTrace;
typedef struct bp_data_debug {
struct bp_data *next;
struct bp_data *prev;
- BeamInstr orig_instr;
+ BeamInstr orig_instr;
+ BeamInstr this_instr; /* key */
} BpDataDebug;
-typedef struct bp_data_count { /* Call count */
+typedef struct bp_data_count { /* Call count */
struct bp_data *next;
struct bp_data *prev;
BeamInstr orig_instr;
+ BeamInstr this_instr; /* key */
Sint count;
} BpDataCount;
@@ -88,10 +92,11 @@ typedef struct {
bp_data_time_item_t *item;
} bp_time_hash_t;
-typedef struct bp_data_time { /* Call time */
+typedef struct bp_data_time { /* Call time */
struct bp_data *next;
struct bp_data *prev;
BeamInstr orig_instr;
+ BeamInstr this_instr; /* key */
Uint pause;
Uint n;
bp_time_hash_t *hash;