OLD | NEW |
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 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 function_name, 1, Object::null_array()); | 266 function_name, 1, Object::null_array()); |
267 ASSERT(!function.IsNull()); | 267 ASSERT(!function.IsNull()); |
268 set_async_star_move_next_helper(function); | 268 set_async_star_move_next_helper(function); |
269 | 269 |
270 function_name ^= async_lib.PrivateName(Symbols::_CompleteOnAsyncReturn()); | 270 function_name ^= async_lib.PrivateName(Symbols::_CompleteOnAsyncReturn()); |
271 ASSERT(!function_name.IsNull()); | 271 ASSERT(!function_name.IsNull()); |
272 function ^= Resolver::ResolveStatic(async_lib, Object::null_string(), | 272 function ^= Resolver::ResolveStatic(async_lib, Object::null_string(), |
273 function_name, 2, Object::null_array()); | 273 function_name, 2, Object::null_array()); |
274 ASSERT(!function.IsNull()); | 274 ASSERT(!function.IsNull()); |
275 set_complete_on_async_return(function); | 275 set_complete_on_async_return(function); |
276 if (FLAG_async_debugger_stepping) { | 276 if (FLAG_async_debugger) { |
277 // Disable debugging and inlining the _CompleteOnAsyncReturn function. | 277 // Disable debugging and inlining the _CompleteOnAsyncReturn function. |
278 function.set_is_debuggable(false); | 278 function.set_is_debuggable(false); |
279 function.set_is_inlinable(false); | 279 function.set_is_inlinable(false); |
280 } | 280 } |
281 | 281 |
282 cls = | 282 cls = |
283 async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController()); | 283 async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController()); |
284 ASSERT(!cls.IsNull()); | 284 ASSERT(!cls.IsNull()); |
285 set_async_star_stream_controller(cls); | 285 set_async_star_stream_controller(cls); |
286 | 286 |
287 if (FLAG_async_debugger_stepping) { | 287 if (FLAG_async_debugger) { |
288 // Disable debugging and inlining of all functions on the | 288 // Disable debugging and inlining of all functions on the |
289 // _AsyncStarStreamController class. | 289 // _AsyncStarStreamController class. |
290 const Array& functions = Array::Handle(cls.functions()); | 290 const Array& functions = Array::Handle(cls.functions()); |
291 for (intptr_t i = 0; i < functions.Length(); i++) { | 291 for (intptr_t i = 0; i < functions.Length(); i++) { |
292 function ^= functions.At(i); | 292 function ^= functions.At(i); |
293 if (function.IsNull()) { | 293 if (function.IsNull()) { |
294 break; | 294 break; |
295 } | 295 } |
296 function.set_is_debuggable(false); | 296 function.set_is_debuggable(false); |
297 function.set_is_inlinable(false); | 297 function.set_is_inlinable(false); |
(...skipping 13 matching lines...) Expand all Loading... |
311 simple_instance_of_function_ = | 311 simple_instance_of_function_ = |
312 PrivateObjectLookup(Symbols::_simpleInstanceOf()); | 312 PrivateObjectLookup(Symbols::_simpleInstanceOf()); |
313 simple_instance_of_true_function_ = | 313 simple_instance_of_true_function_ = |
314 PrivateObjectLookup(Symbols::_simpleInstanceOfTrue()); | 314 PrivateObjectLookup(Symbols::_simpleInstanceOfTrue()); |
315 simple_instance_of_false_function_ = | 315 simple_instance_of_false_function_ = |
316 PrivateObjectLookup(Symbols::_simpleInstanceOfFalse()); | 316 PrivateObjectLookup(Symbols::_simpleInstanceOfFalse()); |
317 #endif | 317 #endif |
318 } | 318 } |
319 | 319 |
320 } // namespace dart | 320 } // namespace dart |
OLD | NEW |