• yangguo's avatar
    [debugger] separate break point info from code instrumentation. · b8c05042
    yangguo authored
    Previously, we would both instrument the code, and add/remove
    BreakPointInfo objects through BreakLocation. This is bad design and
    unsuitable for having two different code kinds.
    
    We would now add/remove BreakPointInfo objects, and use that as source
    of truth when instrumenting the code. If we have both bytecode and FCG
    code, we would simply apply these break points twice to either.
    
    Notable changes:
    - Removed many functionality from BreakLocation.
    - Instrumentation (patching code for breaks) happens by applying break
      point info onto code.
    - Instrumentation (code patching) is done by the BreakIterator. For
      bytecode, it's BytecodeArrayBreakIterator. For FCG code, it's
      CodeBreakIterator.
    - Changes to code instrumentation mostly involves clearing current
      instrumentation and then (re-)applying break points.
    - DebugInfo can now reference both bytecode and FCG code.
    
    R=jgruber@chromium.org, mstarzinger@chromium.org
    BUG=v8:5265
    
    Review-Url: https://codereview.chromium.org/2238893002
    Cr-Commit-Position: refs/heads/master@{#38596}
    b8c05042
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...