| Index: runtime/vm/reusable_handles.h
|
| diff --git a/runtime/vm/reusable_handles.h b/runtime/vm/reusable_handles.h
|
| index c1b530103f8f4e53c27a4b8a6ba7aad85160a7d3..089d1560d1b928c138309ed18a88272575938c66 100644
|
| --- a/runtime/vm/reusable_handles.h
|
| +++ b/runtime/vm/reusable_handles.h
|
| @@ -30,41 +30,42 @@ namespace dart {
|
| // }
|
| //
|
|
|
| +
|
| #if defined(DEBUG)
|
| #define REUSABLE_SCOPE(name) \
|
| class Reusable##name##HandleScope : public ValueObject { \
|
| - public: \
|
| - explicit Reusable##name##HandleScope(Isolate* isolate) \
|
| - : isolate_(isolate) { \
|
| - ASSERT(!isolate->reusable_##name##_handle_scope_active()); \
|
| - isolate->set_reusable_##name##_handle_scope_active(true); \
|
| + public: \
|
| + explicit Reusable##name##HandleScope(Thread* thread) \
|
| + : thread_(thread) { \
|
| + ASSERT(!thread->reusable_##name##_handle_scope_active()); \
|
| + thread->set_reusable_##name##_handle_scope_active(true); \
|
| } \
|
| - Reusable##name##HandleScope() : isolate_(Isolate::Current()) { \
|
| - ASSERT(!isolate_->reusable_##name##_handle_scope_active()); \
|
| - isolate_->set_reusable_##name##_handle_scope_active(true); \
|
| + Reusable##name##HandleScope() : thread_(Thread::Current()) { \
|
| + ASSERT(!thread_->reusable_##name##_handle_scope_active()); \
|
| + thread_->set_reusable_##name##_handle_scope_active(true); \
|
| } \
|
| ~Reusable##name##HandleScope() { \
|
| - ASSERT(isolate_->reusable_##name##_handle_scope_active()); \
|
| - isolate_->set_reusable_##name##_handle_scope_active(false); \
|
| + ASSERT(thread_->reusable_##name##_handle_scope_active()); \
|
| + thread_->set_reusable_##name##_handle_scope_active(false); \
|
| Handle().raw_ = name::null(); \
|
| } \
|
| name& Handle() const { \
|
| - ASSERT(isolate_->name##_handle_ != NULL); \
|
| - return *isolate_->name##_handle_; \
|
| + ASSERT(thread_->name##_handle_ != NULL); \
|
| + return *thread_->name##_handle_; \
|
| } \
|
| - private: \
|
| - Isolate* isolate_; \
|
| + private: \
|
| + Thread* thread_; \
|
| DISALLOW_COPY_AND_ASSIGN(Reusable##name##HandleScope); \
|
| };
|
| #else
|
| #define REUSABLE_SCOPE(name) \
|
| class Reusable##name##HandleScope : public ValueObject { \
|
| - public: \
|
| - explicit Reusable##name##HandleScope(Isolate* isolate) \
|
| - : handle_(isolate->name##_handle_) { \
|
| + public: \
|
| + explicit Reusable##name##HandleScope(Thread* thread) \
|
| + : handle_(thread->name##_handle_) { \
|
| } \
|
| Reusable##name##HandleScope() \
|
| - : handle_(Isolate::Current()->name##_handle_) { \
|
| + : handle_(Thread::Current()->name##_handle_) { \
|
| } \
|
| ~Reusable##name##HandleScope() { \
|
| handle_->raw_ = name::null(); \
|
| @@ -73,7 +74,7 @@ namespace dart {
|
| ASSERT(handle_ != NULL); \
|
| return *handle_; \
|
| } \
|
| - private: \
|
| + private: \
|
| name* handle_; \
|
| DISALLOW_COPY_AND_ASSIGN(Reusable##name##HandleScope); \
|
| };
|
| @@ -116,7 +117,6 @@ REUSABLE_HANDLE_LIST(REUSABLE_SCOPE)
|
| #define REUSABLE_TYPE_PARAMETER_HANDLESCOPE(isolate) \
|
| ReusableTypeParameterHandleScope reused_type_parameter(isolate);
|
|
|
| -
|
| } // namespace dart
|
|
|
| #endif // VM_REUSABLE_HANDLES_H_
|
|
|