Chromium Code Reviews| Index: runtime/vm/kernel_reader.cc |
| diff --git a/runtime/vm/kernel_reader.cc b/runtime/vm/kernel_reader.cc |
| index 7e8f6f44fb5d5b7767102883c10fd0df805a63f2..5eb64607f79fed167926edfe31ee74b45606b431 100644 |
| --- a/runtime/vm/kernel_reader.cc |
| +++ b/runtime/vm/kernel_reader.cc |
| @@ -170,10 +170,6 @@ void KernelReader::ReadLibrary(Library* kernel_library) { |
| TokenPosition::kNoSource)); |
| toplevel_class.set_is_cycle_free(); |
| library.set_toplevel_class(toplevel_class); |
| - if (bootstrapping_) { |
| - GrowableObjectArray::Handle(Z, I->object_store()->pending_classes()) |
| - .Add(toplevel_class, Heap::kOld); |
| - } |
| ActiveClassScope active_class_scope(&active_class_, NULL, &toplevel_class); |
| // Load toplevel fields. |
| @@ -209,6 +205,8 @@ void KernelReader::ReadLibrary(Library* kernel_library) { |
| Class* kernel_klass = kernel_library->classes()[i]; |
| classes.Add(ReadClass(library, kernel_klass), Heap::kOld); |
|
Kevin Millikin (Google)
2016/11/21 15:00:11
When bootstrapping, ReadClass is also adding class
kustermann
2016/11/21 15:30:05
Good point. Done.
|
| } |
| + |
| + classes.Add(toplevel_class, Heap::kOld); |
| } |
| @@ -645,7 +643,7 @@ dart::Class& KernelReader::LookupClass(Class* klass) { |
| // we do not risk allocating the class again by calling LookupClass |
| // recursively from ReadPreliminaryClass for the same class. |
| classes_.Insert(klass, handle); |
| - if (!handle->is_type_finalized()) { |
| + if (!handle->is_cycle_free()) { |
| ReadPreliminaryClass(handle, klass); |
| } |
| } |