Ignore:
Timestamp:
Mar 3, 2011, 2:30:59 PM (14 years ago)
Author:
[email protected]
Message:

2011-03-03 Oliver Hunt <[email protected]>

Reviewed by Geoffrey Garen.

JSVariableObject needs to use WriteBarrier for symboltable property storage
https://bugs.webkit.org/show_bug.cgi?id=55698

Replace the direct usage of Register in JSVariableObject (and descendents)
with WriteBarrier. This requires updating the Arguments object to use
WriteBarrier as well.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::unwindCallFrame): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveArguments):
  • jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION):
  • runtime/ArgList.h: (JSC::MarkedArgumentBuffer::initialize):
  • runtime/Arguments.cpp: (JSC::Arguments::markChildren): (JSC::Arguments::copyToRegisters): (JSC::Arguments::fillArgList): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::getOwnPropertyDescriptor): (JSC::Arguments::put):
  • runtime/Arguments.h: (JSC::Arguments::setActivation): (JSC::Arguments::Arguments): (JSC::Arguments::copyRegisters): (JSC::JSActivation::copyRegisters):
  • runtime/JSActivation.cpp: (JSC::JSActivation::markChildren): (JSC::JSActivation::symbolTableGet): (JSC::JSActivation::symbolTablePut): (JSC::JSActivation::symbolTablePutWithAttributes): (JSC::JSActivation::put): (JSC::JSActivation::putWithAttributes): (JSC::JSActivation::argumentsGetter):
  • runtime/JSActivation.h:
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::putWithAttributes): (JSC::JSGlobalObject::markChildren): (JSC::JSGlobalObject::copyGlobalsFrom): (JSC::JSGlobalObject::copyGlobalsTo): (JSC::JSGlobalObject::resizeRegisters):
  • runtime/JSGlobalObject.h: (JSC::JSGlobalObject::setRegisters): (JSC::JSGlobalObject::addStaticGlobals):
  • runtime/JSStaticScopeObject.cpp: (JSC::JSStaticScopeObject::put): (JSC::JSStaticScopeObject::putWithAttributes):
  • runtime/JSVariableObject.cpp: (JSC::JSVariableObject::symbolTableGet):
  • runtime/JSVariableObject.h: (JSC::JSVariableObject::registerAt): (JSC::JSVariableObject::JSVariableObjectData::JSVariableObjectData): (JSC::JSVariableObject::symbolTableGet): (JSC::JSVariableObject::symbolTablePut): (JSC::JSVariableObject::symbolTablePutWithAttributes): (JSC::JSVariableObject::copyRegisterArray): (JSC::JSVariableObject::setRegisters):

2011-03-03 Oliver Hunt <[email protected]>

Reviewed by Geoffrey Garen.

JSVariableObject needs to use WriteBarrier for symboltable property storage
https://bugs.webkit.org/show_bug.cgi?id=55698

Update to pass JSGlobalData for the symbol table write used
to set the document property.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JITStubs.cpp

    r79904 r80285  
    21302130        if (JSValue v = stackFrame.args[1].jsValue()) {
    21312131            if (!stackFrame.callFrame->codeBlock()->isStrictMode())
    2132                 asArguments(v)->copyRegisters();
     2132                asArguments(v)->copyRegisters(*stackFrame.globalData);
    21332133        }
    21342134        return;
    21352135    }
    21362136    JSActivation* activation = asActivation(stackFrame.args[0].jsValue());
    2137     activation->copyRegisters();
     2137    activation->copyRegisters(*stackFrame.globalData);
    21382138    if (JSValue v = stackFrame.args[1].jsValue()) {
    21392139        if (!stackFrame.callFrame->codeBlock()->isStrictMode())
     
    21472147
    21482148    ASSERT(stackFrame.callFrame->codeBlock()->usesArguments() && !stackFrame.callFrame->codeBlock()->needsFullScopeChain());
    2149     asArguments(stackFrame.args[0].jsValue())->copyRegisters();
     2149    asArguments(stackFrame.args[0].jsValue())->copyRegisters(*stackFrame.globalData);
    21502150}
    21512151
Note: See TracChangeset for help on using the changeset viewer.