Changeset 28458 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp


Ignore:
Timestamp:
Dec 5, 2007, 2:48:48 PM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Geoff.

  • Wait until local variable data is fully constructed before notifying the debugger of entering or leaving a call frame.
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction):
  • kjs/nodes.cpp: (KJS::FunctionBodyNode::execute):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/nodes.cpp

    r28079 r28458  
    45804580{
    45814581    processDeclarations(exec);
    4582     return BlockNode::execute(exec);
     4582
     4583    if (Debugger* dbg = exec->dynamicInterpreter()->debugger()) {
     4584        if (!dbg->callEvent(exec, sourceId(), lineNo(), exec->function(), *exec->arguments())) {
     4585            dbg->imp()->abort();
     4586            return Completion(Interrupted, jsUndefined());
     4587        }
     4588    }   
     4589   
     4590    Completion completion = BlockNode::execute(exec);
     4591   
     4592    if (Debugger* dbg = exec->dynamicInterpreter()->debugger()) {
     4593        if (completion.complType() == Throw)
     4594            exec->setException(completion.value());
     4595
     4596        if (!dbg->returnEvent(exec, sourceId(), lineNo(), exec->function())) {
     4597            dbg->imp()->abort();
     4598            return Completion(Interrupted, jsUndefined());
     4599        }
     4600    }
     4601
     4602   
     4603    return completion;
    45834604}
    45844605
Note: See TracChangeset for help on using the changeset viewer.