| Index: runtime/vm/dart_api_impl.cc
|
| diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc
|
| index 6e668c84ffb555a4adbea9a2016dcf1beaba48fd..8ee0c5dc52f7611ff02fa23ed1bd11b4e67077d1 100644
|
| --- a/runtime/vm/dart_api_impl.cc
|
| +++ b/runtime/vm/dart_api_impl.cc
|
| @@ -1464,21 +1464,25 @@ DART_EXPORT void Dart_EnterIsolate(Dart_Isolate isolate) {
|
| }
|
|
|
|
|
| -DART_EXPORT void Dart_ThreadDisableProfiling() {
|
| - Thread* T = Thread::Current();
|
| - if (T == NULL) {
|
| +DART_EXPORT void Dart_IsolateBlocked() {
|
| + Isolate* isolate = Isolate::Current();
|
| + CHECK_ISOLATE(isolate);
|
| + IsolateProfilerData* profiler_data = isolate->profiler_data();
|
| + if (profiler_data == NULL) {
|
| return;
|
| }
|
| - T->DisableThreadInterrupts();
|
| + profiler_data->Block();
|
| }
|
|
|
|
|
| -DART_EXPORT void Dart_ThreadEnableProfiling() {
|
| - Thread* T = Thread::Current();
|
| - if (T == NULL) {
|
| +DART_EXPORT void Dart_IsolateUnblocked() {
|
| + Isolate* isolate = Isolate::Current();
|
| + CHECK_ISOLATE(isolate);
|
| + IsolateProfilerData* profiler_data = isolate->profiler_data();
|
| + if (profiler_data == NULL) {
|
| return;
|
| }
|
| - T->EnableThreadInterrupts();
|
| + profiler_data->Unblock();
|
| }
|
|
|
|
|
|
|