Support for precise stepping in functions compiled before debugging was started ...
authorsgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 30 Sep 2011 08:39:56 +0000 (08:39 +0000)
committersgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 30 Sep 2011 08:39:56 +0000 (08:39 +0000)
commitde7b222e36c9a34eabceb710123dde0e738e4d93
treec2a652ee4f5a10440179e48a411a1960382aff64
parent67789af11bda18f9f9d9d2cd2bb4cd9a42832b7f
Support for precise stepping in functions compiled before debugging was started (step 2)

This change will ensure that full code with debug break slots is compiled and activated for all functions which already have activation frames.

This additional handling is only for functions which have activations on the stack, and that activation is of the full code compiled without debug break slots. In that case the full code is recompiled with debug break slots. It is ensured that the full code is compiled generating the exact same instructions - except for the additional debug break slots - as before. The return address on the stack is then patched to continue execution in the new code.

Also fixed SortedListBSearch to actually use the passed comparision function.

R=svenpanne@chromium.org, kmillikin@chromium.org

BUG=
TEST=

Review URL: http://codereview.chromium.org//8050010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/compiler.cc
src/compiler.h
src/debug.cc
src/debug.h
src/full-codegen.cc
src/list-inl.h
src/objects-inl.h
src/objects.h
src/utils.h
test/mjsunit/debug-step-3.js [new file with mode: 0644]