OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** \mainpage V8 API Reference Guide | 5 /** \mainpage V8 API Reference Guide |
6 * | 6 * |
7 * V8 is Google's open source JavaScript engine. | 7 * V8 is Google's open source JavaScript engine. |
8 * | 8 * |
9 * This set of documents provides reference material generated from the | 9 * This set of documents provides reference material generated from the |
10 * V8 header file, include/v8.h. | 10 * V8 header file, include/v8.h. |
(...skipping 6776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6787 * object in the group is alive, all objects in the group are alive. | 6787 * object in the group is alive, all objects in the group are alive. |
6788 * After each garbage collection, object groups are removed. It is | 6788 * After each garbage collection, object groups are removed. It is |
6789 * intended to be used in the before-garbage-collection callback | 6789 * intended to be used in the before-garbage-collection callback |
6790 * function, for instance to simulate DOM tree connections among JS | 6790 * function, for instance to simulate DOM tree connections among JS |
6791 * wrapper objects. Object groups for all dependent handles need to | 6791 * wrapper objects. Object groups for all dependent handles need to |
6792 * be provided for kGCTypeMarkSweepCompact collections, for all other | 6792 * be provided for kGCTypeMarkSweepCompact collections, for all other |
6793 * garbage collection types it is sufficient to provide object groups | 6793 * garbage collection types it is sufficient to provide object groups |
6794 * for partially dependent handles only. | 6794 * for partially dependent handles only. |
6795 */ | 6795 */ |
6796 template <typename T> | 6796 template <typename T> |
6797 V8_DEPRECATE_SOON("Use EmbedderHeapTracer", | 6797 V8_DEPRECATED("Use EmbedderHeapTracer", |
6798 void SetObjectGroupId(const Persistent<T>& object, | 6798 void SetObjectGroupId(const Persistent<T>& object, |
6799 UniqueId id)); | 6799 UniqueId id)); |
6800 | 6800 |
6801 /** | 6801 /** |
6802 * Allows the host application to declare implicit references from an object | 6802 * Allows the host application to declare implicit references from an object |
6803 * group to an object. If the objects of the object group are alive, the child | 6803 * group to an object. If the objects of the object group are alive, the child |
6804 * object is alive too. After each garbage collection, all implicit references | 6804 * object is alive too. After each garbage collection, all implicit references |
6805 * are removed. It is intended to be used in the before-garbage-collection | 6805 * are removed. It is intended to be used in the before-garbage-collection |
6806 * callback function. | 6806 * callback function. |
6807 */ | 6807 */ |
6808 template <typename T> | 6808 template <typename T> |
6809 V8_DEPRECATE_SOON("Use EmbedderHeapTracer", | 6809 V8_DEPRECATED("Use EmbedderHeapTracer", |
6810 void SetReferenceFromGroup(UniqueId id, | 6810 void SetReferenceFromGroup(UniqueId id, |
6811 const Persistent<T>& child)); | 6811 const Persistent<T>& child)); |
6812 | 6812 |
6813 /** | 6813 /** |
6814 * Allows the host application to declare implicit references from an object | 6814 * Allows the host application to declare implicit references from an object |
6815 * to another object. If the parent object is alive, the child object is alive | 6815 * to another object. If the parent object is alive, the child object is alive |
6816 * too. After each garbage collection, all implicit references are removed. It | 6816 * too. After each garbage collection, all implicit references are removed. It |
6817 * is intended to be used in the before-garbage-collection callback function. | 6817 * is intended to be used in the before-garbage-collection callback function. |
6818 */ | 6818 */ |
6819 template <typename T, typename S> | 6819 template <typename T, typename S> |
6820 V8_DEPRECATE_SOON("Use EmbedderHeapTracer", | 6820 V8_DEPRECATED("Use EmbedderHeapTracer", |
6821 void SetReference(const Persistent<T>& parent, | 6821 void SetReference(const Persistent<T>& parent, |
6822 const Persistent<S>& child)); | 6822 const Persistent<S>& child)); |
6823 | 6823 |
6824 typedef void (*GCCallback)(Isolate* isolate, GCType type, | 6824 typedef void (*GCCallback)(Isolate* isolate, GCType type, |
6825 GCCallbackFlags flags); | 6825 GCCallbackFlags flags); |
6826 | 6826 |
6827 /** | 6827 /** |
6828 * Enables the host application to receive a notification before a | 6828 * Enables the host application to receive a notification before a |
6829 * garbage collection. Allocations are allowed in the callback function, | 6829 * garbage collection. Allocations are allowed in the callback function, |
6830 * but the callback is not re-entrant: if the allocation inside it will | 6830 * but the callback is not re-entrant: if the allocation inside it will |
6831 * trigger the garbage collection, the callback won't be called again. | 6831 * trigger the garbage collection, the callback won't be called again. |
6832 * It is possible to specify the GCType filter for your callback. But it is | 6832 * It is possible to specify the GCType filter for your callback. But it is |
(...skipping 3016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9849 */ | 9849 */ |
9850 | 9850 |
9851 | 9851 |
9852 } // namespace v8 | 9852 } // namespace v8 |
9853 | 9853 |
9854 | 9854 |
9855 #undef TYPE_CHECK | 9855 #undef TYPE_CHECK |
9856 | 9856 |
9857 | 9857 |
9858 #endif // INCLUDE_V8_H_ | 9858 #endif // INCLUDE_V8_H_ |
OLD | NEW |