| Index: runtime/vm/dart_api_impl.cc
|
| diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc
|
| index 47a410f7630531cf08574c11142cf5dfaf1f8ab1..18832d372cbed1428d772c13ec2bfa011236479e 100644
|
| --- a/runtime/vm/dart_api_impl.cc
|
| +++ b/runtime/vm/dart_api_impl.cc
|
| @@ -1510,9 +1510,10 @@ DART_EXPORT Dart_Handle Dart_CreateSnapshot(
|
| uint8_t** isolate_snapshot_buffer,
|
| intptr_t* isolate_snapshot_size) {
|
| ASSERT(FLAG_load_deferred_eagerly);
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| - TIMERSCOPE(isolate, time_creating_snapshot);
|
| + TIMERSCOPE(thread, time_creating_snapshot);
|
| if (vm_isolate_snapshot_buffer != NULL &&
|
| vm_isolate_snapshot_size == NULL) {
|
| RETURN_NULL_ERROR(vm_isolate_snapshot_size);
|
| @@ -1549,9 +1550,10 @@ DART_EXPORT Dart_Handle Dart_CreateSnapshot(
|
| static Dart_Handle createLibrarySnapshot(Dart_Handle library,
|
| uint8_t** buffer,
|
| intptr_t* size) {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| - TIMERSCOPE(isolate, time_creating_snapshot);
|
| + TIMERSCOPE(thread, time_creating_snapshot);
|
| if (buffer == NULL) {
|
| RETURN_NULL_ERROR(buffer);
|
| }
|
| @@ -4176,12 +4178,13 @@ DART_EXPORT Dart_Handle Dart_Invoke(Dart_Handle target,
|
| Dart_Handle name,
|
| int number_of_arguments,
|
| Dart_Handle* arguments) {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| CHECK_CALLBACK_STATE(isolate);
|
| // TODO(turnidge): This is a bit simplistic. It overcounts when
|
| // other operations (gc, compilation) are active.
|
| - TIMERSCOPE(isolate, time_dart_execution);
|
| + TIMERSCOPE(thread, time_dart_execution);
|
|
|
| const String& function_name = Api::UnwrapStringHandle(isolate, name);
|
| if (function_name.IsNull()) {
|
| @@ -5195,9 +5198,10 @@ DART_EXPORT Dart_Handle Dart_LoadScript(Dart_Handle url,
|
| Dart_Handle source,
|
| intptr_t line_offset,
|
| intptr_t column_offset) {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| - TIMERSCOPE(isolate, time_script_loading);
|
| + TIMERSCOPE(thread, time_script_loading);
|
| const String& url_str = Api::UnwrapStringHandle(isolate, url);
|
| if (url_str.IsNull()) {
|
| RETURN_TYPE_ERROR(isolate, url, String);
|
| @@ -5241,9 +5245,10 @@ DART_EXPORT Dart_Handle Dart_LoadScript(Dart_Handle url,
|
|
|
| DART_EXPORT Dart_Handle Dart_LoadScriptFromSnapshot(const uint8_t* buffer,
|
| intptr_t buffer_len) {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| - TIMERSCOPE(isolate, time_script_loading);
|
| + TIMERSCOPE(thread, time_script_loading);
|
| StackZone zone(isolate);
|
| if (buffer == NULL) {
|
| RETURN_NULL_ERROR(buffer);
|
| @@ -5454,9 +5459,10 @@ DART_EXPORT Dart_Handle Dart_LoadLibrary(Dart_Handle url,
|
| Dart_Handle source,
|
| intptr_t line_offset,
|
| intptr_t column_offset) {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| - TIMERSCOPE(isolate, time_script_loading);
|
| + TIMERSCOPE(thread, time_script_loading);
|
| const String& url_str = Api::UnwrapStringHandle(isolate, url);
|
| if (url_str.IsNull()) {
|
| RETURN_TYPE_ERROR(isolate, url, String);
|
| @@ -5560,9 +5566,10 @@ DART_EXPORT Dart_Handle Dart_LoadSource(Dart_Handle library,
|
| Dart_Handle source,
|
| intptr_t line_offset,
|
| intptr_t column_offset) {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| - TIMERSCOPE(isolate, time_script_loading);
|
| + TIMERSCOPE(thread, time_script_loading);
|
| const Library& lib = Api::UnwrapLibraryHandle(isolate, library);
|
| if (lib.IsNull()) {
|
| RETURN_TYPE_ERROR(isolate, library, Library);
|
| @@ -5599,9 +5606,10 @@ DART_EXPORT Dart_Handle Dart_LoadSource(Dart_Handle library,
|
| DART_EXPORT Dart_Handle Dart_LibraryLoadPatch(Dart_Handle library,
|
| Dart_Handle url,
|
| Dart_Handle patch_source) {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| DARTSCOPE(isolate);
|
| - TIMERSCOPE(isolate, time_script_loading);
|
| + TIMERSCOPE(thread, time_script_loading);
|
| const Library& lib = Api::UnwrapLibraryHandle(isolate, library);
|
| if (lib.IsNull()) {
|
| RETURN_TYPE_ERROR(isolate, library, Library);
|
|
|