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

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

Issue 1712843002: Remove mirrors in product mode (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months 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 | « runtime/vm/bootstrap_natives.h ('k') | runtime/vm/dart_api_impl.cc » ('j') | 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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/bootstrap.h" 5 #include "vm/bootstrap.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 8
9 #include "vm/bootstrap_natives.h" 9 #include "vm/bootstrap_natives.h"
10 #include "vm/dart_api_impl.h" 10 #include "vm/dart_api_impl.h"
(...skipping 10 matching lines...) Expand all
21 21
22 // List all native functions implemented in the vm or core bootstrap dart 22 // List all native functions implemented in the vm or core bootstrap dart
23 // libraries so that we can resolve the native function to it's entry 23 // libraries so that we can resolve the native function to it's entry
24 // point. 24 // point.
25 static struct NativeEntries { 25 static struct NativeEntries {
26 const char* name_; 26 const char* name_;
27 Dart_NativeFunction function_; 27 Dart_NativeFunction function_;
28 int argument_count_; 28 int argument_count_;
29 } BootStrapEntries[] = { 29 } BootStrapEntries[] = {
30 BOOTSTRAP_NATIVE_LIST(REGISTER_NATIVE_ENTRY) 30 BOOTSTRAP_NATIVE_LIST(REGISTER_NATIVE_ENTRY)
31 #ifndef PRODUCT
32 MIRRORS_BOOTSTRAP_NATIVE_LIST(REGISTER_NATIVE_ENTRY)
33 #endif // !PRODUCT
31 }; 34 };
32 35
33 36
34 Dart_NativeFunction BootstrapNatives::Lookup(Dart_Handle name, 37 Dart_NativeFunction BootstrapNatives::Lookup(Dart_Handle name,
35 int argument_count, 38 int argument_count,
36 bool* auto_setup_scope) { 39 bool* auto_setup_scope) {
37 const Object& obj = Object::Handle(Api::UnwrapHandle(name)); 40 const Object& obj = Object::Handle(Api::UnwrapHandle(name));
38 if (!obj.IsString()) { 41 if (!obj.IsString()) {
39 return NULL; 42 return NULL;
40 } 43 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 library = Library::IsolateLibrary(); 112 library = Library::IsolateLibrary();
110 ASSERT(!library.IsNull()); 113 ASSERT(!library.IsNull());
111 library.set_native_entry_resolver(resolver); 114 library.set_native_entry_resolver(resolver);
112 library.set_native_entry_symbol_resolver(symbol_resolver); 115 library.set_native_entry_symbol_resolver(symbol_resolver);
113 116
114 library = Library::MathLibrary(); 117 library = Library::MathLibrary();
115 ASSERT(!library.IsNull()); 118 ASSERT(!library.IsNull());
116 library.set_native_entry_resolver(resolver); 119 library.set_native_entry_resolver(resolver);
117 library.set_native_entry_symbol_resolver(symbol_resolver); 120 library.set_native_entry_symbol_resolver(symbol_resolver);
118 121
122 NOT_IN_PRODUCT(
119 library = Library::MirrorsLibrary(); 123 library = Library::MirrorsLibrary();
120 ASSERT(!library.IsNull()); 124 ASSERT(!library.IsNull());
121 library.set_native_entry_resolver(resolver); 125 library.set_native_entry_resolver(resolver);
122 library.set_native_entry_symbol_resolver(symbol_resolver); 126 library.set_native_entry_symbol_resolver(symbol_resolver));
123 127
124 library = Library::ProfilerLibrary(); 128 library = Library::ProfilerLibrary();
125 ASSERT(!library.IsNull()); 129 ASSERT(!library.IsNull());
126 library.set_native_entry_resolver(resolver); 130 library.set_native_entry_resolver(resolver);
127 library.set_native_entry_symbol_resolver(symbol_resolver); 131 library.set_native_entry_symbol_resolver(symbol_resolver);
128 132
129 library = Library::TypedDataLibrary(); 133 library = Library::TypedDataLibrary();
130 ASSERT(!library.IsNull()); 134 ASSERT(!library.IsNull());
131 library.set_native_entry_resolver(resolver); 135 library.set_native_entry_resolver(resolver);
132 library.set_native_entry_symbol_resolver(symbol_resolver); 136 library.set_native_entry_symbol_resolver(symbol_resolver);
133 137
134 library = Library::VMServiceLibrary(); 138 library = Library::VMServiceLibrary();
135 ASSERT(!library.IsNull()); 139 ASSERT(!library.IsNull());
136 library.set_native_entry_resolver(resolver); 140 library.set_native_entry_resolver(resolver);
137 library.set_native_entry_symbol_resolver(symbol_resolver); 141 library.set_native_entry_symbol_resolver(symbol_resolver);
138 } 142 }
139 143
140 144
141 bool Bootstrap::IsBootstapResolver(Dart_NativeEntryResolver resolver) { 145 bool Bootstrap::IsBootstapResolver(Dart_NativeEntryResolver resolver) {
142 return (resolver == 146 return (resolver ==
143 reinterpret_cast<Dart_NativeEntryResolver>(BootstrapNatives::Lookup)); 147 reinterpret_cast<Dart_NativeEntryResolver>(BootstrapNatives::Lookup));
144 } 148 }
145 149
146 } // namespace dart 150 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/bootstrap_natives.h ('k') | runtime/vm/dart_api_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698