Changeset 34182 in webkit for trunk/JavaScriptCore/VM/Machine.h


Ignore:
Timestamp:
May 28, 2008, 1:47:13 PM (17 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2008-05-27 Geoffrey Garen <[email protected]>

Reviewed by Tim Hatcher.

Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
clicking button in returnEvent-crash.html

Added two new debugger hooks, willExecuteProgram and didExecuteProgram,
along with code to generate them, code to invoke them when unwinding
due to an exception, and code to dump them.


SunSpider reports no change.

  • VM/CodeBlock.cpp: (KJS::debugHookName): I had to mark this function NEVER_INLINE to avoid a .4% performance regression. The mind boggles.

WebCore:

2008-05-27 Geoffrey Garen <[email protected]>

Reviewed by Tim Hatcher.

Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
clicking button in returnEvent-crash.html


Added implementations for willExecuteProgram and didExecuteProgram. They
take care to update our call frame when entering and exiting programs,
preventing us from keeping around a stale global frame after executing
a program.


eval programs now show up as "anonymous function" in a new scope. This
is slightly better than what they used to do -- overwriting the current
scope -- but obviously we can do better.

WebKit/mac:

2008-05-27 Geoffrey Garen <[email protected]>

Reviewed by Tim Hatcher.


Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
clicking button in returnEvent-crash.html


Added implementations for willExecuteProgram and didExecuteProgram, which
take care of making sure we're not hanging on to stale data.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/Machine.h

    r33979 r34182  
    4848   
    4949    enum DebugHookID {
    50         WillExecuteStatement,
     50        WillExecuteProgram,
     51        DidExecuteProgram,
    5152        DidEnterCallFrame,
    52         WillLeaveCallFrame
     53        WillLeaveCallFrame,
     54        WillExecuteStatement
    5355    };
    5456
Note: See TracChangeset for help on using the changeset viewer.