| OLD | NEW |
| 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 #ifndef VM_ISOLATE_H_ | 5 #ifndef VM_ISOLATE_H_ |
| 6 #define VM_ISOLATE_H_ | 6 #define VM_ISOLATE_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 #include "vm/class_table.h" | 10 #include "vm/class_table.h" |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 // The current stack limit. This may be overwritten with a special | 149 // The current stack limit. This may be overwritten with a special |
| 150 // value to trigger interrupts. | 150 // value to trigger interrupts. |
| 151 uword stack_limit() const { return stack_limit_; } | 151 uword stack_limit() const { return stack_limit_; } |
| 152 | 152 |
| 153 // The true stack limit for this isolate. | 153 // The true stack limit for this isolate. |
| 154 uword saved_stack_limit() const { return saved_stack_limit_; } | 154 uword saved_stack_limit() const { return saved_stack_limit_; } |
| 155 | 155 |
| 156 enum { | 156 enum { |
| 157 kApiInterrupt = 0x1, // An interrupt from Dart_InterruptIsolate. | 157 kApiInterrupt = 0x1, // An interrupt from Dart_InterruptIsolate. |
| 158 kMessageInterrupt = 0x2, // An interrupt to process an out of band message. | 158 kMessageInterrupt = 0x2, // An interrupt to process an out of band message. |
| 159 kStoreBufferInterrupt = 0x4, // An interrupt to process the store buffer. |
| 159 | 160 |
| 160 kInterruptsMask = kApiInterrupt | kMessageInterrupt, | 161 kInterruptsMask = |
| 162 kApiInterrupt | |
| 163 kMessageInterrupt | |
| 164 kStoreBufferInterrupt, |
| 161 }; | 165 }; |
| 162 | 166 |
| 163 void ScheduleInterrupts(uword interrupt_bits); | 167 void ScheduleInterrupts(uword interrupt_bits); |
| 164 uword GetAndClearInterrupts(); | 168 uword GetAndClearInterrupts(); |
| 165 | 169 |
| 166 MessageHandler* message_handler() const { return message_handler_; } | 170 MessageHandler* message_handler() const { return message_handler_; } |
| 167 void set_message_handler(MessageHandler* value) { message_handler_ = value; } | 171 void set_message_handler(MessageHandler* value) { message_handler_ = value; } |
| 168 | 172 |
| 169 uword spawn_data() const { return spawn_data_; } | 173 uword spawn_data() const { return spawn_data_; } |
| 170 void set_spawn_data(uword value) { spawn_data_ = value; } | 174 void set_spawn_data(uword value) { spawn_data_ = value; } |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 Isolate* new_isolate_; | 321 Isolate* new_isolate_; |
| 318 Isolate* saved_isolate_; | 322 Isolate* saved_isolate_; |
| 319 uword saved_stack_limit_; | 323 uword saved_stack_limit_; |
| 320 | 324 |
| 321 DISALLOW_COPY_AND_ASSIGN(SwitchIsolateScope); | 325 DISALLOW_COPY_AND_ASSIGN(SwitchIsolateScope); |
| 322 }; | 326 }; |
| 323 | 327 |
| 324 } // namespace dart | 328 } // namespace dart |
| 325 | 329 |
| 326 #endif // VM_ISOLATE_H_ | 330 #endif // VM_ISOLATE_H_ |
| OLD | NEW |