| Index: runtime/vm/dart_api_impl.h
|
| diff --git a/runtime/vm/dart_api_impl.h b/runtime/vm/dart_api_impl.h
|
| index 9e7cb5fd684b466731ed83b248518d85e45ea573..ccd8fa1f3a5fbdbdf53ec38adf08b494aba4ba7f 100644
|
| --- a/runtime/vm/dart_api_impl.h
|
| +++ b/runtime/vm/dart_api_impl.h
|
| @@ -56,13 +56,12 @@ const char* CanonicalFunction(const char* func);
|
| } while (0)
|
|
|
| // Checks that the current isolate is not NULL and that it has an API scope.
|
| -#define CHECK_ISOLATE_SCOPE(isolate) \
|
| +#define CHECK_API_SCOPE(thread) \
|
| do { \
|
| - Isolate* tmp = (isolate); \
|
| - CHECK_ISOLATE(tmp); \
|
| - ApiState* state = tmp->api_state(); \
|
| - ASSERT(state); \
|
| - if (state->top_scope() == NULL) { \
|
| + Thread* tmpT = (thread); \
|
| + Isolate* tmpI = tmpT->isolate(); \
|
| + CHECK_ISOLATE(tmpI); \
|
| + if (tmpT->api_top_scope() == NULL) { \
|
| FATAL1("%s expects to find a current scope. Did you forget to call " \
|
| "Dart_EnterScope?", CURRENT_FUNC); \
|
| } \
|
| @@ -70,8 +69,7 @@ const char* CanonicalFunction(const char* func);
|
|
|
| #define DARTSCOPE(thread) \
|
| Thread* T = (thread); \
|
| - Isolate* I = T->isolate(); \
|
| - CHECK_ISOLATE_SCOPE(I); \
|
| + CHECK_API_SCOPE(T); \
|
| HANDLESCOPE(T);
|
|
|
|
|
| @@ -124,7 +122,7 @@ class Api : AllStatic {
|
| };
|
|
|
| // Creates a new local handle.
|
| - static Dart_Handle NewHandle(Isolate* isolate, RawObject* raw);
|
| + static Dart_Handle NewHandle(Thread* thread, RawObject* raw);
|
|
|
| // Unwraps the raw object from the handle.
|
| static RawObject* UnwrapHandle(Dart_Handle object);
|
| @@ -146,7 +144,7 @@ class Api : AllStatic {
|
| // Returns an Error handle if isolate is in an inconsistent state
|
| // or there was an error while finalizing classes.
|
| // Returns a Success handle when no error condition exists.
|
| - static Dart_Handle CheckAndFinalizePendingClasses(Isolate *isolate);
|
| + static Dart_Handle CheckAndFinalizePendingClasses(Thread *thread);
|
|
|
| // Casts the internal Isolate* type to the external Dart_Isolate type.
|
| static Dart_Isolate CastIsolate(Isolate* isolate);
|
| @@ -216,7 +214,7 @@ class Api : AllStatic {
|
| }
|
|
|
| // Retrieves the top ApiLocalScope.
|
| - static ApiLocalScope* TopScope(Isolate* isolate);
|
| + static ApiLocalScope* TopScope(Thread* thread);
|
|
|
| // Performs one-time initialization needed by the API.
|
| static void InitOnce();
|
| @@ -273,7 +271,7 @@ class Api : AllStatic {
|
| const String& name);
|
|
|
| private:
|
| - static Dart_Handle InitNewHandle(Isolate* isolate, RawObject* raw);
|
| + static Dart_Handle InitNewHandle(Thread* thread, RawObject* raw);
|
|
|
| // Thread local key used by the API. Currently holds the current
|
| // ApiNativeScope if any.
|
|
|