96 #if GNASH_GC_DEBUG > 2
97 log_debug(
_(
"Instance %p of class %s already reachable, "
98 "setReachable doing nothing"), (
void*)
this,
104 #if GNASH_GC_DEBUG > 2
105 log_debug(
_(
"Instance %p of class %s set to reachable, scanning "
106 "reachable resources from it"), (
void*)
this,
138 #if GNASH_GC_DEBUG > 1
139 log_debug(
_(
"Class %s didn't override the markReachableResources() "
153 mutable bool _reachable;
201 _resList.push_back(item); ++_resListSize;
203 #if GNASH_GC_DEBUG > 1
204 log_debug(
_(
"GC: collectable %p added, num collectables: %d"), item,
241 if (_resListSize < _lastResCount + _maxNewCollectablesCount) {
242 #if GNASH_GC_DEBUG > 1
243 log_debug(
_(
"GC: collection cycle skipped - %d/%d new resources "
244 "allocated since last run (from %d to %d)"),
245 _resListSize-_lastResCount, _maxNewCollectablesCount,
246 _lastResCount, _resListSize);
247 #endif // GNASH_GC_DEBUG
268 typedef std::list<const GcResource*> ResList;
271 void markReachable() {
272 #if GNASH_GC_DEBUG > 2
273 log_debug(
_(
"GC %p: MARK SCAN"), (
void*)
this);
275 _root.markReachableResources();
281 size_t cleanUnreachable();
285 size_t _maxNewCollectablesCount;
291 ResList::size_type _resListSize;
298 ResList::size_type _lastResCount;
300 #ifdef GNASH_GC_DEBUG
301 size_t _collectorRuns;