Changeset 1811 in webkit for trunk/JavaScriptCore/kjs/collector.cpp
- Timestamp:
- Aug 13, 2002, 11:38:00 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/collector.cpp
r1806 r1811 21 21 */ 22 22 23 #if APPLE_CHANGES 24 #define _COLLECTOR 25 #include <CoreFoundation/CoreFoundation.h> 26 #include <cxxabi.h> 27 #endif 28 23 29 #include "collector.h" 24 30 #include "internal.h" … … 328 334 } 329 335 330 #endif 336 CFSetRef Collector::liveObjectClasses() 337 { 338 CFMutableSetRef classes = CFSetCreateMutable(NULL, 0, &kCFTypeSetCallBacks); 339 340 CollectorBlock *block = root; 341 while (block) { 342 ValueImp **r = (ValueImp**)block->mem; 343 assert(r); 344 for (int i = 0; i < block->size; i++, r++) 345 { 346 ValueImp *imp = *r; 347 if (imp != NULL) { 348 const char *mangled_name = typeid(*imp).name(); 349 int status; 350 char *demangled_name = __cxxabiv1::__cxa_demangle (mangled_name, NULL, NULL, &status); 351 352 CFStringRef className = CFStringCreateWithCString(NULL, demangled_name, kCFStringEncodingASCII); 353 free(demangled_name); 354 CFSetAddValue(classes, className); 355 CFRelease(className); 356 } 357 } 358 block = block->next; 359 } 360 return classes; 361 } 362 363 #endif
Note:
See TracChangeset
for help on using the changeset viewer.