Ignore:
Timestamp:
Jan 18, 2011, 8:33:12 PM (14 years ago)
Author:
[email protected]
Message:

2011-01-18 Kenneth Russell <[email protected]>

Unreviewed, rolling out r76078.
http://trac.webkit.org/changeset/76078
https://bugs.webkit.org/show_bug.cgi?id=52668

Caused crashes of fast/canvas/webgl/constants.html,
fast/canvas/webgl/gl-enum-tests.html, and possibly other layout
test crashes in Release mode. WebGL crashes were observed with
"run-webkit-tests fast/canvas/webgl". It was necessary to run
multiple tests to provoke the crash.

  • interpreter/RegisterFile.h: (JSC::RegisterFile::markGlobals):
  • runtime/JSActivation.cpp: (JSC::JSActivation::markChildren):
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::markChildren):
File:
1 edited

Legend:

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

    r76078 r76100  
    350350        (*it)->markAggregate(markStack);
    351351
     352    RegisterFile& registerFile = globalData().interpreter->registerFile();
     353    if (registerFile.globalObject() == this)
     354        registerFile.markGlobals(markStack, &globalData().heap);
     355
    352356    markIfNeeded(markStack, d()->regExpConstructor);
    353357    markIfNeeded(markStack, d()->errorConstructor);
     
    394398    // guaranteed to be referenced elsewhere.
    395399
    396     markStack.appendValues(d()->registers - symbolTable().size(), symbolTable().size());
     400    Register* registerArray = d()->registerArray.get();
     401    if (!registerArray)
     402        return;
     403
     404    size_t size = d()->registerArraySize;
     405    markStack.appendValues(reinterpret_cast<JSValue*>(registerArray), size);
    397406}
    398407
Note: See TracChangeset for help on using the changeset viewer.