Changeset 77360 in webkit for trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
- Timestamp:
- Feb 1, 2011, 9:05:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r77151 r77360 105 105 } 106 106 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 119 109 RegisterFile& registerFile = globalData().interpreter->registerFile(); 120 110 if (registerFile.clearGlobalObject(this)) … … 126 116 { 127 117 ASSERT(JSLock::currentThreadIsHoldingLock()); 128 118 129 119 structure()->disableSpecificFunctionTracking(); 130 120 131 121 d()->globalData = Heap::heap(this)->globalData(); 122 d()->globalData->globalObjects.set(this, this); 132 123 d()->globalScopeChain = ScopeChain(this, d()->globalData.get(), this, thisValue); 133 124 134 125 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 } else142 headObject = d()->next = d()->prev = this;143 126 144 127 d()->debugger = 0; … … 346 329 JSVariableObject::markChildren(markStack); 347 330 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 352 331 markIfNeeded(markStack, &d()->regExpConstructor); 353 332 markIfNeeded(markStack, &d()->errorConstructor);
Note:
See TracChangeset
for help on using the changeset viewer.