Ignore:
Timestamp:
Jan 31, 2011, 12:07:21 PM (14 years ago)
Author:
[email protected]
Message:

2011-01-31 Oliver Hunt <[email protected]>

Convert markstack to a slot visitor API
https://bugs.webkit.org/show_bug.cgi?id=53219

rolling r77098, r77099, r77100, r77109, and
r77111 back in, along with a few more Qt fix attempts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/JSObject.cpp

    r77113 r77151  
    313313    if (object && object.isGetterSetter()) {
    314314        ASSERT(m_structure->hasGetterSetterProperties());
    315         asGetterSetter(object)->setGetter(getterFunction);
     315        asGetterSetter(object)->setGetter(exec->globalData(), getterFunction);
    316316        return;
    317317    }
     
    332332
    333333    m_structure->setHasGetterSetterProperties(true);
    334     getterSetter->setGetter(getterFunction);
     334    getterSetter->setGetter(exec->globalData(), getterFunction);
    335335}
    336336
     
    340340    if (object && object.isGetterSetter()) {
    341341        ASSERT(m_structure->hasGetterSetterProperties());
    342         asGetterSetter(object)->setSetter(setterFunction);
     342        asGetterSetter(object)->setSetter(exec->globalData(), setterFunction);
    343343        return;
    344344    }
     
    359359
    360360    m_structure->setHasGetterSetterProperties(true);
    361     getterSetter->setSetter(setterFunction);
     361    getterSetter->setSetter(exec->globalData(), setterFunction);
    362362}
    363363
     
    513513        offset = m_structure->removePropertyWithoutTransition(propertyName);
    514514        if (offset != WTF::notFound)
    515             putDirectOffset(offset, jsUndefined());
     515            putUndefinedAtDirectOffset(offset);
    516516        return;
    517517    }
     
    520520    setStructure(structure.release());
    521521    if (offset != WTF::notFound)
    522         putDirectOffset(offset, jsUndefined());
     522        putUndefinedAtDirectOffset(offset);
    523523}
    524524
    525525void JSObject::putDirectFunction(ExecState* exec, InternalFunction* function, unsigned attr)
    526526{
    527     putDirectFunction(Identifier(exec, function->name(exec)), function, attr);
     527    putDirectFunction(exec->globalData(), Identifier(exec, function->name(exec)), function, attr);
    528528}
    529529
    530530void JSObject::putDirectFunction(ExecState* exec, JSFunction* function, unsigned attr)
    531531{
    532     putDirectFunction(Identifier(exec, function->name(exec)), function, attr);
     532    putDirectFunction(exec->globalData(), Identifier(exec, function->name(exec)), function, attr);
    533533}
    534534
    535535void JSObject::putDirectFunctionWithoutTransition(ExecState* exec, InternalFunction* function, unsigned attr)
    536536{
    537     putDirectFunctionWithoutTransition(Identifier(exec, function->name(exec)), function, attr);
     537    putDirectFunctionWithoutTransition(exec->globalData(), Identifier(exec, function->name(exec)), function, attr);
    538538}
    539539
    540540void JSObject::putDirectFunctionWithoutTransition(ExecState* exec, JSFunction* function, unsigned attr)
    541541{
    542     putDirectFunctionWithoutTransition(Identifier(exec, function->name(exec)), function, attr);
     542    putDirectFunctionWithoutTransition(exec->globalData(), Identifier(exec, function->name(exec)), function, attr);
    543543}
    544544
     
    596596            if (oldDescriptor.getter()) {
    597597                attributes |= Getter;
    598                 accessor->setGetter(asObject(oldDescriptor.getter()));
     598                accessor->setGetter(exec->globalData(), asObject(oldDescriptor.getter()));
    599599            }
    600600            if (oldDescriptor.setter()) {
    601601                attributes |= Setter;
    602                 accessor->setSetter(asObject(oldDescriptor.setter()));
     602                accessor->setSetter(exec->globalData(), asObject(oldDescriptor.setter()));
    603603            }
    604604            target->putWithAttributes(exec, propertyName, accessor, attributes);
     
    721721    if (current.attributesEqual(descriptor)) {
    722722        if (descriptor.setter())
    723             getterSetter->setSetter(asObject(descriptor.setter()));
     723            getterSetter->setSetter(exec->globalData(), asObject(descriptor.setter()));
    724724        if (descriptor.getter())
    725             getterSetter->setGetter(asObject(descriptor.getter()));
     725            getterSetter->setGetter(exec->globalData(), asObject(descriptor.getter()));
    726726        return true;
    727727    }
     
    732732    if (descriptor.getter())
    733733        attrs |= Getter;
    734     putDirect(propertyName, getterSetter, attrs);
     734    putDirect(exec->globalData(), propertyName, getterSetter, attrs);
    735735    return true;
    736736}
Note: See TracChangeset for help on using the changeset viewer.