Changeset 37068 in webkit for trunk/JavaScriptCore/VM/Machine.cpp


Ignore:
Timestamp:
Sep 29, 2008, 12:49:55 PM (17 years ago)
Author:
[email protected]
Message:

2008-09-29 Cameron Zwarich <[email protected]>

Reviewed by Sam Weinig.

Remove the isActivationObject() virtual method on JSObject and use
StructureID information instead. This should be slightly faster, but
isActivationObject() is only used in assertions and unwinding the stack
for exceptions.

  • VM/Machine.cpp: (JSC::depth): (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_ret_activation):
  • kjs/JSActivation.cpp:
  • kjs/JSActivation.h:
  • kjs/JSObject.h:
File:
1 edited

Legend:

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

    r37050 r37068  
    114114    ScopeChainIterator iter = sc.begin();
    115115    ScopeChainIterator end = sc.end();
    116     while (!(*iter)->isActivationObject()) {
     116    while (!(*iter)->isObject(&JSActivation::info)) {
    117117        ++iter;
    118118        if (iter == end)
     
    794794    // If this call frame created an activation, tear it off.
    795795    if (JSActivation* activation = static_cast<JSActivation*>(r[RegisterFile::OptionalCalleeActivation].jsValue(exec))) {
    796         ASSERT(activation->isActivationObject());
     796        ASSERT(activation->isObject(&JSActivation::info));
    797797        activation->copyRegisters();
    798798    }
     
    33573357        if (JSActivation* activation = static_cast<JSActivation*>(r[RegisterFile::OptionalCalleeActivation].jsValue(exec))) {
    33583358            ASSERT(!r[RegisterFile::CodeBlock].codeBlock()->needsFullScopeChain || scopeChain->object == activation);
    3359             ASSERT(activation->isActivationObject());
     3359            ASSERT(activation->isObject(&JSActivation::info));
    33603360            activation->copyRegisters();
    33613361        }
     
    45774577
    45784578    ASSERT(!ARG_r[RegisterFile::CodeBlock].codeBlock()->needsFullScopeChain || ARG_scopeChain->object == activation);
    4579     ASSERT(activation->isActivationObject());
     4579    ASSERT(activation->isObject(&JSActivation::info));
    45804580    activation->copyRegisters();
    45814581}
Note: See TracChangeset for help on using the changeset viewer.