diff options
author | Björn Gustavsson <[email protected]> | 2012-02-21 08:48:42 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-06-25 14:31:19 +0200 |
commit | aa340f8d8a13b86f2938a4ce0b3c7d5807dec716 (patch) | |
tree | 50fd1280fd85ea9ab2766d584f94739b6acbd554 /erts/emulator/beam/ops.tab | |
parent | 17263978bd05535251aba8ec37cbd0a6756f57f7 (diff) | |
download | otp-aa340f8d8a13b86f2938a4ce0b3c7d5807dec716.tar.gz otp-aa340f8d8a13b86f2938a4ce0b3c7d5807dec716.tar.bz2 otp-aa340f8d8a13b86f2938a4ce0b3c7d5807dec716.zip |
Change the data structures for breakpoints
Change the data structures for breakpoints to make it possible
(in a future commit) to manage breakpoints without taking down the
system to single-scheduling mode.
The current "breakpoint wheel" data structure (a circular,
double-linked list of breakpoints) was invented before the
SMP emulator. To support it in the SMP emulator, there is essentially
one breakpoint wheel per scheduler. As more breakpoint types have
been added, the implementation has become messy and hard to understand
and maintain.
Therefore, the time for a rewrite has come. Use one struct to hold
all breakpoint data for a breakpoint in a function. Use a flag field
to indicate what different type of break actions that are enabled.
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r-- | erts/emulator/beam/ops.tab | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab index c58b36231c..8cb57a9c60 100644 --- a/erts/emulator/beam/ops.tab +++ b/erts/emulator/beam/ops.tab @@ -62,11 +62,8 @@ label L i_func_info I a a I int_code_end -i_trace_breakpoint -i_mtrace_breakpoint +i_generic_breakpoint i_debug_breakpoint -i_count_breakpoint -i_time_breakpoint i_return_time_trace i_return_to_trace i_yield |