summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2023-02-08 13:24:28 +0100
committerGitHub <noreply@github.com>2023-02-08 13:24:28 +0100
commitc0cc1fe4885a1b7c7d74a52e49c9a68784efbb20 (patch)
tree3f633753826d37089bd9ceaa8676027ba1f9b553 /erts/emulator/beam/erl_process.h
parent5d77b48bc2a3c12c8800b4f33cb97268f7d8952f (diff)
parent3a529f8c7dbaacb85522a0f983b7f1dd16e8dce1 (diff)
downloaderlang-c0cc1fe4885a1b7c7d74a52e49c9a68784efbb20.tar.gz
Merge PR-6351 from max-au/call-memory OTP-18440
[erts] Implement call_memory tracing
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r--erts/emulator/beam/erl_process.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index dbc94d8d66..133b2c7d7f 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -871,9 +871,10 @@ erts_reset_max_len(ErtsRunQueue *rq, ErtsRunQueueInfo *rqi)
#define ERTS_PSD_ETS_OWNED_TABLES 6
#define ERTS_PSD_ETS_FIXED_TABLES 7
#define ERTS_PSD_DIST_ENTRY 8
-#define ERTS_PSD_PENDING_SUSPEND 9 /* keep last... */
+#define ERTS_PSD_PENDING_SUSPEND 9
+#define ERTS_PSD_CALL_MEMORY_BP 10
-#define ERTS_PSD_SIZE 10
+#define ERTS_PSD_SIZE 11
typedef struct {
void *data[ERTS_PSD_SIZE];
@@ -2233,9 +2234,9 @@ erts_psd_set(Process *p, int ix, void *data)
((struct saved_calls *) erts_psd_set((P), 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))
+ ((process_breakpoint_trace_t *) erts_psd_get((P), ERTS_PSD_CALL_TIME_BP))
#define ERTS_PROC_SET_CALL_TIME(P, PBT) \
- ((process_breakpoint_time_t *) erts_psd_set((P), ERTS_PSD_CALL_TIME_BP, (void *) (PBT)))
+ ((process_breakpoint_trace_t *) erts_psd_set((P), ERTS_PSD_CALL_TIME_BP, (void *) (PBT)))
#define ERTS_PROC_GET_DELAYED_GC_TASK_QS(P) \
((ErtsProcSysTaskQs *) erts_psd_get((P), ERTS_PSD_DELAYED_GC_TASK_QS))
@@ -2257,6 +2258,11 @@ erts_psd_set(Process *p, int ix, void *data)
#define ERTS_PROC_SET_PENDING_SUSPEND(P, PS) \
((void *) erts_psd_set((P), ERTS_PSD_PENDING_SUSPEND, (void *) (PS)))
+#define ERTS_PROC_GET_CALL_MEMORY(P) \
+ ((process_breakpoint_trace_t *) erts_psd_get((P), ERTS_PSD_CALL_MEMORY_BP))
+#define ERTS_PROC_SET_CALL_MEMORY(P, PBT) \
+ ((process_breakpoint_trace_t *) erts_psd_set((P), ERTS_PSD_CALL_MEMORY_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, Eterm handler);