| Index: include/v8.h
|
| diff --git a/include/v8.h b/include/v8.h
|
| index adad9d620511357356d60b4bb59afa2290bbb901..206b0b08105c880f75514ddbfe1a4b5a585df1cd 100644
|
| --- a/include/v8.h
|
| +++ b/include/v8.h
|
| @@ -2158,12 +2158,26 @@ typedef void (*FailedAccessCheckCallback)(Local<Object> target,
|
| // --- G a r b a g e C o l l e c t i o n C a l l b a c k s
|
|
|
| /**
|
| - * Applications can register a callback function which is called
|
| - * before and after a major garbage collection. Allocations are not
|
| - * allowed in the callback function, you therefore cannot manipulate
|
| + * Applications can register callback functions which will be called
|
| + * before and after a garbage collection. Allocations are not
|
| + * allowed in the callback functions, you therefore cannot manipulate
|
| * objects (set or delete properties for example) since it is possible
|
| * such operations will result in the allocation of objects.
|
| */
|
| +enum GCType {
|
| + kGCTypeScavenge = 1 << 0,
|
| + kGCTypeMarkSweepCompact = 1 << 1,
|
| + kGCTypeAll = kGCTypeScavenge | kGCTypeMarkSweepCompact
|
| +};
|
| +
|
| +enum GCCallbackFlags {
|
| + kNoGCCallbackFlags = 0,
|
| + kGCCallbackFlagCompacted = 1 << 0
|
| +};
|
| +
|
| +typedef void (*GCPrologueCallback)(GCType type, GCCallbackFlags flags);
|
| +typedef void (*GCEpilogueCallback)(GCType type, GCCallbackFlags flags);
|
| +
|
| typedef void (*GCCallback)();
|
|
|
|
|
| @@ -2299,7 +2313,27 @@ class V8EXPORT V8 {
|
|
|
| /**
|
| * Enables the host application to receive a notification before a
|
| - * major garbage colletion. Allocations are not allowed in the
|
| + * garbage collection. Allocations are not allowed in the
|
| + * callback function, you therefore cannot manipulate objects (set
|
| + * or delete properties for example) since it is possible such
|
| + * operations will result in the allocation of objects. It is possible
|
| + * to specify the GCType filter for your callback. But it is not possible to
|
| + * register the same callback function two times with different
|
| + * GCType filters.
|
| + */
|
| + static void AddGCPrologueCallback(
|
| + GCPrologueCallback callback, GCType gc_type_filter = kGCTypeAll);
|
| +
|
| + /**
|
| + * This function removes callback which was installed by
|
| + * AddGCPrologueCallback function.
|
| + */
|
| + static void RemoveGCPrologueCallback(GCPrologueCallback callback);
|
| +
|
| + /**
|
| + * The function is deprecated. Please use AddGCPrologueCallback instead.
|
| + * Enables the host application to receive a notification before a
|
| + * garbage collection. Allocations are not allowed in the
|
| * callback function, you therefore cannot manipulate objects (set
|
| * or delete properties for example) since it is possible such
|
| * operations will result in the allocation of objects.
|
| @@ -2308,6 +2342,26 @@ class V8EXPORT V8 {
|
|
|
| /**
|
| * Enables the host application to receive a notification after a
|
| + * garbage collection. Allocations are not allowed in the
|
| + * callback function, you therefore cannot manipulate objects (set
|
| + * or delete properties for example) since it is possible such
|
| + * operations will result in the allocation of objects. It is possible
|
| + * to specify the GCType filter for your callback. But it is not possible to
|
| + * register the same callback function two times with different
|
| + * GCType filters.
|
| + */
|
| + static void AddGCEpilogueCallback(
|
| + GCEpilogueCallback callback, GCType gc_type_filter = kGCTypeAll);
|
| +
|
| + /**
|
| + * This function removes callback which was installed by
|
| + * AddGCEpilogueCallback function.
|
| + */
|
| + static void RemoveGCEpilogueCallback(GCEpilogueCallback callback);
|
| +
|
| + /**
|
| + * The function is deprecated. Please use AddGCEpilogueCallback instead.
|
| + * Enables the host application to receive a notification after a
|
| * major garbage collection. Allocations are not allowed in the
|
| * callback function, you therefore cannot manipulate objects (set
|
| * or delete properties for example) since it is possible such
|
|
|