Step in for function.call does not do anything (neither the right thing nor
crash) as the function.call code does not have any IC's. I was planning to
have the function.call fix as a separate CL.
On Tue, Apr 7, 2009 at 11:45, Kasper Lund <[email protected]> wrote:

>
> How does it behave for Function.prototype.call invocations? Could you
> extend the test cases to cover that as well?
>
> On Tue, Apr 7, 2009 at 11:41 AM,  <[email protected]> wrote:
> > Reviewers: Kasper Lund,
> >
> > Description:
> > Fixed the step in handling for function.apply.
> >
> > The generic step-in mechanism floods the function called with break
> > points to ensure a break is hit when entering the function. This generic
> > mechanism was also used for function.apply. The code for function.apply
> > contains a keyed load IC which was patched when stepping into
> > function.apply. However function.apply enteres an internal frame not a
> > JavaScript frame. This caused the logic for returning from the break in
> > function.apply to fail as it forced a jump to the IC on the top
> > JavaScript frame. The top JavaScript frame was the frame for the
> > function calling function.apply not the frame for the apply function.
> > Now returning from the break point in the keyed load IC in the apply
> > code caused a jump to the code for the call IC for the function calling
> > function.apply in the first place. Not a pretty sight.
> >
> > Step-in now handles function.apply as a separate case where the actual
> > JavaScript function called through apply is flodded with breakpoints
> > instead of the function.apply function.
> >
> > BUG=269
> > [email protected]
> >
> > Please review this at http://codereview.chromium.org/63055
> >
> > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
> >
> > Affected files:
> >  M     src/debug.cc
> >  M     test/cctest/test-debug.cc
> >  D     test/mjsunit/bugs/bug-269.js
> >  M     test/mjsunit/mjsunit.status
> >  A  +  test/mjsunit/regress/regress-269.js
> >
> >
> >
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to