Changeset 37325 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Oct 5, 2008, 11:05:19 PM (17 years ago)
Author:
[email protected]
Message:

2008-10-05 Maciej Stachowiak <[email protected]>

Reviewed by Cameron Zwarich.


  • fix releas-only test failures caused by the fix to bug 21375
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): Update ExecState while unwinding call frames; it now matters more to have a still-valid ExecState, since dynamicGlobalObject will make use of the ExecState's scope chain.
  • VM/Machine.h:
Location:
trunk/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r37324 r37325  
     12008-10-05  Maciej Stachowiak  <[email protected]>
     2
     3        Reviewed by Cameron Zwarich.
     4       
     5        - fix releas-only test failures caused by the fix to bug 21375
     6
     7        * VM/Machine.cpp:
     8        (JSC::Machine::unwindCallFrame): Update ExecState while unwinding call frames;
     9        it now matters more to have a still-valid ExecState, since dynamicGlobalObject
     10        will make use of the ExecState's scope chain.
     11        * VM/Machine.h:
     12
    1132008-10-05  Cameron Zwarich  <[email protected]>
    214
  • trunk/JavaScriptCore/VM/Machine.cpp

    r37324 r37325  
    756756//#endif
    757757
    758 NEVER_INLINE bool Machine::unwindCallFrame(ExecState* exec, JSValue* exceptionValue, const Instruction*& vPC, CodeBlock*& codeBlock, Register*& r)
     758NEVER_INLINE bool Machine::unwindCallFrame(ExecState*& exec, JSValue* exceptionValue, const Instruction*& vPC, CodeBlock*& codeBlock, Register*& r)
    759759{
    760760    CodeBlock* oldCodeBlock = codeBlock;
     
    793793    void* returnPC = r[RegisterFile::ReturnPC].v();
    794794    r = r[RegisterFile::CallerRegisters].r();
     795    exec = CallFrame::create(r);
    795796    if (isHostCallFrame(r))
    796797        return false;
  • trunk/JavaScriptCore/VM/Machine.h

    r37324 r37325  
    263263        NEVER_INLINE ScopeChainNode* createExceptionScope(ExecState* exec, const Instruction* vPC, Register* r);
    264264
    265         NEVER_INLINE bool unwindCallFrame(ExecState*, JSValue*, const Instruction*&, CodeBlock*&, Register*&);
     265        NEVER_INLINE bool unwindCallFrame(ExecState*&, JSValue*, const Instruction*&, CodeBlock*&, Register*&);
    266266        NEVER_INLINE Instruction* throwException(ExecState*, JSValue*&, const Instruction*, Register*&, bool);
    267267        NEVER_INLINE bool resolveBaseAndFunc(ExecState* exec, Instruction* vPC, Register* r, JSValue*& exceptionValue);
Note: See TracChangeset for help on using the changeset viewer.