| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "vm/hash_table.h" | 7 #include "vm/hash_table.h" |
| 8 #include "vm/isolate_reload.h" | 8 #include "vm/isolate_reload.h" |
| 9 #include "vm/log.h" | 9 #include "vm/log.h" |
| 10 #include "vm/resolver.h" | 10 #include "vm/resolver.h" |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 old_func ^= funcs.At(i); | 385 old_func ^= funcs.At(i); |
| 386 if (old_func.is_static() && | 386 if (old_func.is_static() && |
| 387 old_func.HasImplicitClosureFunction()) { | 387 old_func.HasImplicitClosureFunction()) { |
| 388 selector = old_func.name(); | 388 selector = old_func.name(); |
| 389 new_func = new_cls.LookupFunction(selector); | 389 new_func = new_cls.LookupFunction(selector); |
| 390 if (!new_func.IsNull() && new_func.is_static()) { | 390 if (!new_func.IsNull() && new_func.is_static()) { |
| 391 old_func = old_func.ImplicitClosureFunction(); | 391 old_func = old_func.ImplicitClosureFunction(); |
| 392 old_closure = old_func.ImplicitStaticClosure(); | 392 old_closure = old_func.ImplicitStaticClosure(); |
| 393 new_func = new_func.ImplicitClosureFunction(); | 393 new_func = new_func.ImplicitClosureFunction(); |
| 394 new_closure = new_func.ImplicitStaticClosure(); | 394 new_closure = new_func.ImplicitStaticClosure(); |
| 395 if (old_closure.IsCanonical()) { |
| 396 new_closure.SetCanonical(); |
| 397 } |
| 395 irc->AddBecomeMapping(old_closure, new_closure); | 398 irc->AddBecomeMapping(old_closure, new_closure); |
| 396 } | 399 } |
| 397 } | 400 } |
| 398 } | 401 } |
| 399 } | 402 } |
| 400 | 403 |
| 401 | 404 |
| 402 class EnumClassConflict : public ClassReasonForCancelling { | 405 class EnumClassConflict : public ClassReasonForCancelling { |
| 403 public: | 406 public: |
| 404 EnumClassConflict(Zone* zone, const Class& from, const Class& to) | 407 EnumClassConflict(Zone* zone, const Class& from, const Class& to) |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 753 const Array& data_array = | 756 const Array& data_array = |
| 754 Array::Handle(zone, CachedEmptyICDataArray(num_args)); | 757 Array::Handle(zone, CachedEmptyICDataArray(num_args)); |
| 755 set_ic_data_array(data_array); | 758 set_ic_data_array(data_array); |
| 756 } | 759 } |
| 757 } | 760 } |
| 758 } | 761 } |
| 759 | 762 |
| 760 #endif // !PRODUCT | 763 #endif // !PRODUCT |
| 761 | 764 |
| 762 } // namespace dart. | 765 } // namespace dart. |
| OLD | NEW |