Changeset 29474 in webkit


Ignore:
Timestamp:
Jan 14, 2008 11:02:46 AM (16 years ago)
Author:
Adam Roben
Message:

Fix Bug 16871: Crash when loading apple.com/startpage

<http://bugs.webkit.org/show_bug.cgi?id=16871>
<rdar://problem/5686670>

Patch written by Darin, reviewed by me.

  • kjs/ExecState.cpp: (KJS::ExecState::mark): Call ActivationImp::markChildren if our m_activation is on the stack. This is what ScopeChain::mark also does, but apparently in some cases it's possible for an ExecState's ActivationImp to not be in any ScopeChain.
Location:
trunk/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r29472 r29474  
     12008-01-14  Adam Roben  <aroben@apple.com>
     2
     3        Fix Bug 16871: Crash when loading apple.com/startpage
     4
     5        <http://bugs.webkit.org/show_bug.cgi?id=16871>
     6        <rdar://problem/5686670>
     7
     8        Patch written by Darin, reviewed by me.
     9
     10        * kjs/ExecState.cpp:
     11        (KJS::ExecState::mark): Call ActivationImp::markChildren if our
     12        m_activation is on the stack. This is what ScopeChain::mark also does,
     13        but apparently in some cases it's possible for an ExecState's
     14        ActivationImp to not be in any ScopeChain.
     15
    1162008-01-14  Kevin McCullough  <kmccullough@apple.com>
    217
  • trunk/JavaScriptCore/kjs/ExecState.cpp

    r29425 r29474  
    128128    for (ExecState* exec = this; exec; exec = exec->m_callingExec)
    129129        exec->m_scopeChain.mark();
     130
     131    // FIXME: It is surprising that this code is necessary, since at first
     132    // glance it seems that all ActivationImps should be in a ScopeChain.
     133    // However, <http://bugs.webkit.org/show_bug.cgi?id=16871> proves that is
     134    // not the case.
     135    if (m_activation && m_activation->isOnStack())
     136        m_activation->markChildren();
    130137}
    131138
Note: See TracChangeset for help on using the changeset viewer.