* alloc.c (GC_finish_collection): Send GC_EVENT_RECLAIM_START and
GC_EVENT_RECLAIM_END to indicate objects marking phase start/end.
* include/gc.h (GC_EventType): Add GC_EVENT_RECLAIM_START/END.
if (GC_print_stats)
GET_TIME(start_time);
# endif
+ if (GC_on_collection_event)
+ GC_on_collection_event(GC_EVENT_RECLAIM_START);
# ifndef GC_GET_HEAP_USAGE_NOT_NEEDED
if (GC_bytes_found > 0)
IF_USE_MUNMAP(GC_unmap_old());
+ if (GC_on_collection_event)
+ GC_on_collection_event(GC_EVENT_RECLAIM_END);
# ifndef SMALL_CONFIG
if (GC_print_stats) {
GET_TIME(done_time);
GC_EVENT_START /* COLLECTION */,
GC_EVENT_MARK_START,
GC_EVENT_MARK_END,
+ GC_EVENT_RECLAIM_START,
+ GC_EVENT_RECLAIM_END,
GC_EVENT_END /* COLLECTION */,
GC_EVENT_PRE_STOP_WORLD /* STOPWORLD_BEGIN */,
GC_EVENT_POST_STOP_WORLD /* STOPWORLD_END */,