Index: include/v8.h |
diff --git a/include/v8.h b/include/v8.h |
index fe7198e3cbf59b35e8c251407ed3eba57ebcf0b9..28bea2e3e4435b39a4b50a140513560b80b3fd85 100644 |
--- a/include/v8.h |
+++ b/include/v8.h |
@@ -413,6 +413,7 @@ template <class T> class Persistent : public Handle<T> { |
* or followed by a global GC epilogue callback. |
*/ |
inline void MarkIndependent(); |
+ inline void MarkIndependent(Isolate* isolate); |
/** |
* Marks the reference to this object partially dependent. Partially |
@@ -423,6 +424,7 @@ template <class T> class Persistent : public Handle<T> { |
* after each garbage collection. |
*/ |
inline void MarkPartiallyDependent(); |
+ inline void MarkPartiallyDependent(Isolate* isolate); |
/** Returns true if this handle was previously marked as independent. */ |
inline bool IsIndependent() const; |
@@ -3533,7 +3535,11 @@ class V8EXPORT V8 { |
WeakReferenceCallback); |
static void ClearWeak(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::Isolate* isolate, |
internal::Object** global_handle); |
@@ -4336,11 +4342,23 @@ void Persistent<T>::MarkIndependent() { |
} |
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) { |
V8::SetWrapperClassId(reinterpret_cast<internal::Object**>(**this), class_id); |
} |