5#ifndef V8_HEAP_GC_CALLBACKS_H_
6#define V8_HEAP_GC_CALLBACKS_H_
39 if (gc_type & callback_data.gc_type) {
40 callback_data.callback(callback_data.isolate, gc_type,
41 gc_callback_flags, callback_data.user_data);
67 return callback_data.callback == callback &&
68 callback_data.user_data == data;
97 if (callback_data.gc_type_ & gc_type)
98 callback_data.callback(callback_data.user_data);
118 return callback_data.callback == callback &&
119 callback_data.user_data == data;
void Remove(CallbackType callback, void *data)
std::vector< CallbackData > callbacks_
void Invoke(GCType gc_type) const
void Add(CallbackType callback, void *data, GCType gc_type)
void(*)(void *) CallbackType
std::vector< CallbackData >::iterator FindCallback(CallbackType callback, void *data)
void(*)(v8::Isolate *, GCType, GCCallbackFlags, void *) CallbackType
void Remove(CallbackType callback, void *data)
std::vector< CallbackData > callbacks_
void Invoke(GCType gc_type, GCCallbackFlags gc_callback_flags) const
void Add(CallbackType callback, v8::Isolate *isolate, GCType gc_type, void *data)
std::vector< CallbackData >::iterator FindCallback(CallbackType callback, void *data)
#define DCHECK_NOT_NULL(val)
#define DCHECK_NE(v1, v2)
#define DCHECK_EQ(v1, v2)
CallbackData(CallbackType callback, void *user_data, GCType gc_type)
CallbackData(CallbackType callback, v8::Isolate *isolate, GCType gc_type, void *user_data)