OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2784 }; | 2784 }; |
2785 | 2785 |
2786 enum GCCallbackFlags { | 2786 enum GCCallbackFlags { |
2787 kNoGCCallbackFlags = 0, | 2787 kNoGCCallbackFlags = 0, |
2788 kGCCallbackFlagCompacted = 1 << 0 | 2788 kGCCallbackFlagCompacted = 1 << 0 |
2789 }; | 2789 }; |
2790 | 2790 |
2791 typedef void (*GCPrologueCallback)(GCType type, GCCallbackFlags flags); | 2791 typedef void (*GCPrologueCallback)(GCType type, GCCallbackFlags flags); |
2792 typedef void (*GCEpilogueCallback)(GCType type, GCCallbackFlags flags); | 2792 typedef void (*GCEpilogueCallback)(GCType type, GCCallbackFlags flags); |
2793 | 2793 |
2794 typedef void (*GCCallback)(); | |
2795 | |
2796 | 2794 |
2797 /** | 2795 /** |
2798 * Collection of V8 heap information. | 2796 * Collection of V8 heap information. |
2799 * | 2797 * |
2800 * Instances of this class can be passed to v8::V8::HeapStatistics to | 2798 * Instances of this class can be passed to v8::V8::HeapStatistics to |
2801 * get heap statistics from V8. | 2799 * get heap statistics from V8. |
2802 */ | 2800 */ |
2803 class V8EXPORT HeapStatistics { | 2801 class V8EXPORT HeapStatistics { |
2804 public: | 2802 public: |
2805 HeapStatistics(); | 2803 HeapStatistics(); |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3202 static void AddGCPrologueCallback( | 3200 static void AddGCPrologueCallback( |
3203 GCPrologueCallback callback, GCType gc_type_filter = kGCTypeAll); | 3201 GCPrologueCallback callback, GCType gc_type_filter = kGCTypeAll); |
3204 | 3202 |
3205 /** | 3203 /** |
3206 * This function removes callback which was installed by | 3204 * This function removes callback which was installed by |
3207 * AddGCPrologueCallback function. | 3205 * AddGCPrologueCallback function. |
3208 */ | 3206 */ |
3209 static void RemoveGCPrologueCallback(GCPrologueCallback callback); | 3207 static void RemoveGCPrologueCallback(GCPrologueCallback callback); |
3210 | 3208 |
3211 /** | 3209 /** |
3212 * The function is deprecated. Please use AddGCPrologueCallback instead. | |
3213 * Enables the host application to receive a notification before a | |
3214 * garbage collection. Allocations are not allowed in the | |
3215 * callback function, you therefore cannot manipulate objects (set | |
3216 * or delete properties for example) since it is possible such | |
3217 * operations will result in the allocation of objects. | |
3218 */ | |
3219 static void SetGlobalGCPrologueCallback(GCCallback); | |
Michael Starzinger
2013/01/23 17:39:07
I think it is better to mark this function as depr
yurys
2013/01/24 07:54:05
Done.
| |
3220 | |
3221 /** | |
3222 * Enables the host application to receive a notification after a | 3210 * Enables the host application to receive a notification after a |
3223 * garbage collection. Allocations are not allowed in the | 3211 * garbage collection. Allocations are not allowed in the |
3224 * callback function, you therefore cannot manipulate objects (set | 3212 * callback function, you therefore cannot manipulate objects (set |
3225 * or delete properties for example) since it is possible such | 3213 * or delete properties for example) since it is possible such |
3226 * operations will result in the allocation of objects. It is possible | 3214 * operations will result in the allocation of objects. It is possible |
3227 * to specify the GCType filter for your callback. But it is not possible to | 3215 * to specify the GCType filter for your callback. But it is not possible to |
3228 * register the same callback function two times with different | 3216 * register the same callback function two times with different |
3229 * GCType filters. | 3217 * GCType filters. |
3230 */ | 3218 */ |
3231 static void AddGCEpilogueCallback( | 3219 static void AddGCEpilogueCallback( |
3232 GCEpilogueCallback callback, GCType gc_type_filter = kGCTypeAll); | 3220 GCEpilogueCallback callback, GCType gc_type_filter = kGCTypeAll); |
3233 | 3221 |
3234 /** | 3222 /** |
3235 * This function removes callback which was installed by | 3223 * This function removes callback which was installed by |
3236 * AddGCEpilogueCallback function. | 3224 * AddGCEpilogueCallback function. |
3237 */ | 3225 */ |
3238 static void RemoveGCEpilogueCallback(GCEpilogueCallback callback); | 3226 static void RemoveGCEpilogueCallback(GCEpilogueCallback callback); |
3239 | 3227 |
3240 /** | 3228 /** |
3241 * The function is deprecated. Please use AddGCEpilogueCallback instead. | |
3242 * Enables the host application to receive a notification after a | |
3243 * major garbage collection. Allocations are not allowed in the | |
3244 * callback function, you therefore cannot manipulate objects (set | |
3245 * or delete properties for example) since it is possible such | |
3246 * operations will result in the allocation of objects. | |
3247 */ | |
3248 static void SetGlobalGCEpilogueCallback(GCCallback); | |
Michael Starzinger
2013/01/23 17:39:07
Likewise.
yurys
2013/01/24 07:54:05
Done.
| |
3249 | |
3250 /** | |
3251 * Enables the host application to provide a mechanism to be notified | 3229 * Enables the host application to provide a mechanism to be notified |
3252 * and perform custom logging when V8 Allocates Executable Memory. | 3230 * and perform custom logging when V8 Allocates Executable Memory. |
3253 */ | 3231 */ |
3254 static void AddMemoryAllocationCallback(MemoryAllocationCallback callback, | 3232 static void AddMemoryAllocationCallback(MemoryAllocationCallback callback, |
3255 ObjectSpace space, | 3233 ObjectSpace space, |
3256 AllocationAction action); | 3234 AllocationAction action); |
3257 | 3235 |
3258 /** | 3236 /** |
3259 * Removes callback that was installed by AddMemoryAllocationCallback. | 3237 * Removes callback that was installed by AddMemoryAllocationCallback. |
3260 */ | 3238 */ |
(...skipping 1588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4849 | 4827 |
4850 | 4828 |
4851 } // namespace v8 | 4829 } // namespace v8 |
4852 | 4830 |
4853 | 4831 |
4854 #undef V8EXPORT | 4832 #undef V8EXPORT |
4855 #undef TYPE_CHECK | 4833 #undef TYPE_CHECK |
4856 | 4834 |
4857 | 4835 |
4858 #endif // V8_H_ | 4836 #endif // V8_H_ |
OLD | NEW |