sal: remove perf dependency to watchpoints/breakpoints

This change removes the hard compile-time dependency from the
performance-improving dedicated listener-list implementation
(core/sal/perf/) to basic watchpoints / breakpoints being enabled in
the cmake config.  This allows to keep the CONFIG_FAST_* switches
enabled in practically every experiment.

The primary reason for this change was the recent insight that enabled
breakpoints with disabled CONFIG_FAST_BREAKPOINTS can massively slow
down an experiment even if the latter does not use a single breakpoint
itself.

Change-Id: I5e3f5c1632ed1ee98a3ec887f18b174fa0e15773
This commit is contained in:
Horst Schirmeier
2016-09-22 17:45:20 +02:00
parent da3a78ec4d
commit d0d62de3f4
3 changed files with 2 additions and 10 deletions

View File

@ -21,8 +21,8 @@ OPTION(CONFIG_SUPPRESS_INTERRUPTS "Target backend: Suppress interrupts" ON
OPTION(CONFIG_FIRE_INTERRUPTS "Target backend: Fire interrupts" ON)
OPTION(CONFIG_DISABLE_KEYB_INTERRUPTS "Target backend: Suppress keyboard interrupts" OFF)
OPTION(SERVER_PERFORMANCE_MEASURE "Performance measurement in job-server" OFF)
OPTION(CONFIG_FAST_BREAKPOINTS "Enable fast breakpoints (requires breakpoint events to be enabled)" ON)
OPTION(CONFIG_FAST_WATCHPOINTS "Enable fast watchpoints (requires memory access events to be enabled)" ON)
OPTION(CONFIG_FAST_BREAKPOINTS "Enable fast breakpoints (only effective with breakpoints enabled; keep this ON unless you have a good reason not to)" ON)
OPTION(CONFIG_FAST_WATCHPOINTS "Enable fast watchpoints (only effective with memory events enabled; keep this ON unless you have a good reason not to)" ON)
OPTION(CONFIG_INJECTIONPOINT_HOPS "Enable hop chain trace navigation to injection point" OFF)
SET(SERVER_COMM_HOSTNAME "localhost" CACHE STRING "Job-server hostname or IP")
SET(SERVER_COMM_TCP_PORT "1111" CACHE STRING "Job-server TCP port")

View File

@ -5,10 +5,6 @@
#ifdef CONFIG_FAST_BREAKPOINTS
#ifndef CONFIG_EVENT_BREAKPOINTS
#error Breakpoint events are required for fast breakpoints!
#endif
#include "BreakpointManagerSlice.ah" // slice class "BreakpointManagerSlice"
#include "BreakpointControllerSlice.ah" // slice class "BreakpointControllerSlice"
#include "../ListenerManager.hpp"

View File

@ -5,10 +5,6 @@
#ifdef CONFIG_FAST_WATCHPOINTS
#if !defined(CONFIG_EVENT_MEMREAD) && !defined(CONFIG_EVENT_MEMWRITE)
#error Watchpoint events (i.e. memory read or write accesses) are required for fast watchpoints!
#endif
#include "WatchpointManagerSlice.ah" // slice class "WatchpointManagerSlice"
#include "WatchpointControllerSlice.ah" // slice class "WatchpointControllerSlice"
#include "../ListenerManager.hpp"