OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/precompiler.h" | 5 #include "vm/precompiler.h" |
6 | 6 |
7 #include "vm/code_patcher.h" | 7 #include "vm/code_patcher.h" |
8 #include "vm/compiler.h" | 8 #include "vm/compiler.h" |
9 #include "vm/isolate.h" | 9 #include "vm/isolate.h" |
10 #include "vm/log.h" | 10 #include "vm/log.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 Library& lib = Library::Handle(Z); | 100 Library& lib = Library::Handle(Z); |
101 Class& cls = Class::Handle(Z); | 101 Class& cls = Class::Handle(Z); |
102 Array& functions = Array::Handle(Z); | 102 Array& functions = Array::Handle(Z); |
103 Function& function = Function::Handle(Z); | 103 Function& function = Function::Handle(Z); |
104 | 104 |
105 for (intptr_t i = 0; i < libraries_.Length(); i++) { | 105 for (intptr_t i = 0; i < libraries_.Length(); i++) { |
106 lib ^= libraries_.At(i); | 106 lib ^= libraries_.At(i); |
107 ClassDictionaryIterator it(lib, ClassDictionaryIterator::kIteratePrivate); | 107 ClassDictionaryIterator it(lib, ClassDictionaryIterator::kIteratePrivate); |
108 while (it.HasNext()) { | 108 while (it.HasNext()) { |
109 cls = it.GetNextClass(); | 109 cls = it.GetNextClass(); |
110 error_ = cls.EnsureIsFinalized(I); | 110 error_ = cls.EnsureIsFinalized(thread_); |
111 if (!error_.IsNull()) { | 111 if (!error_.IsNull()) { |
112 Jump(error_); | 112 Jump(error_); |
113 } | 113 } |
114 } | 114 } |
115 } | 115 } |
116 | 116 |
117 for (intptr_t i = 0; i < libraries_.Length(); i++) { | 117 for (intptr_t i = 0; i < libraries_.Length(); i++) { |
118 lib ^= libraries_.At(i); | 118 lib ^= libraries_.At(i); |
119 ClassDictionaryIterator it(lib, ClassDictionaryIterator::kIteratePrivate); | 119 ClassDictionaryIterator it(lib, ClassDictionaryIterator::kIteratePrivate); |
120 while (it.HasNext()) { | 120 while (it.HasNext()) { |
(...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 code, target_code); | 758 code, target_code); |
759 } | 759 } |
760 } | 760 } |
761 | 761 |
762 // We won't patch static calls anymore, so drop the static call table to save | 762 // We won't patch static calls anymore, so drop the static call table to save |
763 // space. | 763 // space. |
764 code.set_static_calls_target_table(Object::empty_array()); | 764 code.set_static_calls_target_table(Object::empty_array()); |
765 } | 765 } |
766 | 766 |
767 } // namespace dart | 767 } // namespace dart |
OLD | NEW |