Index: runtime/vm/thread_interrupter_win.cc |
diff --git a/runtime/vm/thread_interrupter_win.cc b/runtime/vm/thread_interrupter_win.cc |
index 4231d1e9d21d88b22997cc45813b4b39b7cb8046..70a5e8c93f877bc049eef271a4c32bae48bdf558 100644 |
--- a/runtime/vm/thread_interrupter_win.cc |
+++ b/runtime/vm/thread_interrupter_win.cc |
@@ -7,7 +7,6 @@ |
#include "vm/flags.h" |
#include "vm/os.h" |
-#include "vm/profiler.h" |
#include "vm/thread_interrupter.h" |
namespace dart { |
@@ -70,6 +69,7 @@ class ThreadInterrupterWin : public AllStatic { |
return; |
} |
InterruptedThreadState its; |
+ its.tid = thread->id(); |
if (!GrabRegisters(handle, &its)) { |
// Failed to get thread registers. |
ResumeThread(handle); |
@@ -80,7 +80,11 @@ class ThreadInterrupterWin : public AllStatic { |
CloseHandle(handle); |
return; |
} |
- Profiler::SampleThread(thread, its); |
+ ThreadInterruptCallback callback = NULL; |
+ void* callback_data = NULL; |
+ if (thread->IsThreadInterrupterEnabled(&callback, &callback_data)) { |
+ callback(its, callback_data); |
+ } |
ResumeThread(handle); |
CloseHandle(handle); |
} |