Index: runtime/vm/isolate.h |
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h |
index 6f8c417f16198b2e65f069ab529475e816065422..dbf4b51a979901eb3da21a512ad089d5d31dcb2f 100644 |
--- a/runtime/vm/isolate.h |
+++ b/runtime/vm/isolate.h |
@@ -669,6 +669,9 @@ class Isolate : public BaseIsolate { |
Counters* counters() { return &counters_; } |
+ // Handle service messages until we are told to resume execution. |
+ void PauseEventHandler(); |
+ |
private: |
Isolate(); |
explicit Isolate(Isolate* original); |
@@ -774,6 +777,9 @@ class Isolate : public BaseIsolate { |
// Isolate list next pointer. |
Isolate* next_; |
+ // Used to wake the isolate when it is in the pause event loop. |
+ Monitor* pause_loop_monitor_; |
+ |
// Reusable handles support. |
#define REUSABLE_HANDLE_FIELDS(object) \ |
object* object##_handle_; |
@@ -805,6 +811,8 @@ class Isolate : public BaseIsolate { |
static Dart_EntropySource entropy_source_callback_; |
static Dart_IsolateInterruptCallback vmstats_callback_; |
+ static void WakePauseEventHandler(Dart_Isolate isolate); |
+ |
// Manage list of existing isolates. |
static void AddIsolateTolist(Isolate* isolate); |
static void RemoveIsolateFromList(Isolate* isolate); |