Ignore:
Timestamp:
Feb 1, 2011, 9:05:55 PM (14 years ago)
Author:
[email protected]
Message:

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

Unreviewed, rolling out r77297.
http://trac.webkit.org/changeset/77297
https://bugs.webkit.org/show_bug.cgi?id=53538

caused leopard crashes (Requested by paroga on #webkit).

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • wtf/text/AtomicString.cpp: (WTF::AtomicString::fromUTF8):
  • wtf/unicode/UTF8.cpp: (WTF::Unicode::calculateStringHashFromUTF8):
  • wtf/unicode/UTF8.h:
File:
1 edited

Legend:

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

    r77151 r77360  
    105105    }
    106106
    107     d()->next->d()->prev = d()->prev;
    108     d()->prev->d()->next = d()->next;
    109     JSGlobalObject*& headObject = head();
    110     if (headObject == this)
    111         headObject = d()->next;
    112     if (headObject == this)
    113         headObject = 0;
    114 
    115     HashSet<GlobalCodeBlock*>::const_iterator end = codeBlocks().end();
    116     for (HashSet<GlobalCodeBlock*>::const_iterator it = codeBlocks().begin(); it != end; ++it)
    117         (*it)->clearGlobalObject();
    118        
     107    d()->globalData->globalObjects.take(this);
     108
    119109    RegisterFile& registerFile = globalData().interpreter->registerFile();
    120110    if (registerFile.clearGlobalObject(this))
     
    126116{
    127117    ASSERT(JSLock::currentThreadIsHoldingLock());
    128 
     118   
    129119    structure()->disableSpecificFunctionTracking();
    130120
    131121    d()->globalData = Heap::heap(this)->globalData();
     122    d()->globalData->globalObjects.set(this, this);
    132123    d()->globalScopeChain = ScopeChain(this, d()->globalData.get(), this, thisValue);
    133124
    134125    JSGlobalObject::globalExec()->init(0, 0, d()->globalScopeChain.node(), CallFrame::noCaller(), 0, 0);
    135 
    136     if (JSGlobalObject*& headObject = head()) {
    137         d()->prev = headObject;
    138         d()->next = headObject->d()->next;
    139         headObject->d()->next->d()->prev = this;
    140         headObject->d()->next = this;
    141     } else
    142         headObject = d()->next = d()->prev = this;
    143126
    144127    d()->debugger = 0;
     
    346329    JSVariableObject::markChildren(markStack);
    347330   
    348     HashSet<GlobalCodeBlock*>::const_iterator end = codeBlocks().end();
    349     for (HashSet<GlobalCodeBlock*>::const_iterator it = codeBlocks().begin(); it != end; ++it)
    350         (*it)->markAggregate(markStack);
    351 
    352331    markIfNeeded(markStack, &d()->regExpConstructor);
    353332    markIfNeeded(markStack, &d()->errorConstructor);
Note: See TracChangeset for help on using the changeset viewer.