Ignore:
Timestamp:
Jan 30, 2011, 10:56:20 PM (14 years ago)
Author:
Csaba Osztrogonác
Message:

2011-01-30 Csaba Osztrogonác <Csaba Osztrogonác>

Unreviewed, rolling out r77098, r77099, r77100, r77109, and
r77111.
http://trac.webkit.org/changeset/77098
http://trac.webkit.org/changeset/77099
http://trac.webkit.org/changeset/77100
http://trac.webkit.org/changeset/77109
http://trac.webkit.org/changeset/77111
https://bugs.webkit.org/show_bug.cgi?id=53219

Qt build is broken

  • 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-30 Csaba Osztrogonác <Csaba Osztrogonác>

Unreviewed, rolling out r77098, r77099, r77100, r77109, and
r77111.
http://trac.webkit.org/changeset/77098
http://trac.webkit.org/changeset/77099
http://trac.webkit.org/changeset/77100
http://trac.webkit.org/changeset/77109
http://trac.webkit.org/changeset/77111
https://bugs.webkit.org/show_bug.cgi?id=53219

Qt build is broken

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

2011-01-30 Csaba Osztrogonác <Csaba Osztrogonác>

Unreviewed, rolling out r77098, r77099, r77100, r77109, and
r77111.
http://trac.webkit.org/changeset/77098
http://trac.webkit.org/changeset/77099
http://trac.webkit.org/changeset/77100
http://trac.webkit.org/changeset/77109
http://trac.webkit.org/changeset/77111
https://bugs.webkit.org/show_bug.cgi?id=53219

Qt build is broken

  • 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_instance.cpp: (JSC::Bindings::QtInstance::QtInstance): (JSC::Bindings::QtInstance::removeCachedMethod): (JSC::Bindings::QtInstance::markAggregate):
  • bridge/qt/qt_instance.h:
  • 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:

2011-01-30 Csaba Osztrogonác <Csaba Osztrogonác>

Unreviewed, rolling out r77098, r77099, r77100, r77109, and
r77111.
http://trac.webkit.org/changeset/77098
http://trac.webkit.org/changeset/77099
http://trac.webkit.org/changeset/77100
http://trac.webkit.org/changeset/77109
http://trac.webkit.org/changeset/77111
https://bugs.webkit.org/show_bug.cgi?id=53219

Qt build is broken

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

Legend:

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

    r77098 r77113  
    189189        m_storage->m_length = initialLength;
    190190        m_storage->m_numValuesInVector = 0;
    191         WriteBarrier<Unknown>* vector = m_storage->m_vector;
     191        JSValue* vector = m_storage->m_vector;
    192192        for (size_t i = 0; i < initialCapacity; ++i)
    193             vector[i].clear();
     193            vector[i] = JSValue();
    194194    }
    195195
     
    199199}
    200200
    201 JSArray::JSArray(JSGlobalData& globalData, NonNullPassRefPtr<Structure> structure, const ArgList& list)
     201JSArray::JSArray(NonNullPassRefPtr<Structure> structure, const ArgList& list)
    202202    : JSObject(structure)
    203203{
     
    226226
    227227    size_t i = 0;
    228     WriteBarrier<Unknown>* vector = m_storage->m_vector;
     228    JSValue* vector = m_storage->m_vector;
    229229    ArgList::const_iterator end = list.end();
    230230    for (ArgList::const_iterator it = list.begin(); it != end; ++it, ++i)
    231         vector[i].set(globalData, this, *it);
     231        vector[i] = *it;
    232232    for (; i < initialStorage; i++)
    233         vector[i].clear();
     233        vector[i] = JSValue();
    234234
    235235    checkConsistency();
     
    258258
    259259    if (i < m_vectorLength) {
    260         WriteBarrier<Unknown>& valueSlot = storage->m_vector[i];
     260        JSValue& valueSlot = storage->m_vector[i];
    261261        if (valueSlot) {
    262             slot.setValueSlot(valueSlot.slot());
     262            slot.setValueSlot(&valueSlot);
    263263            return true;
    264264        }
     
    267267            SparseArrayValueMap::iterator it = map->find(i);
    268268            if (it != map->end()) {
    269                 slot.setValueSlot(it->second.slot());
     269                slot.setValueSlot(&it->second);
    270270                return true;
    271271            }
     
    306306            return false;
    307307        if (i < m_vectorLength) {
    308             WriteBarrier<Unknown>& value = storage->m_vector[i];
     308            JSValue& value = storage->m_vector[i];
    309309            if (value) {
    310                 descriptor.setDescriptor(value.get(), 0);
     310                descriptor.setDescriptor(value, 0);
    311311                return true;
    312312            }
     
    315315                SparseArrayValueMap::iterator it = map->find(i);
    316316                if (it != map->end()) {
    317                     descriptor.setDescriptor(it->second.get(), 0);
     317                    descriptor.setDescriptor(it->second, 0);
    318318                    return true;
    319319                }
     
    360360
    361361    if (i < m_vectorLength) {
    362         WriteBarrier<Unknown>& valueSlot = storage->m_vector[i];
     362        JSValue& valueSlot = storage->m_vector[i];
    363363        if (valueSlot) {
    364             valueSlot.set(exec->globalData(), this, value);
     364            valueSlot = value;
    365365            checkConsistency();
    366366            return;
    367367        }
    368         valueSlot.set(exec->globalData(), this, value);
     368        valueSlot = value;
    369369        ++storage->m_numValuesInVector;
    370370        checkConsistency();
     
    396396            }
    397397
    398             WriteBarrier<Unknown> temp;
    399             pair<SparseArrayValueMap::iterator, bool> result = map->add(i, temp);
    400             result.first->second.set(exec->globalData(), this, value);
    401             if (!result.second) // pre-existing entry
     398            pair<SparseArrayValueMap::iterator, bool> result = map->add(i, value);
     399            if (!result.second) { // pre-existing entry
     400                result.first->second = value;
    402401                return;
     402            }
    403403
    404404            size_t capacity = map->capacity();
     
    416416        if (increaseVectorLength(i + 1)) {
    417417            storage = m_storage;
    418             storage->m_vector[i].set(exec->globalData(), this, value);
     418            storage->m_vector[i] = value;
    419419            ++storage->m_numValuesInVector;
    420420            checkConsistency();
     
    458458   
    459459    unsigned vectorLength = m_vectorLength;
    460     WriteBarrier<Unknown>* vector = storage->m_vector;
     460    JSValue* vector = storage->m_vector;
    461461
    462462    if (newNumValuesInVector == storage->m_numValuesInVector + 1) {
    463463        for (unsigned j = vectorLength; j < newVectorLength; ++j)
    464             vector[j].clear();
     464            vector[j] = JSValue();
    465465        if (i > MIN_SPARSE_ARRAY_INDEX)
    466466            map->remove(i);
    467467    } else {
    468468        for (unsigned j = vectorLength; j < max(vectorLength, MIN_SPARSE_ARRAY_INDEX); ++j)
    469             vector[j].clear();
    470         JSGlobalData& globalData = exec->globalData();
     469            vector[j] = JSValue();
    471470        for (unsigned j = max(vectorLength, MIN_SPARSE_ARRAY_INDEX); j < newVectorLength; ++j)
    472             vector[j].set(globalData, this, map->take(j).get());
     471            vector[j] = map->take(j);
    473472    }
    474473
     
    478477    storage->m_numValuesInVector = newNumValuesInVector;
    479478
    480     storage->m_vector[i].set(exec->globalData(), this, value);
     479    storage->m_vector[i] = value;
    481480
    482481    checkConsistency();
     
    505504   
    506505    if (i < m_vectorLength) {
    507         WriteBarrier<Unknown>& valueSlot = storage->m_vector[i];
     506        JSValue& valueSlot = storage->m_vector[i];
    508507        if (!valueSlot) {
    509508            checkConsistency();
    510509            return false;
    511510        }
    512         valueSlot.clear();
     511        valueSlot = JSValue();
    513512        --storage->m_numValuesInVector;
    514513        checkConsistency();
     
    607606    m_storage->m_allocBase = baseStorage;
    608607
    609     WriteBarrier<Unknown>* vector = storage->m_vector;
     608    JSValue* vector = storage->m_vector;
    610609    for (unsigned i = vectorLength; i < newVectorLength; ++i)
    611         vector[i].clear();
     610        vector[i] = JSValue();
    612611
    613612    m_vectorLength = newVectorLength;
     
    668667        unsigned usedVectorLength = min(length, m_vectorLength);
    669668        for (unsigned i = newLength; i < usedVectorLength; ++i) {
    670             WriteBarrier<Unknown>& valueSlot = storage->m_vector[i];
     669            JSValue& valueSlot = storage->m_vector[i];
    671670            bool hadValue = valueSlot;
    672             valueSlot.clear();
     671            valueSlot = JSValue();
    673672            storage->m_numValuesInVector -= hadValue;
    674673        }
     
    708707
    709708    if (length < m_vectorLength) {
    710         WriteBarrier<Unknown>& valueSlot = storage->m_vector[length];
     709        JSValue& valueSlot = storage->m_vector[length];
    711710        if (valueSlot) {
    712711            --storage->m_numValuesInVector;
    713             result = valueSlot.get();
    714             valueSlot.clear();
     712            result = valueSlot;
     713            valueSlot = JSValue();
    715714        } else
    716715            result = jsUndefined();
     
    720719            SparseArrayValueMap::iterator it = map->find(length);
    721720            if (it != map->end()) {
    722                 result = it->second.get();
     721                result = it->second;
    723722                map->remove(it);
    724723                if (map->isEmpty()) {
     
    744743
    745744    if (storage->m_length < m_vectorLength) {
    746         storage->m_vector[storage->m_length].set(exec->globalData(), this, value);
     745        storage->m_vector[storage->m_length] = value;
    747746        ++storage->m_numValuesInVector;
    748747        ++storage->m_length;
     
    756755            if (increaseVectorLength(storage->m_length + 1)) {
    757756                storage = m_storage;
    758                 storage->m_vector[storage->m_length].set(exec->globalData(), this, value);
     757                storage->m_vector[storage->m_length] = value;
    759758                ++storage->m_numValuesInVector;
    760759                ++storage->m_length;
     
    859858    }
    860859
    861     WriteBarrier<Unknown>* vector = m_storage->m_vector;
     860    JSValue* vector = m_storage->m_vector;
    862861    for (int i = 0; i < count; i++)
    863         vector[i].clear();
     862        vector[i] = JSValue();
    864863}
    865864
     
    943942
    944943    for (size_t i = 0; i < lengthNotIncludingUndefined; i++) {
    945         JSValue value = storage->m_vector[i].get();
     944        JSValue value = storage->m_vector[i];
    946945        ASSERT(!value.isUndefined());
    947946        values[i].first = value;
     
    976975    if (storage->m_length < lengthNotIncludingUndefined)
    977976        storage->m_length = lengthNotIncludingUndefined;
    978 
    979     JSGlobalData& globalData = exec->globalData();
     977       
    980978    for (size_t i = 0; i < lengthNotIncludingUndefined; i++)
    981         storage->m_vector[i].set(globalData, this, values[i].first);
     979        storage->m_vector[i] = values[i].first;
    982980
    983981    Heap::heap(this)->popTempSortVector(&values);
     
    11081106    // Iterate over the array, ignoring missing values, counting undefined ones, and inserting all other ones into the tree.
    11091107    for (; numDefined < usedVectorLength; ++numDefined) {
    1110         JSValue v = storage->m_vector[numDefined].get();
     1108        JSValue v = storage->m_vector[numDefined];
    11111109        if (!v || v.isUndefined())
    11121110            break;
     
    11151113    }
    11161114    for (unsigned i = numDefined; i < usedVectorLength; ++i) {
    1117         JSValue v = storage->m_vector[i].get();
     1115        JSValue v = storage->m_vector[i];
    11181116        if (v) {
    11191117            if (v.isUndefined())
     
    11431141        SparseArrayValueMap::iterator end = map->end();
    11441142        for (SparseArrayValueMap::iterator it = map->begin(); it != end; ++it) {
    1145             tree.abstractor().m_nodes[numDefined].value = it->second.get();
     1143            tree.abstractor().m_nodes[numDefined].value = it->second;
    11461144            tree.insert(numDefined);
    11471145            ++numDefined;
     
    11601158    AVLTree<AVLTreeAbstractorForArrayCompare, 44>::Iterator iter;
    11611159    iter.start_iter_least(tree);
    1162     JSGlobalData& globalData = exec->globalData();
    11631160    for (unsigned i = 0; i < numDefined; ++i) {
    1164         storage->m_vector[i].set(globalData, this, tree.abstractor().m_nodes[*iter].value);
     1161        storage->m_vector[i] = tree.abstractor().m_nodes[*iter].value;
    11651162        ++iter;
    11661163    }
     
    11681165    // Put undefined values back in.
    11691166    for (unsigned i = numDefined; i < newUsedVectorLength; ++i)
    1170         storage->m_vector[i].setUndefined();
     1167        storage->m_vector[i] = jsUndefined();
    11711168
    11721169    // Ensure that unused values in the vector are zeroed out.
    11731170    for (unsigned i = newUsedVectorLength; i < usedVectorLength; ++i)
    1174         storage->m_vector[i].clear();
     1171        storage->m_vector[i] = JSValue();
    11751172
    11761173    storage->m_numValuesInVector = newUsedVectorLength;
     
    11831180    ArrayStorage* storage = m_storage;
    11841181
    1185     WriteBarrier<Unknown>* vector = storage->m_vector;
     1182    JSValue* vector = storage->m_vector;
    11861183    unsigned vectorEnd = min(storage->m_length, m_vectorLength);
    11871184    unsigned i = 0;
    11881185    for (; i < vectorEnd; ++i) {
    1189         WriteBarrier<Unknown>& v = vector[i];
     1186        JSValue& v = vector[i];
    11901187        if (!v)
    11911188            break;
    1192         args.append(v.get());
     1189        args.append(v);
    11931190    }
    11941191
     
    12011198    ASSERT(m_storage->m_length >= maxSize);
    12021199    UNUSED_PARAM(maxSize);
    1203     WriteBarrier<Unknown>* vector = m_storage->m_vector;
     1200    JSValue* vector = m_storage->m_vector;
    12041201    unsigned vectorEnd = min(maxSize, m_vectorLength);
    12051202    unsigned i = 0;
    12061203    for (; i < vectorEnd; ++i) {
    1207         WriteBarrier<Unknown>& v = vector[i];
     1204        JSValue& v = vector[i];
    12081205        if (!v)
    12091206            break;
    1210         buffer[i] = v.get();
     1207        buffer[i] = v;
    12111208    }
    12121209
     
    12271224
    12281225    for (; numDefined < usedVectorLength; ++numDefined) {
    1229         JSValue v = storage->m_vector[numDefined].get();
     1226        JSValue v = storage->m_vector[numDefined];
    12301227        if (!v || v.isUndefined())
    12311228            break;
    12321229    }
    1233 
    12341230    for (unsigned i = numDefined; i < usedVectorLength; ++i) {
    1235         JSValue v = storage->m_vector[i].get();
     1231        JSValue v = storage->m_vector[i];
    12361232        if (v) {
    12371233            if (v.isUndefined())
    12381234                ++numUndefined;
    12391235            else
    1240                 storage->m_vector[numDefined++].setWithoutWriteBarrier(v);
     1236                storage->m_vector[numDefined++] = v;
    12411237        }
    12421238    }
     
    12571253        SparseArrayValueMap::iterator end = map->end();
    12581254        for (SparseArrayValueMap::iterator it = map->begin(); it != end; ++it)
    1259             storage->m_vector[numDefined++].setWithoutWriteBarrier(it->second.get());
     1255            storage->m_vector[numDefined++] = it->second;
    12601256
    12611257        delete map;
     
    12641260
    12651261    for (unsigned i = numDefined; i < newUsedVectorLength; ++i)
    1266         storage->m_vector[i].setUndefined();
     1262        storage->m_vector[i] = jsUndefined();
    12671263    for (unsigned i = newUsedVectorLength; i < usedVectorLength; ++i)
    1268         storage->m_vector[i].clear();
     1264        storage->m_vector[i] = JSValue();
    12691265
    12701266    storage->m_numValuesInVector = newUsedVectorLength;
Note: See TracChangeset for help on using the changeset viewer.