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 -~----------~----~----~----~------~----~------~--~---
