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/store_buffer.h" | 10 #include "vm/store_buffer.h" |
11 #include "vm/timer.h" | 11 #include "vm/timer.h" |
12 | 12 |
13 namespace dart { | 13 namespace dart { |
14 | 14 |
15 // Forward declarations. | 15 // Forward declarations. |
16 class ApiState; | 16 class ApiState; |
17 class BigintStore; | 17 class BigintStore; |
18 class CodeIndexTable; | 18 class CodeIndexTable; |
19 class Debugger; | 19 class Debugger; |
20 class HandleScope; | 20 class HandleScope; |
21 class HandleVisitor; | 21 class HandleVisitor; |
22 class Heap; | 22 class Heap; |
23 class LongJump; | 23 class LongJump; |
24 class MessageHandler; | 24 class MessageHandler; |
25 class Mutex; | 25 class Mutex; |
26 class ObjectPointerVisitor; | 26 class ObjectPointerVisitor; |
27 class ObjectStore; | 27 class ObjectStore; |
28 class RawContext; | 28 class RawContext; |
29 class RawError; | 29 class RawObject; |
30 class StackResource; | 30 class StackResource; |
31 class StubCode; | 31 class StubCode; |
32 class Zone; | 32 class Zone; |
33 | 33 |
34 class Isolate { | 34 class Isolate { |
35 public: | 35 public: |
36 ~Isolate(); | 36 ~Isolate(); |
37 | 37 |
38 static inline Isolate* Current(); | 38 static inline Isolate* Current(); |
39 static void SetCurrent(Isolate* isolate); | 39 static void SetCurrent(Isolate* isolate); |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 | 210 |
211 kInterruptsMask = kApiInterrupt | kMessageInterrupt, | 211 kInterruptsMask = kApiInterrupt | kMessageInterrupt, |
212 }; | 212 }; |
213 | 213 |
214 void ScheduleInterrupts(uword interrupt_bits); | 214 void ScheduleInterrupts(uword interrupt_bits); |
215 uword GetAndClearInterrupts(); | 215 uword GetAndClearInterrupts(); |
216 | 216 |
217 MessageHandler* message_handler() const { return message_handler_; } | 217 MessageHandler* message_handler() const { return message_handler_; } |
218 void set_message_handler(MessageHandler* value) { message_handler_ = value; } | 218 void set_message_handler(MessageHandler* value) { message_handler_ = value; } |
219 | 219 |
220 // Returns null on success, a RawError on failure. | 220 // Returns null on success, unhandled exception on failure. |
221 RawError* StandardRunLoop(); | 221 RawObject* StandardRunLoop(); |
222 | 222 |
223 intptr_t ast_node_id() const { return ast_node_id_; } | 223 intptr_t ast_node_id() const { return ast_node_id_; } |
224 void set_ast_node_id(int value) { ast_node_id_ = value; } | 224 void set_ast_node_id(int value) { ast_node_id_ = value; } |
225 | 225 |
226 Debugger* debugger() const { return debugger_; } | 226 Debugger* debugger() const { return debugger_; } |
227 | 227 |
228 static void SetCreateCallback(Dart_IsolateCreateCallback cback); | 228 static void SetCreateCallback(Dart_IsolateCreateCallback cback); |
229 static Dart_IsolateCreateCallback CreateCallback(); | 229 static Dart_IsolateCreateCallback CreateCallback(); |
230 | 230 |
231 static void SetInterruptCallback(Dart_IsolateInterruptCallback cback); | 231 static void SetInterruptCallback(Dart_IsolateInterruptCallback cback); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 #include "vm/isolate_linux.h" | 285 #include "vm/isolate_linux.h" |
286 #elif defined(TARGET_OS_MACOS) | 286 #elif defined(TARGET_OS_MACOS) |
287 #include "vm/isolate_macos.h" | 287 #include "vm/isolate_macos.h" |
288 #elif defined(TARGET_OS_WINDOWS) | 288 #elif defined(TARGET_OS_WINDOWS) |
289 #include "vm/isolate_win.h" | 289 #include "vm/isolate_win.h" |
290 #else | 290 #else |
291 #error Unknown target os. | 291 #error Unknown target os. |
292 #endif | 292 #endif |
293 | 293 |
294 #endif // VM_ISOLATE_H_ | 294 #endif // VM_ISOLATE_H_ |
OLD | NEW |