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

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

Issue 2859673002: Pass type argument vector to generic functions (if --reify-generic-functions is (Closed)
Patch Set: address review comments and sync Created 3 years, 7 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/object.cc ('k') | runtime/vm/object_test.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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_store.h" 5 #include "vm/object_store.h"
6 6
7 #include "vm/exceptions.h" 7 #include "vm/exceptions.h"
8 #include "vm/dart_entry.h" 8 #include "vm/dart_entry.h"
9 #include "vm/isolate.h" 9 #include "vm/isolate.h"
10 #include "vm/object.h" 10 #include "vm/object.h"
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 ASSERT(!cls.IsNull()); 240 ASSERT(!cls.IsNull());
241 set_completer_class(cls); 241 set_completer_class(cls);
242 cls = async_lib.LookupClass(Symbols::StreamIterator()); 242 cls = async_lib.LookupClass(Symbols::StreamIterator());
243 ASSERT(!cls.IsNull()); 243 ASSERT(!cls.IsNull());
244 set_stream_iterator_class(cls); 244 set_stream_iterator_class(cls);
245 245
246 String& function_name = String::Handle(zone); 246 String& function_name = String::Handle(zone);
247 Function& function = Function::Handle(zone); 247 Function& function = Function::Handle(zone);
248 function_name ^= async_lib.PrivateName(Symbols::SetAsyncThreadStackTrace()); 248 function_name ^= async_lib.PrivateName(Symbols::SetAsyncThreadStackTrace());
249 ASSERT(!function_name.IsNull()); 249 ASSERT(!function_name.IsNull());
250 function ^= Resolver::ResolveStatic(async_lib, Object::null_string(), 250 function ^=
251 function_name, 1, Object::null_array()); 251 Resolver::ResolveStatic(async_lib, Object::null_string(), function_name,
252 0, 1, Object::null_array());
252 ASSERT(!function.IsNull()); 253 ASSERT(!function.IsNull());
253 set_async_set_thread_stack_trace(function); 254 set_async_set_thread_stack_trace(function);
254 255
255 function_name ^= async_lib.PrivateName(Symbols::ClearAsyncThreadStackTrace()); 256 function_name ^= async_lib.PrivateName(Symbols::ClearAsyncThreadStackTrace());
256 ASSERT(!function_name.IsNull()); 257 ASSERT(!function_name.IsNull());
257 function ^= Resolver::ResolveStatic(async_lib, Object::null_string(), 258 function ^=
258 function_name, 0, Object::null_array()); 259 Resolver::ResolveStatic(async_lib, Object::null_string(), function_name,
260 0, 0, Object::null_array());
259 ASSERT(!function.IsNull()); 261 ASSERT(!function.IsNull());
260 set_async_clear_thread_stack_trace(function); 262 set_async_clear_thread_stack_trace(function);
261 263
262 264
263 function_name ^= async_lib.PrivateName(Symbols::AsyncStarMoveNextHelper()); 265 function_name ^= async_lib.PrivateName(Symbols::AsyncStarMoveNextHelper());
264 ASSERT(!function_name.IsNull()); 266 ASSERT(!function_name.IsNull());
265 function ^= Resolver::ResolveStatic(async_lib, Object::null_string(), 267 function ^=
266 function_name, 1, Object::null_array()); 268 Resolver::ResolveStatic(async_lib, Object::null_string(), function_name,
269 0, 1, Object::null_array());
267 ASSERT(!function.IsNull()); 270 ASSERT(!function.IsNull());
268 set_async_star_move_next_helper(function); 271 set_async_star_move_next_helper(function);
269 272
270 function_name ^= async_lib.PrivateName(Symbols::_CompleteOnAsyncReturn()); 273 function_name ^= async_lib.PrivateName(Symbols::_CompleteOnAsyncReturn());
271 ASSERT(!function_name.IsNull()); 274 ASSERT(!function_name.IsNull());
272 function ^= Resolver::ResolveStatic(async_lib, Object::null_string(), 275 function ^=
273 function_name, 2, Object::null_array()); 276 Resolver::ResolveStatic(async_lib, Object::null_string(), function_name,
277 0, 2, Object::null_array());
274 ASSERT(!function.IsNull()); 278 ASSERT(!function.IsNull());
275 set_complete_on_async_return(function); 279 set_complete_on_async_return(function);
276 if (FLAG_async_debugger) { 280 if (FLAG_async_debugger) {
277 // Disable debugging and inlining the _CompleteOnAsyncReturn function. 281 // Disable debugging and inlining the _CompleteOnAsyncReturn function.
278 function.set_is_debuggable(false); 282 function.set_is_debuggable(false);
279 function.set_is_inlinable(false); 283 function.set_is_inlinable(false);
280 } 284 }
281 285
282 cls = 286 cls =
283 async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController()); 287 async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController());
(...skipping 27 matching lines...) Expand all
311 simple_instance_of_function_ = 315 simple_instance_of_function_ =
312 PrivateObjectLookup(Symbols::_simpleInstanceOf()); 316 PrivateObjectLookup(Symbols::_simpleInstanceOf());
313 simple_instance_of_true_function_ = 317 simple_instance_of_true_function_ =
314 PrivateObjectLookup(Symbols::_simpleInstanceOfTrue()); 318 PrivateObjectLookup(Symbols::_simpleInstanceOfTrue());
315 simple_instance_of_false_function_ = 319 simple_instance_of_false_function_ =
316 PrivateObjectLookup(Symbols::_simpleInstanceOfFalse()); 320 PrivateObjectLookup(Symbols::_simpleInstanceOfFalse());
317 #endif 321 #endif
318 } 322 }
319 323
320 } // namespace dart 324 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/object_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698