Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: include/v8.h

Issue 16153003: de-isolate remaining persistent calls (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/v8.h
diff --git a/include/v8.h b/include/v8.h
index 51040fe1a70f57d992f08d6107e8f0316de42955..30ba24367f0a6b82f858bf98935065a009af441c 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -632,27 +632,43 @@ template <class T> class Persistent // NOLINT
* This handle's reference, and any other references to the storage
* cell remain and IsEmpty will still return false.
*/
- // TODO(dcarney): remove before cutover
- V8_INLINE(void Dispose(Isolate* isolate));
+ // TODO(dcarney): deprecate
+ V8_INLINE(void Dispose(Isolate* isolate)) { Dispose(); }
+ /**
+ * Make the reference to this object weak. When only weak handles
+ * refer to the object, the garbage collector will perform a
+ * callback to the given V8::NearDeathCallback function, passing
+ * it the object reference and the given parameters.
+ */
template<typename S, typename P>
V8_INLINE(void MakeWeak(
- Isolate* isolate,
P* parameters,
typename WeakReferenceCallbacks<S, P>::Revivable callback));
template<typename P>
V8_INLINE(void MakeWeak(
- Isolate* isolate,
P* parameters,
typename WeakReferenceCallbacks<T, P>::Revivable callback));
- /**
- * Make the reference to this object weak. When only weak handles
- * refer to the object, the garbage collector will perform a
- * callback to the given V8::NearDeathCallback function, passing
- * it the object reference and the given parameters.
- */
+ // TODO(dcarney): deprecate
+ template<typename S, typename P>
+ V8_INLINE(void MakeWeak(
+ Isolate* isolate,
+ P* parameters,
+ typename WeakReferenceCallbacks<S, P>::Revivable callback)) {
+ MakeWeak<S, P>(parameters, callback);
+ }
+
+ // TODO(dcarney): deprecate
+ template<typename P>
+ V8_INLINE(void MakeWeak(
+ Isolate* isolate,
+ P* parameters,
+ typename WeakReferenceCallbacks<T, P>::Revivable callback)) {
+ MakeWeak<P>(parameters, callback);
+ }
+
// TODO(dcarney): remove before cutover
V8_INLINE(void MakeWeak(Isolate* isolate,
void* parameters,
@@ -660,10 +676,8 @@ template <class T> class Persistent // NOLINT
V8_INLINE(void ClearWeak());
- // TODO(dcarney): remove before cutover
- V8_INLINE(void ClearWeak(Isolate* isolate));
-
- V8_INLINE(void MarkIndependent());
+ // TODO(dcarney): deprecate
+ V8_INLINE(void ClearWeak(Isolate* isolate)) { ClearWeak(); }
/**
* Marks the reference to this object independent. Garbage collector is free
@@ -671,10 +685,10 @@ template <class T> class Persistent // NOLINT
* independent handle should not assume that it will be preceded by a global
* GC prologue callback or followed by a global GC epilogue callback.
*/
- // TODO(dcarney): remove before cutover
- V8_INLINE(void MarkIndependent(Isolate* isolate));
+ V8_INLINE(void MarkIndependent());
- V8_INLINE(void MarkPartiallyDependent());
+ // TODO(dcarney): deprecate
+ V8_INLINE(void MarkIndependent(Isolate* isolate)) { MarkIndependent(); }
/**
* Marks the reference to this object partially dependent. Partially dependent
@@ -684,43 +698,53 @@ template <class T> class Persistent // NOLINT
* external dependencies. This mark is automatically cleared after each
* garbage collection.
*/
- // TODO(dcarney): remove before cutover
- V8_INLINE(void MarkPartiallyDependent(Isolate* isolate));
+ V8_INLINE(void MarkPartiallyDependent());
- V8_INLINE(bool IsIndependent() const);
+ // TODO(dcarney): deprecate
+ V8_INLINE(void MarkPartiallyDependent(Isolate* isolate)) {
+ MarkPartiallyDependent();
+ }
- // TODO(dcarney): remove before cutover
- V8_INLINE(bool IsIndependent(Isolate* isolate) const);
+ V8_INLINE(bool IsIndependent() const);
- V8_INLINE(bool IsNearDeath() const);
+ // TODO(dcarney): deprecate
+ V8_INLINE(bool IsIndependent(Isolate* isolate) const) {
+ return IsIndependent();
+ }
/** Checks if the handle holds the only reference to an object. */
- // TODO(dcarney): remove before cutover
- V8_INLINE(bool IsNearDeath(Isolate* isolate) const);
+ V8_INLINE(bool IsNearDeath() const);
- V8_INLINE(bool IsWeak() const);
+ // TODO(dcarney): deprecate
+ V8_INLINE(bool IsNearDeath(Isolate* isolate) const) { return IsNearDeath(); }
/** Returns true if the handle's reference is weak. */
- // TODO(dcarney): remove before cutover
- V8_INLINE(bool IsWeak(Isolate* isolate) const);
+ V8_INLINE(bool IsWeak() const);
- V8_INLINE(void SetWrapperClassId(uint16_t class_id));
+ // TODO(dcarney): deprecate
+ V8_INLINE(bool IsWeak(Isolate* isolate) const) { return IsWeak(); }
/**
* Assigns a wrapper class ID to the handle. See RetainedObjectInfo interface
* description in v8-profiler.h for details.
*/
- // TODO(dcarney): remove before cutover
- V8_INLINE(void SetWrapperClassId(Isolate* isolate, uint16_t class_id));
+ V8_INLINE(void SetWrapperClassId(uint16_t class_id));
- V8_INLINE(uint16_t WrapperClassId() const);
+ // TODO(dcarney): deprecate
+ V8_INLINE(void SetWrapperClassId(Isolate* isolate, uint16_t class_id)) {
+ SetWrapperClassId(class_id);
+ }
/**
* Returns the class ID previously assigned to this handle or 0 if no class ID
* was previously assigned.
*/
- // TODO(dcarney): remove before cutover
- V8_INLINE(uint16_t WrapperClassId(Isolate* isolate) const);
+ V8_INLINE(uint16_t WrapperClassId() const);
+
+ // TODO(dcarney): deprecate
+ V8_INLINE(uint16_t WrapperClassId(Isolate* isolate) const) {
+ return WrapperClassId();
+ }
/**
* Disposes the current contents of the handle and replaces it.
@@ -4600,13 +4624,11 @@ class V8EXPORT V8 {
internal::Object** handle);
static void DisposeGlobal(internal::Object** global_handle);
typedef WeakReferenceCallbacks<Value, void>::Revivable RevivableCallback;
- static void MakeWeak(internal::Isolate* isolate,
- internal::Object** global_handle,
+ static void MakeWeak(internal::Object** global_handle,
void* data,
RevivableCallback weak_reference_callback,
NearDeathCallback near_death_callback);
- static void ClearWeak(internal::Isolate* isolate,
- internal::Object** global_handle);
+ static void ClearWeak(internal::Object** global_handle);
template <class T> friend class Handle;
template <class T> friend class Local;
@@ -5495,15 +5517,8 @@ Persistent<T> Persistent<T>::New(Isolate* isolate, T* that) {
template <class T>
bool Persistent<T>::IsIndependent() const {
- return IsIndependent(Isolate::GetCurrent());
-}
-
-
-template <class T>
-bool Persistent<T>::IsIndependent(Isolate* isolate) const {
typedef internal::Internals I;
if (this->IsEmpty()) return false;
- if (!I::IsInitialized(isolate)) return false;
return I::GetNodeFlag(reinterpret_cast<internal::Object**>(this->val_),
I::kNodeIsIndependentShift);
}
@@ -5511,15 +5526,8 @@ bool Persistent<T>::IsIndependent(Isolate* isolate) const {
template <class T>
bool Persistent<T>::IsNearDeath() const {
- return IsNearDeath(Isolate::GetCurrent());
-}
-
-
-template <class T>
-bool Persistent<T>::IsNearDeath(Isolate* isolate) const {
typedef internal::Internals I;
if (this->IsEmpty()) return false;
- if (!I::IsInitialized(isolate)) return false;
return I::GetNodeState(reinterpret_cast<internal::Object**>(this->val_)) ==
I::kNodeStateIsNearDeathValue;
}
@@ -5527,15 +5535,8 @@ bool Persistent<T>::IsNearDeath(Isolate* isolate) const {
template <class T>
bool Persistent<T>::IsWeak() const {
- return IsWeak(Isolate::GetCurrent());
-}
-
-
-template <class T>
-bool Persistent<T>::IsWeak(Isolate* isolate) const {
typedef internal::Internals I;
if (this->IsEmpty()) return false;
- if (!I::IsInitialized(isolate)) return false;
return I::GetNodeState(reinterpret_cast<internal::Object**>(this->val_)) ==
I::kNodeStateIsWeakValue;
}
@@ -5552,21 +5553,13 @@ void Persistent<T>::Dispose() {
template <class T>
-void Persistent<T>::Dispose(Isolate* isolate) {
- Dispose();
-}
-
-
-template <class T>
template <typename S, typename P>
void Persistent<T>::MakeWeak(
- Isolate* isolate,
P* parameters,
typename WeakReferenceCallbacks<S, P>::Revivable callback) {
TYPE_CHECK(S, T);
typedef typename WeakReferenceCallbacks<Value, void>::Revivable Revivable;
- V8::MakeWeak(reinterpret_cast<internal::Isolate*>(isolate),
- reinterpret_cast<internal::Object**>(this->val_),
+ V8::MakeWeak(reinterpret_cast<internal::Object**>(this->val_),
parameters,
reinterpret_cast<Revivable>(callback),
NULL);
@@ -5576,10 +5569,9 @@ void Persistent<T>::MakeWeak(
template <class T>
template <typename P>
void Persistent<T>::MakeWeak(
- Isolate* isolate,
P* parameters,
typename WeakReferenceCallbacks<T, P>::Revivable callback) {
- MakeWeak<T, P>(isolate, parameters, callback);
+ MakeWeak<T, P>(parameters, callback);
}
@@ -5587,59 +5579,38 @@ template <class T>
void Persistent<T>::MakeWeak(Isolate* isolate,
void* parameters,
NearDeathCallback callback) {
- V8::MakeWeak(reinterpret_cast<internal::Isolate*>(isolate),
- reinterpret_cast<internal::Object**>(this->val_),
+ V8::MakeWeak(reinterpret_cast<internal::Object**>(this->val_),
parameters,
NULL,
callback);
}
+
template <class T>
void Persistent<T>::ClearWeak() {
- ClearWeak(Isolate::GetCurrent());
+ V8::ClearWeak(reinterpret_cast<internal::Object**>(this->val_));
}
-template <class T>
-void Persistent<T>::ClearWeak(Isolate* isolate) {
- V8::ClearWeak(reinterpret_cast<internal::Isolate*>(isolate),
- reinterpret_cast<internal::Object**>(this->val_));
-}
template <class T>
void Persistent<T>::MarkIndependent() {
- MarkIndependent(Isolate::GetCurrent());
-}
-
-template <class T>
-void Persistent<T>::MarkIndependent(Isolate* isolate) {
typedef internal::Internals I;
if (this->IsEmpty()) return;
- if (!I::IsInitialized(isolate)) return;
I::UpdateNodeFlag(reinterpret_cast<internal::Object**>(this->val_),
true,
I::kNodeIsIndependentShift);
}
-template <class T>
-void Persistent<T>::MarkPartiallyDependent() {
- MarkPartiallyDependent(Isolate::GetCurrent());
-}
template <class T>
-void Persistent<T>::MarkPartiallyDependent(Isolate* isolate) {
+void Persistent<T>::MarkPartiallyDependent() {
typedef internal::Internals I;
if (this->IsEmpty()) return;
- if (!I::IsInitialized(isolate)) return;
I::UpdateNodeFlag(reinterpret_cast<internal::Object**>(this->val_),
true,
I::kNodeIsPartiallyDependentShift);
}
-template <class T>
-void Persistent<T>::SetWrapperClassId(uint16_t class_id) {
- SetWrapperClassId(Isolate::GetCurrent(), class_id);
-}
-
template <class T>
void Persistent<T>::Reset(Isolate* isolate, const Handle<T>& other) {
@@ -5673,25 +5644,19 @@ T* Persistent<T>::ClearAndLeak() {
template <class T>
-void Persistent<T>::SetWrapperClassId(Isolate* isolate, uint16_t class_id) {
+void Persistent<T>::SetWrapperClassId(uint16_t class_id) {
typedef internal::Internals I;
if (this->IsEmpty()) return;
- if (!I::IsInitialized(isolate)) return;
internal::Object** obj = reinterpret_cast<internal::Object**>(this->val_);
uint8_t* addr = reinterpret_cast<uint8_t*>(obj) + I::kNodeClassIdOffset;
*reinterpret_cast<uint16_t*>(addr) = class_id;
}
-template <class T>
-uint16_t Persistent<T>::WrapperClassId() const {
- return WrapperClassId(Isolate::GetCurrent());
-}
template <class T>
-uint16_t Persistent<T>::WrapperClassId(Isolate* isolate) const {
+uint16_t Persistent<T>::WrapperClassId() const {
typedef internal::Internals I;
if (this->IsEmpty()) return 0;
- if (!I::IsInitialized(isolate)) return 0;
internal::Object** obj = reinterpret_cast<internal::Object**>(this->val_);
uint8_t* addr = reinterpret_cast<uint8_t*>(obj) + I::kNodeClassIdOffset;
return *reinterpret_cast<uint16_t*>(addr);
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698