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

Unified Diff: runtime/vm/reusable_handles.h

Issue 1394673002: Move reusable handles from isolate to thread. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fix release build Created 5 years, 2 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
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_
« no previous file with comments | « runtime/vm/profiler.cc ('k') | runtime/vm/scavenger.cc » ('j') | runtime/vm/thread.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698