Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Side by Side Diff: runtime/vm/isolate_reload.cc

Issue 2470483002: Support hot reloading libraries with native extensions (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 { 1075 {
1076 // Reload existing libraries. 1076 // Reload existing libraries.
1077 UnorderedHashMap<LibraryMapTraits>::Iterator it(&lib_map); 1077 UnorderedHashMap<LibraryMapTraits>::Iterator it(&lib_map);
1078 1078
1079 while (it.MoveNext()) { 1079 while (it.MoveNext()) {
1080 const intptr_t entry = it.Current(); 1080 const intptr_t entry = it.Current();
1081 ASSERT(entry != -1); 1081 ASSERT(entry != -1);
1082 new_lib = Library::RawCast(lib_map.GetKey(entry)); 1082 new_lib = Library::RawCast(lib_map.GetKey(entry));
1083 lib = Library::RawCast(lib_map.GetPayload(entry, 0)); 1083 lib = Library::RawCast(lib_map.GetPayload(entry, 0));
1084 new_lib.set_debuggable(lib.IsDebuggable()); 1084 new_lib.set_debuggable(lib.IsDebuggable());
1085 // Native extension support.
1086 new_lib.set_native_entry_resolver(lib.native_entry_resolver());
1087 new_lib.set_native_entry_symbol_resolver(
1088 lib.native_entry_symbol_resolver());
1085 } 1089 }
1086 } 1090 }
1087 1091
1088 // Release the library map. 1092 // Release the library map.
1089 lib_map.Release(); 1093 lib_map.Release();
1090 } 1094 }
1091 1095
1092 { 1096 {
1093 TIMELINE_SCOPE(UpdateLibrariesArray); 1097 TIMELINE_SCOPE(UpdateLibrariesArray);
1094 // Update the libraries array. 1098 // Update the libraries array.
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
1677 ASSERT(!super_cls.IsNull()); 1681 ASSERT(!super_cls.IsNull());
1678 super_cls.AddDirectSubclass(cls); 1682 super_cls.AddDirectSubclass(cls);
1679 } 1683 }
1680 } 1684 }
1681 } 1685 }
1682 } 1686 }
1683 1687
1684 #endif // !PRODUCT 1688 #endif // !PRODUCT
1685 1689
1686 } // namespace dart 1690 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698