diff options
author | Erlang/OTP <[email protected]> | 2010-06-04 14:01:56 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-06-04 14:01:56 +0000 |
commit | 5e354ca66996ee03d615dc36c284e94ccf176e89 (patch) | |
tree | cce028987420702d213a751d03f1cd3683c4bed5 /erts/emulator/beam/global.h | |
parent | fa66eb731b85726970cc4c581d32ebdc2ebb965e (diff) | |
parent | 63751e0554dfb35a63d572aaca2f1fc37e1c12fe (diff) | |
download | otp-5e354ca66996ee03d615dc36c284e94ccf176e89.tar.gz otp-5e354ca66996ee03d615dc36c284e94ccf176e89.tar.bz2 otp-5e354ca66996ee03d615dc36c284e94ccf176e89.zip |
Merge branch 'egil/call-time-trace-patterns' into dev
* egil/call-time-trace-patterns:
Fix ops.tab to include i_return_time_trace
Let trace_call_time_SUITE scheduling test be more relaxed
Add documentation for call time breakpoints
Fix bp_hash_put to do hash value after rehash
Extend trace_call_time_SUITE with bif-tests
Fix assertion in trace_pattern for bifs
Teach erlang:system_info/1 to list snifs
Add bif tests to call time trace tests
Teach call time trace patterns to include bifs
Fix BeamInstr code array in export.h
Add trace call_time tests for nifs and bifs
Teach call count tracing to use atomics
Add first phase of trace call time test suite
Add a scheduler array for BpData at BeamInstr[-4]
Add search keys in breakpoints and a searchfunction
Fix BeamInstr for call_time
Teach call_time trace to use intruction pointers
Add return_time trace and PSD deletions
Remove trailing character in beam_bif_load
Fix set_function_break to use correct breakpoint
...
OTP-8677 egil/call-time-trace-patterns
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r-- | erts/emulator/beam/global.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index 19dd3d6f97..b4a7a22082 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -1741,8 +1741,10 @@ struct trace_pattern_flags { unsigned int local : 1; /* Local call trace breakpoint */ unsigned int meta : 1; /* Metadata trace breakpoint */ unsigned int call_count : 1; /* Fast call count breakpoint */ + unsigned int call_time : 1; /* Fast call time breakpoint */ }; extern const struct trace_pattern_flags erts_trace_pattern_flags_off; +extern int erts_call_time_breakpoint_tracing; int erts_set_trace_pattern(Eterm* mfa, int specified, Binary* match_prog_set, Binary *meta_match_prog_set, int on, struct trace_pattern_flags, @@ -1786,18 +1788,20 @@ extern void erts_match_prog_foreach_offheap(Binary *b, void (*)(ErlOffHeap *, void *), void *); -#define MATCH_SET_RETURN_TRACE 0x1 /* return trace requested */ -#define MATCH_SET_RETURN_TO_TRACE 0x2 /* Misleading name, it is not actually - set by the match program, but by the - breakpoint functions */ -#define MATCH_SET_EXCEPTION_TRACE 0x4 /* exception trace requested */ +#define MATCH_SET_RETURN_TRACE (0x1) /* return trace requested */ +#define MATCH_SET_RETURN_TO_TRACE (0x2) /* Misleading name, it is not actually + set by the match program, but by the + breakpoint functions */ +#define MATCH_SET_EXCEPTION_TRACE (0x4) /* exception trace requested */ #define MATCH_SET_RX_TRACE (MATCH_SET_RETURN_TRACE|MATCH_SET_EXCEPTION_TRACE) /* * Flag values when tracing bif + * Future note: flag field is 8 bits */ -#define BIF_TRACE_AS_LOCAL 0x1 -#define BIF_TRACE_AS_GLOBAL 0x2 -#define BIF_TRACE_AS_META 0x4 +#define BIF_TRACE_AS_LOCAL (0x1) +#define BIF_TRACE_AS_GLOBAL (0x2) +#define BIF_TRACE_AS_META (0x4) +#define BIF_TRACE_AS_CALL_TIME (0x8) extern erts_driver_t vanilla_driver; extern erts_driver_t spawn_driver; |