| Index: src/handles.h
|
| diff --git a/src/handles.h b/src/handles.h
|
| index 10fcaf86f9b48ad0cf3f50c71f1304604ca0a6b4..b0b271c5c634c14b8911d66f508a35f6e4fb94a6 100644
|
| --- a/src/handles.h
|
| +++ b/src/handles.h
|
| @@ -124,18 +124,18 @@ class HandleScope {
|
| inline ~HandleScope();
|
|
|
| // Counts the number of allocated handles.
|
| - static int NumberOfHandles();
|
| + static int NumberOfHandles(Isolate* isolate);
|
|
|
| // Creates a new handle with the given value.
|
| template <typename T>
|
| - static inline T** CreateHandle(T* value, Isolate* isolate);
|
| + static inline T** CreateHandle(Isolate* isolate, T* value);
|
|
|
| // Deallocates any extensions used by the current scope.
|
| static void DeleteExtensions(Isolate* isolate);
|
|
|
| - static Address current_next_address();
|
| - static Address current_limit_address();
|
| - static Address current_level_address();
|
| + static Address current_next_address(Isolate* isolate);
|
| + static Address current_limit_address(Isolate* isolate);
|
| + static Address current_level_address(Isolate* isolate);
|
|
|
| // Closes the HandleScope (invalidating all handles
|
| // created in the scope of the HandleScope) and returns
|
| @@ -160,7 +160,7 @@ class HandleScope {
|
| Object** prev_limit_;
|
|
|
| // Extend the handle scope making room for more handles.
|
| - static internal::Object** Extend();
|
| + static internal::Object** Extend(Isolate* isolate);
|
|
|
| // Zaps the handles in the half-open interval [start, end).
|
| static void ZapRange(internal::Object** start, internal::Object** end);
|
| @@ -230,7 +230,8 @@ Handle<Object> ForceDeleteProperty(Handle<JSObject> object,
|
| Handle<Object> GetProperty(Handle<JSReceiver> obj,
|
| const char* name);
|
|
|
| -Handle<Object> GetProperty(Handle<Object> obj,
|
| +Handle<Object> GetProperty(Isolate* isolate,
|
| + Handle<Object> obj,
|
| Handle<Object> key);
|
|
|
| Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver,
|
| @@ -240,7 +241,8 @@ Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver,
|
|
|
| Handle<Object> SetPrototype(Handle<JSObject> obj, Handle<Object> value);
|
|
|
| -Handle<Object> LookupSingleCharacterStringFromCode(uint32_t index);
|
| +Handle<Object> LookupSingleCharacterStringFromCode(Isolate* isolate,
|
| + uint32_t index);
|
|
|
| Handle<JSObject> Copy(Handle<JSObject> obj);
|
|
|
| @@ -326,12 +328,13 @@ Handle<ObjectHashTable> PutIntoObjectHashTable(Handle<ObjectHashTable> table,
|
| class NoHandleAllocation BASE_EMBEDDED {
|
| public:
|
| #ifndef DEBUG
|
| - NoHandleAllocation() {}
|
| + explicit NoHandleAllocation(Isolate* isolate) {}
|
| ~NoHandleAllocation() {}
|
| #else
|
| - inline NoHandleAllocation();
|
| + explicit inline NoHandleAllocation(Isolate* isolate);
|
| inline ~NoHandleAllocation();
|
| private:
|
| + Isolate* isolate_;
|
| int level_;
|
| bool active_;
|
| #endif
|
| @@ -341,12 +344,13 @@ class NoHandleAllocation BASE_EMBEDDED {
|
| class NoHandleDereference BASE_EMBEDDED {
|
| public:
|
| #ifndef DEBUG
|
| - NoHandleDereference() {}
|
| + explicit NoHandleDereference(Isolate* isolate) {}
|
| ~NoHandleDereference() {}
|
| #else
|
| - inline NoHandleDereference();
|
| + explicit inline NoHandleDereference(Isolate* isolate);
|
| inline ~NoHandleDereference();
|
| private:
|
| + Isolate* isolate_;
|
| bool old_state_;
|
| #endif
|
| };
|
| @@ -355,12 +359,13 @@ class NoHandleDereference BASE_EMBEDDED {
|
| class AllowHandleDereference BASE_EMBEDDED {
|
| public:
|
| #ifndef DEBUG
|
| - AllowHandleDereference() {}
|
| + explicit AllowHandleDereference(Isolate* isolate) {}
|
| ~AllowHandleDereference() {}
|
| #else
|
| - inline AllowHandleDereference();
|
| + explicit inline AllowHandleDereference(Isolate* isolate);
|
| inline ~AllowHandleDereference();
|
| private:
|
| + Isolate* isolate_;
|
| bool old_state_;
|
| #endif
|
| };
|
|
|