OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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_natives.h" | 5 #include "vm/bootstrap_natives.h" |
6 | 6 |
7 #include "vm/assert.h" | 7 #include "vm/assert.h" |
8 #include "vm/class_finalizer.h" | 8 #include "vm/class_finalizer.h" |
9 #include "vm/dart.h" | 9 #include "vm/dart.h" |
10 #include "vm/dart_api_impl.h" | 10 #include "vm/dart_api_impl.h" |
11 #include "vm/dart_entry.h" | 11 #include "vm/dart_entry.h" |
12 #include "vm/exceptions.h" | 12 #include "vm/exceptions.h" |
13 #include "vm/longjump.h" | 13 #include "vm/longjump.h" |
| 14 #include "vm/message_queue.h" |
14 #include "vm/object.h" | 15 #include "vm/object.h" |
15 #include "vm/object_store.h" | 16 #include "vm/object_store.h" |
16 #include "vm/port.h" | 17 #include "vm/port.h" |
17 #include "vm/resolver.h" | 18 #include "vm/resolver.h" |
18 #include "vm/snapshot.h" | 19 #include "vm/snapshot.h" |
19 #include "vm/thread.h" | 20 #include "vm/thread.h" |
20 | 21 |
21 namespace dart { | 22 namespace dart { |
22 | 23 |
23 class IsolateStartData { | 24 class IsolateStartData { |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 } | 342 } |
342 | 343 |
343 | 344 |
344 DEFINE_NATIVE_ENTRY(SendPortImpl_sendInternal_, 3) { | 345 DEFINE_NATIVE_ENTRY(SendPortImpl_sendInternal_, 3) { |
345 intptr_t send_id = Smi::CheckedHandle(arguments->At(0)).Value(); | 346 intptr_t send_id = Smi::CheckedHandle(arguments->At(0)).Value(); |
346 intptr_t reply_id = Smi::CheckedHandle(arguments->At(1)).Value(); | 347 intptr_t reply_id = Smi::CheckedHandle(arguments->At(1)).Value(); |
347 // TODO(iposva): Allow for arbitrary messages to be sent. | 348 // TODO(iposva): Allow for arbitrary messages to be sent. |
348 uint8_t* data = SerializeObject(Instance::CheckedHandle(arguments->At(2))); | 349 uint8_t* data = SerializeObject(Instance::CheckedHandle(arguments->At(2))); |
349 | 350 |
350 // TODO(turnidge): Throw an exception when the return value is false? | 351 // TODO(turnidge): Throw an exception when the return value is false? |
351 PortMap::PostMessage(send_id, reply_id, Api::CastMessage(data)); | 352 PortMap::PostMessage(new Message( |
| 353 send_id, reply_id, data, Message::kNormalPriority)); |
352 } | 354 } |
353 | 355 |
354 } // namespace dart | 356 } // namespace dart |
OLD | NEW |