aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_bp.h
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-04-15 15:10:55 +0200
committerLukas Larsson <[email protected]>2016-04-15 15:10:55 +0200
commitbe7f01689e71cbc1896ea5c11fb0ebc6f7f6dd8a (patch)
treee7db1292fe6aa167408b7a7c93289fe2cca7e5c1 /erts/emulator/beam/beam_bp.h
parent67df3b3792857a2b4885c0acbeaa7f32f3594b0c (diff)
parentcff38617986001e0a5f3f48de20acbeccceea978 (diff)
downloadotp-be7f01689e71cbc1896ea5c11fb0ebc6f7f6dd8a.tar.gz
otp-be7f01689e71cbc1896ea5c11fb0ebc6f7f6dd8a.tar.bz2
otp-be7f01689e71cbc1896ea5c11fb0ebc6f7f6dd8a.zip
Merge branch 'lukas/erts/tracer-module-and-more/PR-1009/OTP-10268'
* lukas/erts/tracer-module-and-more/PR-1009/OTP-10268: (26 commits) erts: Don't trace on link events when port is dead erts: more logging in trace_bif_SUITE trace_bif_return erts: Make trace_delivered go via sys msg dispatcher again erts: Add comment about future trace optimizations erts: Optimize tracer reload test erts: Document erlang:match_spec_test/3 runtime_tools: Make dbg work with erl_tracer modules runtime_rools: Allow new timestamp trace flags runtime_tools: Lots of dbg docs updates erts: Deallocate heap fragments from trace nif calls eprof: Fix tests after tracer module incompatabilities fprof: update to work with new spawned trace event erts: Add 'spawned' trace event to 'procs' trace flag erts: send and receive no longer need status lock erts: Do 'unregister' as "self-tracing" erts: Silence harmless valgrind warning in dec_term erts: Fix end_per_testcase crash in local_trace_SUITE observer: Update ttb to work with tracing on ports runtime_tools: Update dbg to work with tracing on ports erts: Add tracing examples in match spec docs ...
Diffstat (limited to 'erts/emulator/beam/beam_bp.h')
-rw-r--r--erts/emulator/beam/beam_bp.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/erts/emulator/beam/beam_bp.h b/erts/emulator/beam/beam_bp.h
index f9eca94e2a..bb171be8a6 100644
--- a/erts/emulator/beam/beam_bp.h
+++ b/erts/emulator/beam/beam_bp.h
@@ -55,15 +55,15 @@ typedef struct {
} BpCount;
typedef struct {
- erts_smp_atomic_t pid;
+ erts_smp_atomic_t tracer;
erts_refc_t refc;
-} BpMetaPid;
+} BpMetaTracer;
typedef struct generic_bp_data {
Uint flags;
Binary* local_ms; /* Match spec for local call trace */
Binary* meta_ms; /* Match spec for meta trace */
- BpMetaPid* meta_pid; /* Meta trace pid */
+ BpMetaTracer* meta_tracer; /* Meta tracer */
BpCount* count; /* For call count */
BpDataTime* time; /* For time trace */
} GenericBpData;
@@ -132,10 +132,10 @@ void erts_set_call_trace_bif(BeamInstr *pc, Binary *match_spec, int local);
void erts_clear_call_trace_bif(BeamInstr *pc, int local);
void erts_set_mtrace_break(BpFunctions *f, Binary *match_spec,
- Eterm tracer_pid);
+ ErtsTracer tracer);
void erts_clear_mtrace_break(BpFunctions *f);
void erts_set_mtrace_bif(BeamInstr *pc, Binary *match_spec,
- Eterm tracer_pid);
+ ErtsTracer tracer);
void erts_clear_mtrace_bif(BeamInstr *pc);
void erts_set_debug_break(BpFunctions *f);
@@ -150,13 +150,13 @@ void erts_clear_export_break(Module *modp, BeamInstr* pc);
BeamInstr erts_generic_breakpoint(Process* c_p, BeamInstr* I, Eterm* reg);
BeamInstr erts_trace_break(Process *p, BeamInstr *pc, Eterm *args,
- Uint32 *ret_flags, Eterm *tracer_pid);
+ Uint32 *ret_flags, ErtsTracer *tracer);
int erts_is_trace_break(BeamInstr *pc, Binary **match_spec_ret, int local);
int erts_is_mtrace_break(BeamInstr *pc, Binary **match_spec_ret,
- Eterm *tracer_pid_rte);
+ ErtsTracer *tracer_ret);
int erts_is_mtrace_bif(BeamInstr *pc, Binary **match_spec_ret,
- Eterm *tracer_pid_ret);
+ ErtsTracer *tracer_ret);
int erts_is_native_break(BeamInstr *pc);
int erts_is_count_break(BeamInstr *pc, Uint *count_ret);
int erts_is_time_break(Process *p, BeamInstr *pc, Eterm *call_time);