@@ -1114,9 +1114,10 @@ Dart_NewFinalizableHandle(Dart_Handle object,
1114
1114
1115
1115
DART_EXPORT void Dart_UpdateExternalSize (Dart_WeakPersistentHandle object,
1116
1116
intptr_t external_size) {
1117
- IsolateGroup* isolate_group = IsolateGroup::Current ();
1117
+ Thread* T = Thread::Current ();
1118
+ IsolateGroup* isolate_group = T->isolate_group ();
1118
1119
CHECK_ISOLATE_GROUP (isolate_group);
1119
- NoSafepointScope no_safepoint_scope ;
1120
+ TransitionToVM transition (T) ;
1120
1121
ApiState* state = isolate_group->api_state ();
1121
1122
ASSERT (state != NULL );
1122
1123
ASSERT (state->IsActiveWeakPersistentHandle (object));
@@ -1140,9 +1141,10 @@ DART_EXPORT void Dart_UpdateFinalizableExternalSize(
1140
1141
}
1141
1142
1142
1143
DART_EXPORT void Dart_DeletePersistentHandle (Dart_PersistentHandle object) {
1143
- IsolateGroup* isolate_group = IsolateGroup::Current ();
1144
+ Thread* T = Thread::Current ();
1145
+ IsolateGroup* isolate_group = T->isolate_group ();
1144
1146
CHECK_ISOLATE_GROUP (isolate_group);
1145
- NoSafepointScope no_safepoint_scope ;
1147
+ TransitionToVM transition (T) ;
1146
1148
ApiState* state = isolate_group->api_state ();
1147
1149
ASSERT (state != NULL );
1148
1150
ASSERT (state->IsActivePersistentHandle (object));
@@ -1155,9 +1157,10 @@ DART_EXPORT void Dart_DeletePersistentHandle(Dart_PersistentHandle object) {
1155
1157
1156
1158
DART_EXPORT void Dart_DeleteWeakPersistentHandle (
1157
1159
Dart_WeakPersistentHandle object) {
1158
- IsolateGroup* isolate_group = IsolateGroup::Current ();
1160
+ Thread* T = Thread::Current ();
1161
+ IsolateGroup* isolate_group = T->isolate_group ();
1159
1162
CHECK_ISOLATE_GROUP (isolate_group);
1160
- NoSafepointScope no_safepoint_scope ;
1163
+ TransitionToVM transition (T) ;
1161
1164
ApiState* state = isolate_group->api_state ();
1162
1165
ASSERT (state != NULL );
1163
1166
ASSERT (state->IsActiveWeakPersistentHandle (object));
0 commit comments