| Index: runtime/vm/class_finalizer.cc
|
| diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc
|
| index 48bbfce06007ed60f492df4c8deced0f39e93f39..b9f1fcbd925bb92d73f5fd80da713c96d4cda48d 100644
|
| --- a/runtime/vm/class_finalizer.cc
|
| +++ b/runtime/vm/class_finalizer.cc
|
| @@ -116,9 +116,10 @@ static void CollectImmediateSuperInterfaces(
|
| // a) when bootstrap process completes (VerifyBootstrapClasses).
|
| // b) after the user classes are loaded (dart_api).
|
| bool ClassFinalizer::ProcessPendingClasses() {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| ASSERT(isolate != NULL);
|
| - HANDLESCOPE(isolate);
|
| + HANDLESCOPE(thread);
|
| ObjectStore* object_store = isolate->object_store();
|
| const Error& error = Error::Handle(isolate, object_store->sticky_error());
|
| if (!error.IsNull()) {
|
| @@ -2227,7 +2228,8 @@ void ClassFinalizer::ApplyMixinMembers(const Class& cls) {
|
|
|
|
|
| void ClassFinalizer::FinalizeTypesInClass(const Class& cls) {
|
| - HANDLESCOPE(Isolate::Current());
|
| + Thread* thread = Thread::Current();
|
| + HANDLESCOPE(thread);
|
| if (cls.is_type_finalized()) {
|
| return;
|
| }
|
| @@ -2360,7 +2362,8 @@ void ClassFinalizer::FinalizeTypesInClass(const Class& cls) {
|
|
|
|
|
| void ClassFinalizer::FinalizeClass(const Class& cls) {
|
| - HANDLESCOPE(Isolate::Current());
|
| + Thread* thread = Thread::Current();
|
| + HANDLESCOPE(thread);
|
| if (cls.is_finalized()) {
|
| return;
|
| }
|
| @@ -2990,7 +2993,8 @@ void ClassFinalizer::CheckForLegalConstClass(const Class& cls) {
|
|
|
|
|
| void ClassFinalizer::PrintClassInformation(const Class& cls) {
|
| - HANDLESCOPE(Isolate::Current());
|
| + Thread* thread = Thread::Current();
|
| + HANDLESCOPE(thread);
|
| const String& class_name = String::Handle(cls.Name());
|
| ISL_Print("class '%s'", class_name.ToCString());
|
| const Library& library = Library::Handle(cls.library());
|
|
|