Reviewers: Michael Starzinger, ulan,
Description:
Debugger: prepare code for debugging on a per-function basis.
Prior to this patch, we enter a global debug mode whenever a break point
is set. By entering this mode, all code is deoptimized and activated
frames are recompiled and redirected to newly compiled debug code.
After this patch, we only deoptimize/redirect for functions we want to
debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo
object attached to the SFI prevents optimization/inlining.
The result is that we can have optimized code for functions without break
points alongside functions that do have break points, which are not
optimized.
[email protected], [email protected]
BUG=v8:4132
LOG=Y
Please review this at https://codereview.chromium.org/1233073005/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+399, -664 lines):
M src/arm/assembler-arm-inl.h
M src/arm64/assembler-arm64-inl.h
M src/background-parsing-task.cc
M src/bailout-reason.h
M src/compiler.h
M src/compiler.cc
M src/compiler/js-inlining.cc
M src/debug.h
M src/debug.cc
M src/heap/mark-compact.cc
M src/heap/objects-visiting-inl.h
M src/hydrogen.cc
M src/ia32/assembler-ia32-inl.h
M src/ic/ic.cc
M src/liveedit.cc
M src/mips/assembler-mips-inl.h
M src/mips64/assembler-mips64-inl.h
M src/objects.h
M src/objects.cc
M src/objects-inl.h
M src/runtime/runtime-debug.cc
M src/x64/assembler-x64-inl.h
M test/cctest/test-api.cc
M test/cctest/test-debug.cc
M test/cctest/test-func-name-inference.cc
M test/mjsunit/debug-evaluate.js
A test/mjsunit/debug-optimize.js
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.