Index: runtime/vm/thread.cc |
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc |
index 42df5357d8254b55e7cc496071f723072af84082..d3534af507c72cf44fe3800a27c77b6ecaaeb426 100644 |
--- a/runtime/vm/thread.cc |
+++ b/runtime/vm/thread.cc |
@@ -21,6 +21,7 @@ |
#include "vm/thread_interrupter.h" |
#include "vm/thread_registry.h" |
#include "vm/timeline.h" |
+#include "vm/zone.h" |
namespace dart { |
@@ -423,6 +424,19 @@ uword Thread::GetAndClearInterrupts() { |
} |
+bool Thread::ZoneIsOwnedByThread(Zone* zone) const { |
+ ASSERT(zone != NULL); |
+ Zone* current = zone_; |
+ while (current != NULL) { |
+ if (current == zone) { |
+ return true; |
+ } |
+ current = current->previous(); |
+ } |
+ return false; |
+} |
+ |
+ |
void Thread::DeferOOBMessageInterrupts() { |
MonitorLocker ml(thread_lock_); |
defer_oob_messages_count_++; |