Changeset 95849 in webkit for trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
- Timestamp:
- Sep 23, 2011, 12:40:09 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r95751 r95849 309 309 } 310 310 311 void JSGlobalObject::visitChildren(SlotVisitor& visitor) 312 { 313 ASSERT_GC_OBJECT_INHERITS(this, &s_info); 311 void JSGlobalObject::visitChildrenVirtual(SlotVisitor& visitor) 312 { 313 visitChildren(this, visitor); 314 } 315 316 void JSGlobalObject::visitChildren(JSCell* cell, SlotVisitor& visitor) 317 { 318 JSGlobalObject* thisObject = static_cast<JSGlobalObject*>(cell); 319 ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); 314 320 COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); 315 ASSERT( structure()->typeInfo().overridesVisitChildren());316 JSVariableObject::visitChildren( visitor);317 318 visitIfNeeded(visitor, & m_globalScopeChain);319 visitIfNeeded(visitor, & m_methodCallDummy);320 321 visitIfNeeded(visitor, & m_regExpConstructor);322 visitIfNeeded(visitor, & m_errorConstructor);323 visitIfNeeded(visitor, & m_evalErrorConstructor);324 visitIfNeeded(visitor, & m_rangeErrorConstructor);325 visitIfNeeded(visitor, & m_referenceErrorConstructor);326 visitIfNeeded(visitor, & m_syntaxErrorConstructor);327 visitIfNeeded(visitor, & m_typeErrorConstructor);328 visitIfNeeded(visitor, & m_URIErrorConstructor);329 330 visitIfNeeded(visitor, & m_evalFunction);331 visitIfNeeded(visitor, & m_callFunction);332 visitIfNeeded(visitor, & m_applyFunction);333 334 visitIfNeeded(visitor, & m_objectPrototype);335 visitIfNeeded(visitor, & m_functionPrototype);336 visitIfNeeded(visitor, & m_arrayPrototype);337 visitIfNeeded(visitor, & m_booleanPrototype);338 visitIfNeeded(visitor, & m_stringPrototype);339 visitIfNeeded(visitor, & m_numberPrototype);340 visitIfNeeded(visitor, & m_datePrototype);341 visitIfNeeded(visitor, & m_regExpPrototype);342 343 visitIfNeeded(visitor, & m_argumentsStructure);344 visitIfNeeded(visitor, & m_arrayStructure);345 visitIfNeeded(visitor, & m_booleanObjectStructure);346 visitIfNeeded(visitor, & m_callbackConstructorStructure);347 visitIfNeeded(visitor, & m_callbackFunctionStructure);348 visitIfNeeded(visitor, & m_callbackObjectStructure);349 visitIfNeeded(visitor, & m_dateStructure);350 visitIfNeeded(visitor, & m_emptyObjectStructure);351 visitIfNeeded(visitor, & m_nullPrototypeObjectStructure);352 visitIfNeeded(visitor, & m_errorStructure);353 visitIfNeeded(visitor, & m_functionStructure);354 visitIfNeeded(visitor, & m_boundFunctionStructure);355 visitIfNeeded(visitor, & m_namedFunctionStructure);356 visitIfNeeded(visitor, & m_numberObjectStructure);357 visitIfNeeded(visitor, & m_regExpMatchesArrayStructure);358 visitIfNeeded(visitor, & m_regExpStructure);359 visitIfNeeded(visitor, & m_stringObjectStructure);360 visitIfNeeded(visitor, & m_internalFunctionStructure);361 362 if ( m_registerArray) {321 ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); 322 JSVariableObject::visitChildren(thisObject, visitor); 323 324 visitIfNeeded(visitor, &thisObject->m_globalScopeChain); 325 visitIfNeeded(visitor, &thisObject->m_methodCallDummy); 326 327 visitIfNeeded(visitor, &thisObject->m_regExpConstructor); 328 visitIfNeeded(visitor, &thisObject->m_errorConstructor); 329 visitIfNeeded(visitor, &thisObject->m_evalErrorConstructor); 330 visitIfNeeded(visitor, &thisObject->m_rangeErrorConstructor); 331 visitIfNeeded(visitor, &thisObject->m_referenceErrorConstructor); 332 visitIfNeeded(visitor, &thisObject->m_syntaxErrorConstructor); 333 visitIfNeeded(visitor, &thisObject->m_typeErrorConstructor); 334 visitIfNeeded(visitor, &thisObject->m_URIErrorConstructor); 335 336 visitIfNeeded(visitor, &thisObject->m_evalFunction); 337 visitIfNeeded(visitor, &thisObject->m_callFunction); 338 visitIfNeeded(visitor, &thisObject->m_applyFunction); 339 340 visitIfNeeded(visitor, &thisObject->m_objectPrototype); 341 visitIfNeeded(visitor, &thisObject->m_functionPrototype); 342 visitIfNeeded(visitor, &thisObject->m_arrayPrototype); 343 visitIfNeeded(visitor, &thisObject->m_booleanPrototype); 344 visitIfNeeded(visitor, &thisObject->m_stringPrototype); 345 visitIfNeeded(visitor, &thisObject->m_numberPrototype); 346 visitIfNeeded(visitor, &thisObject->m_datePrototype); 347 visitIfNeeded(visitor, &thisObject->m_regExpPrototype); 348 349 visitIfNeeded(visitor, &thisObject->m_argumentsStructure); 350 visitIfNeeded(visitor, &thisObject->m_arrayStructure); 351 visitIfNeeded(visitor, &thisObject->m_booleanObjectStructure); 352 visitIfNeeded(visitor, &thisObject->m_callbackConstructorStructure); 353 visitIfNeeded(visitor, &thisObject->m_callbackFunctionStructure); 354 visitIfNeeded(visitor, &thisObject->m_callbackObjectStructure); 355 visitIfNeeded(visitor, &thisObject->m_dateStructure); 356 visitIfNeeded(visitor, &thisObject->m_emptyObjectStructure); 357 visitIfNeeded(visitor, &thisObject->m_nullPrototypeObjectStructure); 358 visitIfNeeded(visitor, &thisObject->m_errorStructure); 359 visitIfNeeded(visitor, &thisObject->m_functionStructure); 360 visitIfNeeded(visitor, &thisObject->m_boundFunctionStructure); 361 visitIfNeeded(visitor, &thisObject->m_namedFunctionStructure); 362 visitIfNeeded(visitor, &thisObject->m_numberObjectStructure); 363 visitIfNeeded(visitor, &thisObject->m_regExpMatchesArrayStructure); 364 visitIfNeeded(visitor, &thisObject->m_regExpStructure); 365 visitIfNeeded(visitor, &thisObject->m_stringObjectStructure); 366 visitIfNeeded(visitor, &thisObject->m_internalFunctionStructure); 367 368 if (thisObject->m_registerArray) { 363 369 // Outside the execution of global code, when our variables are torn off, 364 370 // we can mark the torn-off array. 365 visitor.appendValues( m_registerArray.get(),m_registerArraySize);366 } else if ( m_registers) {371 visitor.appendValues(thisObject->m_registerArray.get(), thisObject->m_registerArraySize); 372 } else if (thisObject->m_registers) { 367 373 // During execution of global code, when our variables are in the register file, 368 374 // the symbol table tells us how many variables there are, and registers 369 375 // points to where they end, and the registers used for execution begin. 370 visitor.appendValues( m_registers - symbolTable().size(),symbolTable().size());376 visitor.appendValues(thisObject->m_registers - thisObject->symbolTable().size(), thisObject->symbolTable().size()); 371 377 } 372 378 }
Note:
See TracChangeset
for help on using the changeset viewer.