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

Unified Diff: include/v8.h

Issue 980173003: reland rename UniquePersistent to Global (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 10 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 | test/cctest/test-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 9d60fc6ce8f2a76d13271923c7f865c6b4e075b3..c23fd0b8d0143fb9512cf5a191e03ddde953f912 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -115,7 +115,8 @@ template<class T> class NonCopyablePersistentTraits;
template<class T> class PersistentBase;
template<class T,
class M = NonCopyablePersistentTraits<T> > class Persistent;
-template<class T> class UniquePersistent;
+template <class T>
+class Global;
template<class K, class V, class T> class PersistentValueMap;
template <class K, class V, class T>
class PersistentValueMapBase;
@@ -656,7 +657,8 @@ template <class T> class PersistentBase {
template<class F> friend class Handle;
template<class F> friend class Local;
template<class F1, class F2> friend class Persistent;
- template<class F> friend class UniquePersistent;
+ template <class F>
+ friend class Global;
template<class F> friend class PersistentBase;
template<class F> friend class ReturnValue;
template <class F1, class F2, class F3>
@@ -812,46 +814,45 @@ template <class T, class M> class Persistent : public PersistentBase<T> {
*
* Note: Persistent class hierarchy is subject to future changes.
*/
-template<class T>
-class UniquePersistent : public PersistentBase<T> {
+template <class T>
+class Global : public PersistentBase<T> {
public:
/**
- * A UniquePersistent with no storage cell.
+ * A Global with no storage cell.
*/
- V8_INLINE UniquePersistent() : PersistentBase<T>(nullptr) {}
+ V8_INLINE Global() : PersistentBase<T>(nullptr) {}
/**
- * Construct a UniquePersistent from a Handle.
+ * Construct a Global from a Handle.
* When the Handle is non-empty, a new storage cell is created
* pointing to the same object, and no flags are set.
*/
template <class S>
- V8_INLINE UniquePersistent(Isolate* isolate, Handle<S> that)
+ V8_INLINE Global(Isolate* isolate, Handle<S> that)
: PersistentBase<T>(PersistentBase<T>::New(isolate, *that)) {
TYPE_CHECK(T, S);
}
/**
- * Construct a UniquePersistent from a PersistentBase.
+ * Construct a Global from a PersistentBase.
* When the Persistent is non-empty, a new storage cell is created
* pointing to the same object, and no flags are set.
*/
template <class S>
- V8_INLINE UniquePersistent(Isolate* isolate, const PersistentBase<S>& that)
- : PersistentBase<T>(PersistentBase<T>::New(isolate, that.val_)) {
+ V8_INLINE Global(Isolate* isolate, const PersistentBase<S>& that)
+ : PersistentBase<T>(PersistentBase<T>::New(isolate, that.val_)) {
TYPE_CHECK(T, S);
}
/**
* Move constructor.
*/
- V8_INLINE UniquePersistent(UniquePersistent&& other)
- : PersistentBase<T>(other.val_) {
+ V8_INLINE Global(Global&& other) : PersistentBase<T>(other.val_) {
other.val_ = nullptr;
}
- V8_INLINE ~UniquePersistent() { this->Reset(); }
+ V8_INLINE ~Global() { this->Reset(); }
/**
* Move via assignment.
*/
template <class S>
- V8_INLINE UniquePersistent& operator=(UniquePersistent<S>&& rhs) {
+ V8_INLINE Global& operator=(Global<S>&& rhs) {
TYPE_CHECK(T, S);
if (this != &rhs) {
this->Reset();
@@ -863,14 +864,19 @@ class UniquePersistent : public PersistentBase<T> {
/**
* Pass allows returning uniques from functions, etc.
*/
- UniquePersistent Pass() { return static_cast<UniquePersistent&&>(*this); }
+ Global Pass() { return static_cast<Global&&>(*this); }
private:
- UniquePersistent(UniquePersistent&) = delete;
- void operator=(UniquePersistent&) = delete;
+ Global(Global&) = delete;
+ void operator=(Global&) = delete;
};
+// UniquePersistent is an alias for Global for historical reason.
+template <class T>
+using UniquePersistent = Global<T>;
+
+
/**
* A stack-allocated class that governs a number of local handles.
* After a handle scope has been created, all local handles will be
« no previous file with comments | « no previous file | test/cctest/test-api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698