Ignore:
Timestamp:
Jan 28, 2011, 8:06:04 PM (15 years ago)
Author:
[email protected]
Message:

2011-01-28 Sheriff Bot <[email protected]>

Unreviewed, rolling out r77006 and r77020.
http://trac.webkit.org/changeset/77006
http://trac.webkit.org/changeset/77020
https://bugs.webkit.org/show_bug.cgi?id=53360

"Broke Windows tests" (Requested by rniwa on #webkit).

  • API/JSCallbackObject.h: (JSC::JSCallbackObjectData::setPrivateProperty): (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty): (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty): (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren): (JSC::JSCallbackObject::setPrivateProperty):
  • API/JSCallbackObjectFunctions.h: (JSC::::put): (JSC::::staticFunctionGetter):
  • API/JSObjectRef.cpp: (JSObjectMakeConstructor): (JSObjectSetPrivateProperty):
  • API/JSWeakObjectMapRefInternal.h:
  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::markAggregate):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::globalObject):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall): (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply): (JSC::BytecodeGenerator::findScopedProperty):
  • debugger/Debugger.cpp: (JSC::evaluateInGlobalCallFrame):
  • debugger/DebuggerActivation.cpp: (JSC::DebuggerActivation::DebuggerActivation): (JSC::DebuggerActivation::markChildren):
  • debugger/DebuggerActivation.h:
  • debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate):
  • interpreter/CallFrame.h: (JSC::ExecState::exception):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::resolve): (JSC::Interpreter::resolveSkip): (JSC::Interpreter::resolveGlobal): (JSC::Interpreter::resolveGlobalDynamic): (JSC::Interpreter::resolveBaseAndProperty): (JSC::Interpreter::unwindCallFrame): (JSC::appendSourceToError): (JSC::Interpreter::execute): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::privateExecute):
  • jit/JITStubs.cpp: (JSC::JITThunks::tryCacheGetByID): (JSC::DEFINE_STUB_FUNCTION):
  • jsc.cpp: (GlobalObject::GlobalObject):
  • runtime/ArgList.cpp: (JSC::MarkedArgumentBuffer::markLists):
  • runtime/Arguments.cpp: (JSC::Arguments::markChildren): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::getOwnPropertyDescriptor): (JSC::Arguments::put):
  • runtime/Arguments.h: (JSC::Arguments::setActivation): (JSC::Arguments::Arguments):
  • runtime/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor): (JSC::constructArrayWithSizeQuirk):
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSplice):
  • runtime/BatchedTransitionOptimizer.h: (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer): (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
  • runtime/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor): (JSC::constructBoolean): (JSC::constructBooleanFromImmediateBoolean):
  • runtime/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • runtime/ConservativeSet.cpp: (JSC::ConservativeSet::grow):
  • runtime/ConservativeSet.h: (JSC::ConservativeSet::~ConservativeSet): (JSC::ConservativeSet::mark):
  • runtime/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • runtime/DateInstance.cpp: (JSC::DateInstance::DateInstance):
  • runtime/DatePrototype.cpp: (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetYear):
  • runtime/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor):
  • runtime/ErrorInstance.cpp: (JSC::ErrorInstance::ErrorInstance):
  • runtime/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • runtime/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor):
  • runtime/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype):
  • runtime/GetterSetter.cpp: (JSC::GetterSetter::markChildren):
  • runtime/GetterSetter.h: (JSC::GetterSetter::GetterSetter): (JSC::GetterSetter::getter): (JSC::GetterSetter::setGetter): (JSC::GetterSetter::setter): (JSC::GetterSetter::setSetter):
  • runtime/GlobalEvalFunction.cpp: (JSC::GlobalEvalFunction::GlobalEvalFunction): (JSC::GlobalEvalFunction::markChildren):
  • runtime/GlobalEvalFunction.h: (JSC::GlobalEvalFunction::cachedGlobalObject):
  • runtime/Heap.cpp: (JSC::Heap::markProtectedObjects): (JSC::Heap::markTempSortVectors): (JSC::Heap::markRoots):
  • runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction):
  • runtime/JSAPIValueWrapper.h: (JSC::JSAPIValueWrapper::value): (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
  • runtime/JSActivation.cpp: (JSC::JSActivation::markChildren): (JSC::JSActivation::put):
  • runtime/JSArray.cpp: (JSC::JSArray::JSArray): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::getOwnPropertyDescriptor): (JSC::JSArray::put): (JSC::JSArray::putSlowCase): (JSC::JSArray::deleteProperty): (JSC::JSArray::increaseVectorLength): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::unshiftCount): (JSC::JSArray::sort): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToRegisters): (JSC::JSArray::compactForSorting):
  • runtime/JSArray.h: (JSC::JSArray::getIndex): (JSC::JSArray::setIndex): (JSC::JSArray::uncheckedSetIndex): (JSC::JSArray::markChildrenDirect):
  • runtime/JSByteArray.cpp: (JSC::JSByteArray::JSByteArray):
  • runtime/JSCell.h: (JSC::JSCell::JSValue::toThisObject): (JSC::JSCell::MarkStack::append):
  • runtime/JSFunction.cpp: (JSC::JSFunction::JSFunction): (JSC::JSFunction::getOwnPropertySlot):
  • runtime/JSGlobalData.h:
  • runtime/JSGlobalObject.cpp: (JSC::markIfNeeded): (JSC::JSGlobalObject::reset): (JSC::JSGlobalObject::resetPrototype): (JSC::JSGlobalObject::markChildren):
  • runtime/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): (JSC::JSGlobalObject::regExpConstructor): (JSC::JSGlobalObject::errorConstructor): (JSC::JSGlobalObject::evalErrorConstructor): (JSC::JSGlobalObject::rangeErrorConstructor): (JSC::JSGlobalObject::referenceErrorConstructor): (JSC::JSGlobalObject::syntaxErrorConstructor): (JSC::JSGlobalObject::typeErrorConstructor): (JSC::JSGlobalObject::URIErrorConstructor): (JSC::JSGlobalObject::evalFunction): (JSC::JSGlobalObject::objectPrototype): (JSC::JSGlobalObject::functionPrototype): (JSC::JSGlobalObject::arrayPrototype): (JSC::JSGlobalObject::booleanPrototype): (JSC::JSGlobalObject::stringPrototype): (JSC::JSGlobalObject::numberPrototype): (JSC::JSGlobalObject::datePrototype): (JSC::JSGlobalObject::regExpPrototype): (JSC::JSGlobalObject::methodCallDummy): (JSC::Structure::prototypeForLookup): (JSC::constructArray):
  • runtime/JSONObject.cpp: (JSC::Stringifier::Holder::object): (JSC::Stringifier::markAggregate): (JSC::Stringifier::stringify): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::callReviver): (JSC::Walker::walk):
  • runtime/JSObject.cpp: (JSC::JSObject::defineGetter): (JSC::JSObject::defineSetter): (JSC::JSObject::removeDirect): (JSC::JSObject::putDirectFunction): (JSC::JSObject::putDirectFunctionWithoutTransition): (JSC::putDescriptor): (JSC::JSObject::defineOwnProperty):
  • runtime/JSObject.h: (JSC::JSObject::getDirectOffset): (JSC::JSObject::putDirectOffset): (JSC::JSObject::flattenDictionaryObject): (JSC::JSObject::putDirectInternal): (JSC::JSObject::putDirect): (JSC::JSObject::putDirectFunction): (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::putDirectFunctionWithoutTransition): (JSC::JSValue::putDirect): (JSC::JSObject::allocatePropertyStorageInline): (JSC::JSObject::markChildrenDirect):
  • runtime/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::JSPropertyNameIterator): (JSC::JSPropertyNameIterator::get):
  • runtime/JSPropertyNameIterator.h:
  • runtime/JSStaticScopeObject.cpp: (JSC::JSStaticScopeObject::markChildren):
  • runtime/JSString.cpp: (JSC::StringObject::create):
  • runtime/JSValue.h:
  • runtime/JSWrapperObject.cpp: (JSC::JSWrapperObject::markChildren):
  • runtime/JSWrapperObject.h: (JSC::JSWrapperObject::internalValue): (JSC::JSWrapperObject::setInternalValue):
  • runtime/LiteralParser.cpp: (JSC::LiteralParser::parse):
  • runtime/Lookup.cpp: (JSC::setUpStaticFunctionSlot):
  • runtime/Lookup.h: (JSC::lookupPut):
  • runtime/MarkStack.h: (JSC::MarkStack::appendValues):
  • runtime/MathObject.cpp: (JSC::MathObject::MathObject):
  • runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
  • runtime/NativeErrorPrototype.cpp: (JSC::NativeErrorPrototype::NativeErrorPrototype):
  • runtime/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor): (JSC::constructWithNumberConstructor):
  • runtime/NumberObject.cpp: (JSC::constructNumber):
  • runtime/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • runtime/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor): (JSC::objectConstructorGetOwnPropertyDescriptor):
  • runtime/Operations.h: (JSC::normalizePrototypeChain): (JSC::resolveBase):
  • runtime/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
  • runtime/PutPropertySlot.h: (JSC::PutPropertySlot::setExistingProperty): (JSC::PutPropertySlot::setNewProperty): (JSC::PutPropertySlot::base):
  • runtime/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor):
  • runtime/ScopeChain.cpp: (JSC::ScopeChainNode::print):
  • runtime/ScopeChain.h: (JSC::ScopeChainNode::~ScopeChainNode): (JSC::ScopeChainIterator::operator*): (JSC::ScopeChainIterator::operator->): (JSC::ScopeChain::top):
  • runtime/ScopeChainMark.h: (JSC::ScopeChain::markAggregate):
  • runtime/SmallStrings.cpp: (JSC::isMarked): (JSC::SmallStrings::markChildren):
  • runtime/SmallStrings.h: (JSC::SmallStrings::emptyString): (JSC::SmallStrings::singleCharacterString): (JSC::SmallStrings::singleCharacterStrings):
  • runtime/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor):
  • runtime/StringObject.cpp: (JSC::StringObject::StringObject):
  • runtime/StringObject.h:
  • runtime/StringPrototype.cpp: (JSC::StringPrototype::StringPrototype):
  • runtime/Structure.cpp: (JSC::Structure::Structure): (JSC::Structure::addPropertyTransition): (JSC::Structure::toDictionaryTransition): (JSC::Structure::flattenDictionaryStructure):
  • runtime/Structure.h: (JSC::Structure::storedPrototype):
  • runtime/WeakGCMap.h: (JSC::WeakGCMap::uncheckedGet): (JSC::WeakGCMap::isValid): (JSC::::get): (JSC::::take): (JSC::::set): (JSC::::uncheckedRemove):
  • runtime/WriteBarrier.h: Removed.

2011-01-28 Sheriff Bot <[email protected]>

Unreviewed, rolling out r77006 and r77020.
http://trac.webkit.org/changeset/77006
http://trac.webkit.org/changeset/77020
https://bugs.webkit.org/show_bug.cgi?id=53360

"Broke Windows tests" (Requested by rniwa on #webkit).

  • JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark):

2011-01-28 Sheriff Bot <[email protected]>

Unreviewed, rolling out r77006 and r77020.
http://trac.webkit.org/changeset/77006
http://trac.webkit.org/changeset/77020
https://bugs.webkit.org/show_bug.cgi?id=53360

"Broke Windows tests" (Requested by rniwa on #webkit).

  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]):

2011-01-28 Sheriff Bot <[email protected]>

Unreviewed, rolling out r77006 and r77020.
http://trac.webkit.org/changeset/77006
http://trac.webkit.org/changeset/77020
https://bugs.webkit.org/show_bug.cgi?id=53360

"Broke Windows tests" (Requested by rniwa on #webkit).

  • ForwardingHeaders/runtime/WriteBarrier.h: Removed.
  • WebCore.exp.in:
  • bindings/js/DOMWrapperWorld.h:
  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor):
  • bindings/js/JSDOMBinding.cpp: (WebCore::markDOMNodesForDocument): (WebCore::markDOMObjectWrapper): (WebCore::markDOMNodeWrapper):
  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::markChildren): (WebCore::JSDOMGlobalObject::setInjectedScript): (WebCore::JSDOMGlobalObject::injectedScript):
  • bindings/js/JSDOMGlobalObject.h: (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): (WebCore::getDOMConstructor):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setLocation): (WebCore::DialogHandler::dialogCreated):
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::setWindow): (WebCore::JSDOMWindowShell::markChildren): (WebCore::JSDOMWindowShell::unwrappedObject):
  • bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::window): (WebCore::JSDOMWindowShell::setWindow):
  • bindings/js/JSDeviceMotionEventCustom.cpp: (WebCore::createAccelerationObject): (WebCore::createRotationRateObject):
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::markJSFunction):
  • bindings/js/JSEventListener.h: (WebCore::JSEventListener::jsFunction):
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::setAll):
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor):
  • bindings/js/JSImageDataCustom.cpp: (WebCore::toJS):
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::scopeChain): (WebCore::JSJavaScriptCallFrame::scopeType):
  • bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::markAggregate): (WebCore::JSNodeFilterCondition::acceptNode):
  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/JSNodeFilterCustom.cpp:
  • bindings/js/JSOptionConstructor.cpp: (WebCore::JSOptionConstructor::JSOptionConstructor):
  • bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item):
  • bindings/js/ScriptCachedFrameData.cpp: (WebCore::ScriptCachedFrameData::restore):
  • bindings/js/ScriptObject.cpp: (WebCore::ScriptGlobalObject::set):
  • bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::putProperty):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod): (JSC::Bindings::QtRuntimeMetaMethod::markChildren): (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  • bridge/qt/qt_runtime.h:
  • bridge/runtime_root.cpp: (JSC::Bindings::RootObject::invalidate):
  • bridge/runtime_root.h:
  • dom/Document.h:
File:
1 edited

Legend:

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

    r77006 r77044  
    7171    };
    7272
    73     typedef WriteBarrierBase<Unknown>* PropertyStorage;
    74     typedef const WriteBarrierBase<Unknown>* ConstPropertyStorage;
     73    typedef EncodedJSValue* PropertyStorage;
     74    typedef const EncodedJSValue* ConstPropertyStorage;
    7575
    7676    class JSObject : public JSCell {
     
    180180        bool hasGetterSetterProperties() { return m_structure->hasGetterSetterProperties(); }
    181181
    182         bool putDirect(JSGlobalData&, const Identifier& propertyName, JSValue, unsigned attr, bool checkReadOnly, PutPropertySlot&);
    183         void putDirect(JSGlobalData&, const Identifier& propertyName, JSValue, unsigned attr = 0);
    184         bool putDirect(JSGlobalData&, const Identifier& propertyName, JSValue, PutPropertySlot&);
    185 
    186         void putDirectFunction(JSGlobalData&, const Identifier& propertyName, JSCell*, unsigned attr = 0);
    187         void putDirectFunction(JSGlobalData&, const Identifier& propertyName, JSCell*, unsigned attr, bool checkReadOnly, PutPropertySlot&);
     182        bool putDirect(const Identifier& propertyName, JSValue value, unsigned attr, bool checkReadOnly, PutPropertySlot& slot);
     183        void putDirect(const Identifier& propertyName, JSValue value, unsigned attr = 0);
     184        bool putDirect(const Identifier& propertyName, JSValue value, PutPropertySlot&);
     185
     186        void putDirectFunction(const Identifier& propertyName, JSCell* value, unsigned attr = 0);
     187        void putDirectFunction(const Identifier& propertyName, JSCell* value, unsigned attr, bool checkReadOnly, PutPropertySlot& slot);
    188188        void putDirectFunction(ExecState* exec, InternalFunction* function, unsigned attr = 0);
    189189        void putDirectFunction(ExecState* exec, JSFunction* function, unsigned attr = 0);
    190190
    191         void putDirectWithoutTransition(JSGlobalData&, const Identifier& propertyName, JSValue, unsigned attr = 0);
    192         void putDirectFunctionWithoutTransition(JSGlobalData&, const Identifier& propertyName, JSCell* value, unsigned attr = 0);
     191        void putDirectWithoutTransition(const Identifier& propertyName, JSValue value, unsigned attr = 0);
     192        void putDirectFunctionWithoutTransition(const Identifier& propertyName, JSCell* value, unsigned attr = 0);
    193193        void putDirectFunctionWithoutTransition(ExecState* exec, InternalFunction* function, unsigned attr = 0);
    194194        void putDirectFunctionWithoutTransition(ExecState* exec, JSFunction* function, unsigned attr = 0);
    195195
    196196        // Fast access to known property offsets.
    197         JSValue getDirectOffset(size_t offset) const { return propertyStorage()[offset].get(); }
    198         void putDirectOffset(JSGlobalData& globalData, size_t offset, JSValue value) { propertyStorage()[offset].set(globalData, this, value); }
    199         void putUndefinedAtDirectOffset(size_t offset) { propertyStorage()[offset].setUndefined(); }
     197        JSValue getDirectOffset(size_t offset) const { return JSValue::decode(propertyStorage()[offset]); }
     198        void putDirectOffset(size_t offset, JSValue value) { propertyStorage()[offset] = JSValue::encode(value); }
    200199
    201200        void fillGetterPropertySlot(PropertySlot&, JSValue* location);
     
    227226        }
    228227
    229         void flattenDictionaryObject(JSGlobalData& globalData)
    230         {
    231             m_structure->flattenDictionaryStructure(globalData, this);
     228        void flattenDictionaryObject()
     229        {
     230            m_structure->flattenDictionaryStructure(this);
    232231        }
    233232
     
    269268        }
    270269
    271         bool putDirectInternal(JSGlobalData&, const Identifier& propertyName, JSValue, unsigned attr, bool checkReadOnly, PutPropertySlot&, JSCell*);
    272         bool putDirectInternal(JSGlobalData&, const Identifier& propertyName, JSValue, unsigned attr, bool checkReadOnly, PutPropertySlot&);
     270        bool putDirectInternal(const Identifier& propertyName, JSValue value, unsigned attr, bool checkReadOnly, PutPropertySlot& slot, JSCell*);
     271        bool putDirectInternal(JSGlobalData&, const Identifier& propertyName, JSValue value, unsigned attr, bool checkReadOnly, PutPropertySlot& slot);
    273272        void putDirectInternal(JSGlobalData&, const Identifier& propertyName, JSValue value, unsigned attr = 0);
    274273
     
    280279        union {
    281280            PropertyStorage m_externalStorage;
    282             WriteBarrierBase<Unknown> m_inlineStorage[inlineStorageCapacity];
     281            EncodedJSValue m_inlineStorage[inlineStorageCapacity];
    283282        };
    284283
     
    452451}
    453452
    454 inline bool JSObject::putDirectInternal(JSGlobalData& globalData, const Identifier& propertyName, JSValue value, unsigned attributes, bool checkReadOnly, PutPropertySlot& slot, JSCell* specificFunction)
     453inline bool JSObject::putDirectInternal(const Identifier& propertyName, JSValue value, unsigned attributes, bool checkReadOnly, PutPropertySlot& slot, JSCell* specificFunction)
    455454{
    456455    ASSERT(value);
     
    469468                return false;
    470469
    471             putDirectOffset(globalData, offset, value);
     470            putDirectOffset(offset, value);
    472471            // At this point, the objects structure only has a specific value set if previously there
    473472            // had been one set, and if the new value being specified is the same (otherwise we would
     
    487486
    488487        ASSERT(offset < m_structure->propertyStorageCapacity());
    489         putDirectOffset(globalData, offset, value);
     488        putDirectOffset(offset, value);
    490489        // See comment on setNewProperty call below.
    491490        if (!specificFunction)
     
    502501        ASSERT(offset < structure->propertyStorageCapacity());
    503502        setStructure(structure.release());
    504         putDirectOffset(globalData, offset, value);
     503        putDirectOffset(offset, value);
    505504        // This is a new property; transitions with specific values are not currently cachable,
    506505        // so leave the slot in an uncachable state.
     
    529528            // case (1) Do the put, then return leaving the slot uncachable.
    530529            if (specificFunction == currentSpecificFunction) {
    531                 putDirectOffset(globalData, offset, value);
     530                putDirectOffset(offset, value);
    532531                return true;
    533532            }
     
    538537        // case (3) set the slot, do the put, return.
    539538        slot.setExistingProperty(this, offset);
    540         putDirectOffset(globalData, offset, value);
     539        putDirectOffset(offset, value);
    541540        return true;
    542541    }
     
    559558    ASSERT(offset < structure->propertyStorageCapacity());
    560559    setStructure(structure.release());
    561     putDirectOffset(globalData, offset, value);
     560    putDirectOffset(offset, value);
    562561    // This is a new property; transitions with specific values are not currently cachable,
    563562    // so leave the slot in an uncachable state.
     
    572571    ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this));
    573572
    574     return putDirectInternal(globalData, propertyName, value, attributes, checkReadOnly, slot, getJSFunction(globalData, value));
     573    return putDirectInternal(propertyName, value, attributes, checkReadOnly, slot, getJSFunction(globalData, value));
    575574}
    576575
     
    578577{
    579578    PutPropertySlot slot;
    580     putDirectInternal(globalData, propertyName, value, attributes, false, slot, getJSFunction(globalData, value));
    581 }
    582 
    583 inline bool JSObject::putDirect(JSGlobalData& globalData, const Identifier& propertyName, JSValue value, unsigned attributes, bool checkReadOnly, PutPropertySlot& slot)
     579    putDirectInternal(propertyName, value, attributes, false, slot, getJSFunction(globalData, value));
     580}
     581
     582inline bool JSObject::putDirect(const Identifier& propertyName, JSValue value, unsigned attributes, bool checkReadOnly, PutPropertySlot& slot)
    584583{
    585584    ASSERT(value);
    586585    ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this));
    587586
    588     return putDirectInternal(globalData, propertyName, value, attributes, checkReadOnly, slot, 0);
    589 }
    590 
    591 inline void JSObject::putDirect(JSGlobalData& globalData, const Identifier& propertyName, JSValue value, unsigned attributes)
     587    return putDirectInternal(propertyName, value, attributes, checkReadOnly, slot, 0);
     588}
     589
     590inline void JSObject::putDirect(const Identifier& propertyName, JSValue value, unsigned attributes)
    592591{
    593592    PutPropertySlot slot;
    594     putDirectInternal(globalData, propertyName, value, attributes, false, slot, 0);
    595 }
    596 
    597 inline bool JSObject::putDirect(JSGlobalData& globalData, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
    598 {
    599     return putDirectInternal(globalData, propertyName, value, 0, false, slot, 0);
    600 }
    601 
    602 inline void JSObject::putDirectFunction(JSGlobalData& globalData, const Identifier& propertyName, JSCell* value, unsigned attributes, bool checkReadOnly, PutPropertySlot& slot)
    603 {
    604     putDirectInternal(globalData, propertyName, value, attributes, checkReadOnly, slot, value);
    605 }
    606 
    607 inline void JSObject::putDirectFunction(JSGlobalData& globalData, const Identifier& propertyName, JSCell* value, unsigned attr)
     593    putDirectInternal(propertyName, value, attributes, false, slot, 0);
     594}
     595
     596inline bool JSObject::putDirect(const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
     597{
     598    return putDirectInternal(propertyName, value, 0, false, slot, 0);
     599}
     600
     601inline void JSObject::putDirectFunction(const Identifier& propertyName, JSCell* value, unsigned attributes, bool checkReadOnly, PutPropertySlot& slot)
     602{
     603    putDirectInternal(propertyName, value, attributes, checkReadOnly, slot, value);
     604}
     605
     606inline void JSObject::putDirectFunction(const Identifier& propertyName, JSCell* value, unsigned attr)
    608607{
    609608    PutPropertySlot slot;
    610     putDirectInternal(globalData, propertyName, value, attr, false, slot, value);
    611 }
    612 
    613 inline void JSObject::putDirectWithoutTransition(JSGlobalData& globalData, const Identifier& propertyName, JSValue value, unsigned attributes)
     609    putDirectInternal(propertyName, value, attr, false, slot, value);
     610}
     611
     612inline void JSObject::putDirectWithoutTransition(const Identifier& propertyName, JSValue value, unsigned attributes)
    614613{
    615614    size_t currentCapacity = m_structure->propertyStorageCapacity();
     
    617616    if (currentCapacity != m_structure->propertyStorageCapacity())
    618617        allocatePropertyStorage(currentCapacity, m_structure->propertyStorageCapacity());
    619     putDirectOffset(globalData, offset, value);
    620 }
    621 
    622 inline void JSObject::putDirectFunctionWithoutTransition(JSGlobalData& globalData, const Identifier& propertyName, JSCell* value, unsigned attributes)
     618    putDirectOffset(offset, value);
     619}
     620
     621inline void JSObject::putDirectFunctionWithoutTransition(const Identifier& propertyName, JSCell* value, unsigned attributes)
    623622{
    624623    size_t currentCapacity = m_structure->propertyStorageCapacity();
     
    626625    if (currentCapacity != m_structure->propertyStorageCapacity())
    627626        allocatePropertyStorage(currentCapacity, m_structure->propertyStorageCapacity());
    628     putDirectOffset(globalData, offset, value);
     627    putDirectOffset(offset, value);
    629628}
    630629
     
    705704{
    706705    ASSERT(isCell() && isObject());
    707     if (!asObject(asCell())->putDirect(exec->globalData(), propertyName, value, slot) && slot.isStrictMode())
     706    if (!asObject(asCell())->putDirect(propertyName, value, slot) && slot.isStrictMode())
    708707        throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
    709708}
     
    727726
    728727    PropertyStorage oldPropertyStorage = (wasInline ? m_inlineStorage : m_externalStorage);
    729     PropertyStorage newPropertyStorage = new WriteBarrierBase<Unknown>[newSize];
     728    PropertyStorage newPropertyStorage = new EncodedJSValue[newSize];
    730729
    731730    for (unsigned i = 0; i < oldSize; ++i)
     
    742741    JSCell::markChildren(markStack);
    743742
    744     markStack.append(m_structure->storedPrototypeSlot());
     743    markStack.append(prototype());
     744   
    745745    PropertyStorage storage = propertyStorage();
    746746    size_t storageSize = m_structure->propertyStorageSize();
    747     markStack.appendValues(storage, storageSize);
     747    markStack.appendValues(reinterpret_cast<JSValue*>(storage), storageSize);
    748748}
    749749
Note: See TracChangeset for help on using the changeset viewer.