Index: runtime/vm/isolate.h |
=================================================================== |
--- runtime/vm/isolate.h (revision 3210) |
+++ runtime/vm/isolate.h (working copy) |
@@ -20,6 +20,7 @@ |
class HandleScope; |
class Heap; |
class LongJump; |
+class Message; |
class MessageQueue; |
class Mutex; |
class ObjectPointerVisitor; |
@@ -51,20 +52,13 @@ |
StoreBufferBlock* store_buffer() { return &store_buffer_; } |
- Dart_PostMessageCallback post_message_callback() const { |
- return post_message_callback_; |
+ Dart_MessageNotifyCallback message_notify_callback() const { |
+ return message_notify_callback_; |
} |
- void set_post_message_callback(Dart_PostMessageCallback value) { |
- post_message_callback_ = value; |
+ void set_message_notify_callback(Dart_MessageNotifyCallback value) { |
+ message_notify_callback_ = value; |
} |
- Dart_ClosePortCallback close_port_callback() const { |
- return close_port_callback_; |
- } |
- void set_close_port_callback(Dart_ClosePortCallback value) { |
- close_port_callback_ = value; |
- } |
- |
MessageQueue* message_queue() const { return message_queue_; } |
void set_message_queue(MessageQueue* value) { message_queue_ = value; } |
@@ -238,14 +232,18 @@ |
uword saved_stack_limit() const { return saved_stack_limit_; } |
enum { |
- kInterruptsMask = 0x1, |
- kApiInterrupt = 0x1, // An interrupt from Dart_InterruptIsolate. |
- // More interrupt types will go here. |
+ kInterruptsMask = 0x3, |
Anton Muhin
2012/01/12 12:58:16
maybe kInterruptsMask = kApiInterrupt | kMessageIn
turnidge
2012/01/12 19:01:55
Done.
|
+ kApiInterrupt = 0x1, // An interrupt from Dart_InterruptIsolate. |
+ kMessageInterrupt = 0x2, // An interrupt to process an out of band message. |
}; |
void ScheduleInterrupts(uword interrupt_bits); |
uword GetAndClearInterrupts(); |
+ void PostMessage(Message* message); |
+ void ClosePort(Dart_Port port); |
+ void CloseAllPorts(); |
+ |
// Returns null on success, unhandled exception on failure. |
RawObject* StandardRunLoop(); |
@@ -272,8 +270,7 @@ |
StoreBufferBlock store_buffer_; |
MessageQueue* message_queue_; |
- Dart_PostMessageCallback post_message_callback_; |
- Dart_ClosePortCallback close_port_callback_; |
+ Dart_MessageNotifyCallback message_notify_callback_; |
intptr_t num_ports_; |
intptr_t live_ports_; |
Dart_Port main_port_; |