Comment #3 on issue 825 by [email protected]: LiveEdit: stack
manipulation does not work with function without local variables
http://code.google.com/p/v8/issues/detail?id=825
LiveEdit stack manipulation brief description.
In LiveEdit action several stack frames may get compromised, because their
functions are patched and their execution is canceled. The user stack
should be cleared down to the last compromised frame. The last (the most
bottom one) frame must be restarted (started from the first statement).
LiveEdit itself with all other debugger code sits on top of the same stack
at this very moment. This means that immediately above user JavaScript
stack frames internal stack frames goes. This way the stack manipulations
are done in a limited stack space.
LiveEdit implementation wipes out user frames all from the top one down to
the last compromised. It replaces them with a single auxiliary frame
called "Frame Dropper". LiveEdit cannot set up a true JavaScript frame
paused on the first statement, becuase it's very hard. Additionally, new
frame may require more stack space than we have from the old one. The
protocol requires that the client debugger issues a regular "step in"
command to finally set execution to the first statement of the restarted
function.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev