aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2010-04-10 17:27:24 +0200
committerRaimo Niskanen <[email protected]>2010-06-03 14:54:20 +0200
commitb937b42d2f98c4e0024418dbbd55ff545bcf65d6 (patch)
tree7de7932e20255f1bf4ecf17ab0128f171083424b /erts/emulator/beam/erl_process.h
parentcbd1378ee1fde835e55614bac9290b281bafe49a (diff)
downloadotp-b937b42d2f98c4e0024418dbbd55ff545bcf65d6.tar.gz
otp-b937b42d2f98c4e0024418dbbd55ff545bcf65d6.tar.bz2
otp-b937b42d2f98c4e0024418dbbd55ff545bcf65d6.zip
Call time breakpoint tracing framework
Initial commit with a new breakpoint instruction and PSD areas for temporary time storage during tracing.
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r--erts/emulator/beam/erl_process.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index e2cb523cf5..bacaa25d23 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -397,8 +397,9 @@ extern ErtsSchedulerData *erts_scheduler_data;
#define ERTS_PSD_SAVED_CALLS_BUF 1
#define ERTS_PSD_SCHED_ID 2
#define ERTS_PSD_DIST_ENTRY 3
+#define ERTS_PSD_CALL_TIME_BP 4
-#define ERTS_PSD_SIZE 4
+#define ERTS_PSD_SIZE 5
typedef struct {
void *data[ERTS_PSD_SIZE];
@@ -1208,6 +1209,12 @@ erts_psd_set(Process *p, ErtsProcLocks plocks, int ix, void *data)
#define ERTS_PROC_SET_SAVED_CALLS_BUF(P, L, SCB) \
((struct saved_calls *) erts_psd_set((P), (L), ERTS_PSD_SAVED_CALLS_BUF, (void *) (SCB)))
+#define ERTS_PROC_GET_CALL_TIME(P) \
+ ((process_breakpoint_time_t *) erts_psd_get((P), ERTS_PSD_CALL_TIME_BP))
+#define ERTS_PROC_SET_CALL_TIME(P, L, PBT) \
+ ((process_breakpoint_time_t *) erts_psd_set((P), (L), ERTS_PSD_CALL_TIME_BP, (void *) (PBT)))
+
+
ERTS_GLB_INLINE Eterm erts_proc_get_error_handler(Process *p);
ERTS_GLB_INLINE Eterm erts_proc_set_error_handler(Process *p,
ErtsProcLocks plocks,