v8.h | v8.h | |||
---|---|---|---|---|
skipping to change at line 400 | skipping to change at line 400 | |||
inline void ClearWeak(); | inline void ClearWeak(); | |||
/** | /** | |||
* Marks the reference to this object independent. Garbage collector | * Marks the reference to this object independent. Garbage collector | |||
* is free to ignore any object groups containing this object. | * is free to ignore any object groups containing this object. | |||
* Weak callback for an independent handle should not | * Weak callback for an independent handle should not | |||
* assume that it will be preceded by a global GC prologue callback | * assume that it will be preceded by a global GC prologue callback | |||
* or followed by a global GC epilogue callback. | * or followed by a global GC epilogue callback. | |||
*/ | */ | |||
inline void MarkIndependent(); | inline void MarkIndependent(); | |||
inline void MarkIndependent(Isolate* isolate); | ||||
/** | ||||
* Marks the reference to this object partially dependent. Partially | ||||
* dependent handles only depend on other partially dependent handles and | ||||
* these dependencies are provided through object groups. It provides a w | ||||
ay | ||||
* to build smaller object groups for young objects that represent only a | ||||
* subset of all external dependencies. This mark is automatically cleare | ||||
d | ||||
* after each garbage collection. | ||||
*/ | ||||
inline void MarkPartiallyDependent(); | ||||
inline void MarkPartiallyDependent(Isolate* isolate); | ||||
/** Returns true if this handle was previously marked as independent. */ | /** Returns true if this handle was previously marked as independent. */ | |||
inline bool IsIndependent() const; | inline bool IsIndependent() const; | |||
inline bool IsIndependent(Isolate* isolate) const; | inline bool IsIndependent(Isolate* isolate) const; | |||
/** Checks if the handle holds the only reference to an object. */ | /** Checks if the handle holds the only reference to an object. */ | |||
inline bool IsNearDeath() const; | inline bool IsNearDeath() const; | |||
/** Returns true if the handle's reference is weak. */ | /** Returns true if the handle's reference is weak. */ | |||
inline bool IsWeak() const; | inline bool IsWeak() const; | |||
skipping to change at line 3181 | skipping to change at line 3193 | |||
* Removes callback that was installed by AddCallCompletedCallback. | * Removes callback that was installed by AddCallCompletedCallback. | |||
*/ | */ | |||
static void RemoveCallCompletedCallback(CallCompletedCallback callback); | static void RemoveCallCompletedCallback(CallCompletedCallback callback); | |||
/** | /** | |||
* Allows the host application to group objects together. If one | * Allows the host application to group objects together. If one | |||
* object in the group is alive, all objects in the group are alive. | * object in the group is alive, all objects in the group are alive. | |||
* After each garbage collection, object groups are removed. It is | * After each garbage collection, object groups are removed. It is | |||
* intended to be used in the before-garbage-collection callback | * intended to be used in the before-garbage-collection callback | |||
* function, for instance to simulate DOM tree connections among JS | * function, for instance to simulate DOM tree connections among JS | |||
* wrapper objects. | * wrapper objects. Object groups for all dependent handles need to | |||
* be provided for kGCTypeMarkSweepCompact collections, for all other | ||||
* garbage collection types it is sufficient to provide object groups | ||||
* for partially dependent handles only. | ||||
* See v8-profiler.h for RetainedObjectInfo interface description. | * See v8-profiler.h for RetainedObjectInfo interface description. | |||
*/ | */ | |||
static void AddObjectGroup(Persistent<Value>* objects, | static void AddObjectGroup(Persistent<Value>* objects, | |||
size_t length, | size_t length, | |||
RetainedObjectInfo* info = NULL); | RetainedObjectInfo* info = NULL); | |||
/** | /** | |||
* Allows the host application to declare implicit references between | * Allows the host application to declare implicit references between | |||
* the objects: if |parent| is alive, all |children| are alive too. | * the objects: if |parent| is alive, all |children| are alive too. | |||
* After each garbage collection, all implicit references | * After each garbage collection, all implicit references | |||
skipping to change at line 3422 | skipping to change at line 3437 | |||
static internal::Object** GlobalizeReference(internal::Object** handle); | static internal::Object** GlobalizeReference(internal::Object** handle); | |||
static void DisposeGlobal(internal::Object** global_handle); | static void DisposeGlobal(internal::Object** global_handle); | |||
static void DisposeGlobal(internal::Isolate* isolate, | static void DisposeGlobal(internal::Isolate* isolate, | |||
internal::Object** global_handle); | internal::Object** global_handle); | |||
static void MakeWeak(internal::Object** global_handle, | static void MakeWeak(internal::Object** global_handle, | |||
void* data, | void* data, | |||
WeakReferenceCallback); | WeakReferenceCallback); | |||
static void ClearWeak(internal::Object** global_handle); | static void ClearWeak(internal::Object** global_handle); | |||
static void MarkIndependent(internal::Object** global_handle); | static void MarkIndependent(internal::Object** global_handle); | |||
static void MarkIndependent(internal::Isolate* isolate, | ||||
internal::Object** global_handle); | ||||
static void MarkPartiallyDependent(internal::Object** global_handle); | ||||
static void MarkPartiallyDependent(internal::Isolate* isolate, | ||||
internal::Object** global_handle); | ||||
static bool IsGlobalIndependent(internal::Object** global_handle); | static bool IsGlobalIndependent(internal::Object** global_handle); | |||
static bool IsGlobalIndependent(internal::Isolate* isolate, | static bool IsGlobalIndependent(internal::Isolate* isolate, | |||
internal::Object** global_handle); | internal::Object** global_handle); | |||
static bool IsGlobalNearDeath(internal::Object** global_handle); | static bool IsGlobalNearDeath(internal::Object** global_handle); | |||
static bool IsGlobalWeak(internal::Object** global_handle); | static bool IsGlobalWeak(internal::Object** global_handle); | |||
static void SetWrapperClassId(internal::Object** global_handle, | static void SetWrapperClassId(internal::Object** global_handle, | |||
uint16_t class_id); | uint16_t class_id); | |||
static uint16_t GetWrapperClassId(internal::Object** global_handle); | static uint16_t GetWrapperClassId(internal::Object** global_handle); | |||
template <class T> friend class Handle; | template <class T> friend class Handle; | |||
skipping to change at line 4016 | skipping to change at line 4036 | |||
static const int kExternalTwoByteRepresentationTag = 0x02; | static const int kExternalTwoByteRepresentationTag = 0x02; | |||
static const int kExternalAsciiRepresentationTag = 0x06; | static const int kExternalAsciiRepresentationTag = 0x06; | |||
static const int kIsolateStateOffset = 0; | static const int kIsolateStateOffset = 0; | |||
static const int kIsolateEmbedderDataOffset = 1 * kApiPointerSize; | static const int kIsolateEmbedderDataOffset = 1 * kApiPointerSize; | |||
static const int kIsolateRootsOffset = 3 * kApiPointerSize; | static const int kIsolateRootsOffset = 3 * kApiPointerSize; | |||
static const int kUndefinedValueRootIndex = 5; | static const int kUndefinedValueRootIndex = 5; | |||
static const int kNullValueRootIndex = 7; | static const int kNullValueRootIndex = 7; | |||
static const int kTrueValueRootIndex = 8; | static const int kTrueValueRootIndex = 8; | |||
static const int kFalseValueRootIndex = 9; | static const int kFalseValueRootIndex = 9; | |||
static const int kEmptySymbolRootIndex = 117; | static const int kEmptySymbolRootIndex = 118; | |||
static const int kJSObjectType = 0xaa; | static const int kJSObjectType = 0xaa; | |||
static const int kFirstNonstringType = 0x80; | static const int kFirstNonstringType = 0x80; | |||
static const int kOddballType = 0x82; | static const int kOddballType = 0x82; | |||
static const int kForeignType = 0x85; | static const int kForeignType = 0x85; | |||
static const int kUndefinedOddballKind = 5; | static const int kUndefinedOddballKind = 5; | |||
static const int kNullOddballKind = 3; | static const int kNullOddballKind = 3; | |||
static inline bool HasHeapObjectTag(internal::Object* value) { | static inline bool HasHeapObjectTag(internal::Object* value) { | |||
skipping to change at line 4190 | skipping to change at line 4210 | |||
void Persistent<T>::ClearWeak() { | void Persistent<T>::ClearWeak() { | |||
V8::ClearWeak(reinterpret_cast<internal::Object**>(**this)); | V8::ClearWeak(reinterpret_cast<internal::Object**>(**this)); | |||
} | } | |||
template <class T> | template <class T> | |||
void Persistent<T>::MarkIndependent() { | void Persistent<T>::MarkIndependent() { | |||
V8::MarkIndependent(reinterpret_cast<internal::Object**>(**this)); | V8::MarkIndependent(reinterpret_cast<internal::Object**>(**this)); | |||
} | } | |||
template <class T> | template <class T> | |||
void Persistent<T>::MarkIndependent(Isolate* isolate) { | ||||
V8::MarkIndependent(reinterpret_cast<internal::Isolate*>(isolate), | ||||
reinterpret_cast<internal::Object**>(**this)); | ||||
} | ||||
template <class T> | ||||
void Persistent<T>::MarkPartiallyDependent() { | ||||
V8::MarkPartiallyDependent(reinterpret_cast<internal::Object**>(**this)); | ||||
} | ||||
template <class T> | ||||
void Persistent<T>::MarkPartiallyDependent(Isolate* isolate) { | ||||
V8::MarkPartiallyDependent(reinterpret_cast<internal::Isolate*>(isolate), | ||||
reinterpret_cast<internal::Object**>(**this)); | ||||
} | ||||
template <class T> | ||||
void Persistent<T>::SetWrapperClassId(uint16_t class_id) { | void Persistent<T>::SetWrapperClassId(uint16_t class_id) { | |||
V8::SetWrapperClassId(reinterpret_cast<internal::Object**>(**this), class _id); | V8::SetWrapperClassId(reinterpret_cast<internal::Object**>(**this), class _id); | |||
} | } | |||
template <class T> | template <class T> | |||
uint16_t Persistent<T>::WrapperClassId() const { | uint16_t Persistent<T>::WrapperClassId() const { | |||
return V8::GetWrapperClassId(reinterpret_cast<internal::Object**>(**this) ); | return V8::GetWrapperClassId(reinterpret_cast<internal::Object**>(**this) ); | |||
} | } | |||
Arguments::Arguments(internal::Object** implicit_args, | Arguments::Arguments(internal::Object** implicit_args, | |||
End of changes. 5 change blocks. | ||||
2 lines changed or deleted | 41 lines changed or added | |||