-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathgc-event-listener.h
29 lines (24 loc) · 955 Bytes
/
gc-event-listener.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef GC_EVENT_LISTENER_H
#define GC_EVENT_LISTENER_H
#include "gc-collection-kind.h"
struct gc_event_listener {
void (*init)(void *data, size_t heap_size);
void (*requesting_stop)(void *data);
void (*waiting_for_stop)(void *data);
void (*mutators_stopped)(void *data);
void (*prepare_gc)(void *data, enum gc_collection_kind kind);
void (*roots_traced)(void *data);
void (*heap_traced)(void *data);
void (*ephemerons_traced)(void *data);
void (*finalizers_traced)(void *data);
void (*restarting_mutators)(void *data);
void* (*mutator_added)(void *data);
void (*mutator_cause_gc)(void *mutator_data);
void (*mutator_stopping)(void *mutator_data);
void (*mutator_stopped)(void *mutator_data);
void (*mutator_restarted)(void *mutator_data);
void (*mutator_removed)(void *mutator_data);
void (*heap_resized)(void *data, size_t size);
void (*live_data_size)(void *data, size_t size);
};
#endif // GC_EVENT_LISTENER_H