diff options
author | Sverker Eriksson <sverker@erlang.org> | 2023-02-08 13:24:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-08 13:24:28 +0100 |
commit | c0cc1fe4885a1b7c7d74a52e49c9a68784efbb20 (patch) | |
tree | 3f633753826d37089bd9ceaa8676027ba1f9b553 /erts/emulator/beam/erl_process.h | |
parent | 5d77b48bc2a3c12c8800b4f33cb97268f7d8952f (diff) | |
parent | 3a529f8c7dbaacb85522a0f983b7f1dd16e8dce1 (diff) | |
download | erlang-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.h | 14 |
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); |