Changeset 2783 in webkit for trunk/JavaScriptCore/kjs/collector.cpp
- Timestamp:
- Nov 20, 2002, 1:12:14 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/collector.cpp
r2781 r2783 100 100 heap.oversizeCells[heap.usedOversizeCells] = (CollectorCell *)newCell; 101 101 heap.usedOversizeCells++; 102 heap.numLiveObjects++; 102 103 103 104 return (void *)newCell; … … 141 142 targetBlock->bitmap[wordInBitmap] |= (1 << bitInWord); 142 143 targetBlock->usedCells++; 144 heap.numLiveObjects++; 143 145 return (void *)(targetBlock->cells + cellPos); 144 146 } … … 293 295 294 296 #if APPLE_CHANGES 297 295 298 int Collector::numInterpreters() 296 299 { … … 343 346 344 347 if ((word & (1 << bitInWord)) && 345 imp->refcount == 0) {348 imp->refcount != 0) { 346 349 ++count; 347 350 } … … 352 355 for (int cell = 0; cell < heap.usedOversizeCells; cell++) { 353 356 ValueImp *imp = (ValueImp *)heap.oversizeCells[cell]; 354 if (imp->refcount == 0) {357 if (imp->refcount != 0) { 355 358 ++count; 356 359 } … … 360 363 } 361 364 365 // FIXME: Rename. Root object classes are more useful than live object classes. 362 366 CFSetRef Collector::liveObjectClasses() 363 367 { … … 370 374 ValueImp *imp = (ValueImp *)(heap.blocks[block]->cells + BITS_PER_WORD * wordInBitmap + bitInWord); 371 375 372 if (word & (1 << bitInWord)) { 376 if (word & (1 << bitInWord) 377 && ((imp->_flags & ValueImp::VI_GCALLOWED) == 0 || imp->refcount != 0)) { 373 378 const char *mangled_name = typeid(*imp).name(); 374 379 int status; … … 386 391 for (int cell = 0; cell < heap.usedOversizeCells; cell++) { 387 392 ValueImp *imp = (ValueImp *)heap.oversizeCells[cell]; 388 389 const char *mangled_name = typeid(*imp).name(); 390 int status; 391 char *demangled_name = __cxxabiv1::__cxa_demangle (mangled_name, NULL, NULL, &status); 392 393 CFStringRef className = CFStringCreateWithCString(NULL, demangled_name, kCFStringEncodingASCII); 394 free(demangled_name); 395 CFSetAddValue(classes, className); 396 CFRelease(className); 393 394 if ((imp->_flags & ValueImp::VI_GCALLOWED) == 0 || imp->refcount != 0) { 395 const char *mangled_name = typeid(*imp).name(); 396 int status; 397 char *demangled_name = __cxxabiv1::__cxa_demangle (mangled_name, NULL, NULL, &status); 398 399 CFStringRef className = CFStringCreateWithCString(NULL, demangled_name, kCFStringEncodingASCII); 400 free(demangled_name); 401 CFSetAddValue(classes, className); 402 CFRelease(className); 403 } 397 404 } 398 405 … … 400 407 } 401 408 402 #endif 409 #endif // APPLE_CHANGES
Note:
See TracChangeset
for help on using the changeset viewer.