| 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 "platform/thread.h" | 
| 10 #include "vm/store_buffer.h" | 11 #include "vm/store_buffer.h" | 
| 11 #include "vm/timer.h" | 12 #include "vm/timer.h" | 
| 12 | 13 | 
| 13 namespace dart { | 14 namespace dart { | 
| 14 | 15 | 
| 15 // Forward declarations. | 16 // Forward declarations. | 
| 16 class ApiState; | 17 class ApiState; | 
| 17 class BigintStore; | 18 class BigintStore; | 
| 18 class CodeIndexTable; | 19 class CodeIndexTable; | 
| 19 class Debugger; | 20 class Debugger; | 
| 20 class HandleScope; | 21 class HandleScope; | 
| 21 class HandleVisitor; | 22 class HandleVisitor; | 
| 22 class Heap; | 23 class Heap; | 
| 23 class LongJump; | 24 class LongJump; | 
| 24 class MessageHandler; | 25 class MessageHandler; | 
| 25 class Mutex; | 26 class Mutex; | 
| 26 class ObjectPointerVisitor; | 27 class ObjectPointerVisitor; | 
| 27 class ObjectStore; | 28 class ObjectStore; | 
| 28 class RawContext; | 29 class RawContext; | 
| 29 class RawError; | 30 class RawError; | 
| 30 class StackResource; | 31 class StackResource; | 
| 31 class StubCode; | 32 class StubCode; | 
| 32 class Zone; | 33 class Zone; | 
| 33 | 34 | 
|  | 35 | 
| 34 class Isolate { | 36 class Isolate { | 
| 35  public: | 37  public: | 
| 36   ~Isolate(); | 38   ~Isolate(); | 
| 37 | 39 | 
| 38   static inline Isolate* Current(); | 40   static inline Isolate* Current() { | 
|  | 41     return reinterpret_cast<Isolate*>(Thread::GetThreadLocal(isolate_key)); | 
|  | 42   } | 
|  | 43 | 
| 39   static void SetCurrent(Isolate* isolate); | 44   static void SetCurrent(Isolate* isolate); | 
| 40 | 45 | 
| 41   static void InitOnce(); | 46   static void InitOnce(); | 
| 42   static Isolate* Init(const char* name_prefix); | 47   static Isolate* Init(const char* name_prefix); | 
| 43   void Shutdown(); | 48   void Shutdown(); | 
| 44 | 49 | 
| 45   // Visit all object pointers. | 50   // Visit all object pointers. | 
| 46   void VisitObjectPointers(ObjectPointerVisitor* visitor, bool validate_frames); | 51   void VisitObjectPointers(ObjectPointerVisitor* visitor, bool validate_frames); | 
| 47 | 52 | 
| 48   void VisitWeakPersistentHandles(HandleVisitor* visitor); | 53   void VisitWeakPersistentHandles(HandleVisitor* visitor); | 
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 235   Isolate(); | 240   Isolate(); | 
| 236 | 241 | 
| 237   void BuildName(const char* name_prefix); | 242   void BuildName(const char* name_prefix); | 
| 238   void PrintInvokedFunctions(); | 243   void PrintInvokedFunctions(); | 
| 239 | 244 | 
| 240   static uword GetSpecifiedStackSize(); | 245   static uword GetSpecifiedStackSize(); | 
| 241 | 246 | 
| 242   static const uword kStackSizeBuffer = (128 * KB); | 247   static const uword kStackSizeBuffer = (128 * KB); | 
| 243   static const uword kDefaultStackSize = (1 * MB); | 248   static const uword kDefaultStackSize = (1 * MB); | 
| 244 | 249 | 
|  | 250   static ThreadLocalKey isolate_key; | 
| 245   StoreBufferBlock store_buffer_; | 251   StoreBufferBlock store_buffer_; | 
| 246   Dart_MessageNotifyCallback message_notify_callback_; | 252   Dart_MessageNotifyCallback message_notify_callback_; | 
| 247   char* name_; | 253   char* name_; | 
| 248   Dart_Port main_port_; | 254   Dart_Port main_port_; | 
| 249   Heap* heap_; | 255   Heap* heap_; | 
| 250   ObjectStore* object_store_; | 256   ObjectStore* object_store_; | 
| 251   StackResource* top_resource_; | 257   StackResource* top_resource_; | 
| 252   RawContext* top_context_; | 258   RawContext* top_context_; | 
| 253   Zone* current_zone_; | 259   Zone* current_zone_; | 
| 254 #if defined(DEBUG) | 260 #if defined(DEBUG) | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 274   MessageHandler* message_handler_; | 280   MessageHandler* message_handler_; | 
| 275 | 281 | 
| 276   static Dart_IsolateCreateCallback create_callback_; | 282   static Dart_IsolateCreateCallback create_callback_; | 
| 277   static Dart_IsolateInterruptCallback interrupt_callback_; | 283   static Dart_IsolateInterruptCallback interrupt_callback_; | 
| 278 | 284 | 
| 279   DISALLOW_COPY_AND_ASSIGN(Isolate); | 285   DISALLOW_COPY_AND_ASSIGN(Isolate); | 
| 280 }; | 286 }; | 
| 281 | 287 | 
| 282 }  // namespace dart | 288 }  // namespace dart | 
| 283 | 289 | 
| 284 #if defined(TARGET_OS_LINUX) |  | 
| 285 #include "vm/isolate_linux.h" |  | 
| 286 #elif defined(TARGET_OS_MACOS) |  | 
| 287 #include "vm/isolate_macos.h" |  | 
| 288 #elif defined(TARGET_OS_WINDOWS) |  | 
| 289 #include "vm/isolate_win.h" |  | 
| 290 #else |  | 
| 291 #error Unknown target os. |  | 
| 292 #endif |  | 
| 293 |  | 
| 294 #endif  // VM_ISOLATE_H_ | 290 #endif  // VM_ISOLATE_H_ | 
| OLD | NEW | 
|---|