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/isolate_reload.h" | 5 #include "vm/isolate_reload.h" |
6 | 6 |
7 #include "vm/become.h" | 7 #include "vm/become.h" |
8 #include "vm/bit_vector.h" | 8 #include "vm/bit_vector.h" |
9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
(...skipping 1578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1589 zone_(zone) {} | 1589 zone_(zone) {} |
1590 | 1590 |
1591 virtual void VisitObject(RawObject* obj) { | 1591 virtual void VisitObject(RawObject* obj) { |
1592 if (obj->IsPseudoObject()) { | 1592 if (obj->IsPseudoObject()) { |
1593 // Cannot even be wrapped in handles. | 1593 // Cannot even be wrapped in handles. |
1594 return; | 1594 return; |
1595 } | 1595 } |
1596 handle_ = obj; | 1596 handle_ = obj; |
1597 if (handle_.IsFunction()) { | 1597 if (handle_.IsFunction()) { |
1598 const Function& func = Function::Cast(handle_); | 1598 const Function& func = Function::Cast(handle_); |
| 1599 if (func.IsSignatureFunction()) { |
| 1600 return; |
| 1601 } |
1599 | 1602 |
1600 // Switch to unoptimized code or the lazy compilation stub. | 1603 // Switch to unoptimized code or the lazy compilation stub. |
1601 func.SwitchToLazyCompiledUnoptimizedCode(); | 1604 func.SwitchToLazyCompiledUnoptimizedCode(); |
1602 | 1605 |
1603 // Grab the current code. | 1606 // Grab the current code. |
1604 code_ = func.CurrentCode(); | 1607 code_ = func.CurrentCode(); |
1605 ASSERT(!code_.IsNull()); | 1608 ASSERT(!code_.IsNull()); |
1606 const bool clear_code = IsFromDirtyLibrary(func); | 1609 const bool clear_code = IsFromDirtyLibrary(func); |
1607 const bool stub_code = code_.IsStubCode(); | 1610 const bool stub_code = code_.IsStubCode(); |
1608 | 1611 |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1883 ASSERT(!super_cls.IsNull()); | 1886 ASSERT(!super_cls.IsNull()); |
1884 super_cls.AddDirectSubclass(cls); | 1887 super_cls.AddDirectSubclass(cls); |
1885 } | 1888 } |
1886 } | 1889 } |
1887 } | 1890 } |
1888 } | 1891 } |
1889 | 1892 |
1890 #endif // !PRODUCT | 1893 #endif // !PRODUCT |
1891 | 1894 |
1892 } // namespace dart | 1895 } // namespace dart |
OLD | NEW |