Index: src/handles.h |
diff --git a/src/handles.h b/src/handles.h |
index 356df3aa1ff845da35bba3abdffce5e4530db7bc..85fa839f3f3981758ac28b8f7d934e210d2a75ba 100644 |
--- a/src/handles.h |
+++ b/src/handles.h |
@@ -10,7 +10,6 @@ |
#include "src/base/macros.h" |
#include "src/checks.h" |
#include "src/globals.h" |
-#include "src/zone.h" |
namespace v8 { |
namespace internal { |
@@ -93,9 +92,6 @@ |
V8_INLINE explicit Handle(T* object) : Handle(object, object->GetIsolate()) {} |
V8_INLINE Handle(T* object, Isolate* isolate) : HandleBase(object, isolate) {} |
- // Allocate a new handle for the object, do not canonicalize. |
- V8_INLINE static Handle<T> New(T* object, Isolate* isolate); |
- |
// Constructor for handling automatic up casting. |
// Ex. Handle<JSFunction> can be passed when Handle<Object> is expected. |
template <typename S> |
@@ -258,11 +254,9 @@ |
// Counts the number of allocated handles. |
static int NumberOfHandles(Isolate* isolate); |
- // Create a new handle or lookup a canonical handle. |
- static inline Object** GetHandle(Isolate* isolate, Object* value); |
- |
// Creates a new handle with the given value. |
- static inline Object** CreateHandle(Isolate* isolate, Object* value); |
+ template <typename T> |
+ static inline T** CreateHandle(Isolate* isolate, T* value); |
// Deallocates any extensions used by the current scope. |
static void DeleteExtensions(Isolate* isolate); |
@@ -311,41 +305,8 @@ |
friend class v8::HandleScope; |
friend class DeferredHandles; |
- friend class DeferredHandleScope; |
friend class HandleScopeImplementer; |
friend class Isolate; |
-}; |
- |
- |
-// Forward declarations for CanonicalHandleScope. |
-template <typename V> |
-class IdentityMap; |
-class RootIndexMap; |
- |
- |
-// A CanonicalHandleScope does not open a new HandleScope. It changes the |
-// existing HandleScope so that Handles created within are canonicalized. |
-// This does not apply to nested inner HandleScopes unless a nested |
-// CanonicalHandleScope is introduced. Handles are only canonicalized within |
-// the same CanonicalHandleScope, but not across nested ones. |
-class CanonicalHandleScope final { |
- public: |
- explicit CanonicalHandleScope(Isolate* isolate); |
- ~CanonicalHandleScope(); |
- |
- private: |
- Object** Lookup(Object* object); |
- |
- Isolate* isolate_; |
- Zone zone_; |
- RootIndexMap* root_index_map_; |
- IdentityMap<Object**>* identity_map_; |
- // Ordinary nested handle scopes within the current one are not canonical. |
- int canonical_level_; |
- // We may have nested canonical scopes. Handles are canonical within each one. |
- CanonicalHandleScope* prev_canonical_scope_; |
- |
- friend class HandleScope; |
}; |
@@ -384,8 +345,8 @@ |
inline ~SealHandleScope(); |
private: |
Isolate* isolate_; |
- Object** prev_limit_; |
- int prev_sealed_level_; |
+ Object** limit_; |
+ int level_; |
#endif |
}; |
@@ -394,13 +355,10 @@ |
Object** next; |
Object** limit; |
int level; |
- int sealed_level; |
- CanonicalHandleScope* canonical_scope; |
void Initialize() { |
next = limit = NULL; |
- sealed_level = level = 0; |
- canonical_scope = NULL; |
+ level = 0; |
} |
}; |