| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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_THREAD_H_ | 5 #ifndef VM_THREAD_H_ |
| 6 #define VM_THREAD_H_ | 6 #define VM_THREAD_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
| 9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
| 10 #include "vm/handles.h" | 10 #include "vm/handles.h" |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ | 72 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ |
| 73 V(RawCode*, update_store_buffer_code_, \ | 73 V(RawCode*, update_store_buffer_code_, \ |
| 74 StubCode::UpdateStoreBuffer_entry()->code(), NULL) \ | 74 StubCode::UpdateStoreBuffer_entry()->code(), NULL) \ |
| 75 V(RawCode*, fix_callers_target_code_, \ | 75 V(RawCode*, fix_callers_target_code_, \ |
| 76 StubCode::FixCallersTarget_entry()->code(), NULL) \ | 76 StubCode::FixCallersTarget_entry()->code(), NULL) \ |
| 77 V(RawCode*, fix_allocation_stub_code_, \ | 77 V(RawCode*, fix_allocation_stub_code_, \ |
| 78 StubCode::FixAllocationStubTarget_entry()->code(), NULL) \ | 78 StubCode::FixAllocationStubTarget_entry()->code(), NULL) \ |
| 79 V(RawCode*, invoke_dart_code_stub_, \ | 79 V(RawCode*, invoke_dart_code_stub_, \ |
| 80 StubCode::InvokeDartCode_entry()->code(), NULL) \ | 80 StubCode::InvokeDartCode_entry()->code(), NULL) \ |
| 81 | 81 |
| 82 | |
| 83 #define CACHED_ADDRESSES_LIST(V) \ | 82 #define CACHED_ADDRESSES_LIST(V) \ |
| 84 V(uword, update_store_buffer_entry_point_, \ | 83 V(uword, update_store_buffer_entry_point_, \ |
| 85 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ | 84 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ |
| 86 V(uword, native_call_wrapper_entry_point_, \ | 85 V(uword, native_call_wrapper_entry_point_, \ |
| 87 NativeEntry::NativeCallWrapperEntry(), 0) \ | 86 NativeEntry::NativeCallWrapperEntry(), 0) \ |
| 88 V(RawString**, predefined_symbols_address_, \ | 87 V(RawString**, predefined_symbols_address_, \ |
| 89 Symbols::PredefinedAddress(), NULL) \ | 88 Symbols::PredefinedAddress(), NULL) \ |
| 89 V(uword, double_negate_address_, \ |
| 90 reinterpret_cast<uword>(&double_negate_constant), 0) \ |
| 91 V(uword, double_abs_address_, \ |
| 92 reinterpret_cast<uword>(&double_abs_constant), 0) \ |
| 93 V(uword, float_not_address_, \ |
| 94 reinterpret_cast<uword>(&float_not_constant), 0) \ |
| 95 V(uword, float_negate_address_, \ |
| 96 reinterpret_cast<uword>(&float_negate_constant), 0) \ |
| 97 V(uword, float_absolute_address_, \ |
| 98 reinterpret_cast<uword>(&float_absolute_constant), 0) \ |
| 99 V(uword, float_zerow_address_, \ |
| 100 reinterpret_cast<uword>(&float_zerow_constant), 0) \ |
| 90 | 101 |
| 91 #define CACHED_CONSTANTS_LIST(V) \ | 102 #define CACHED_CONSTANTS_LIST(V) \ |
| 92 CACHED_VM_OBJECTS_LIST(V) \ | 103 CACHED_VM_OBJECTS_LIST(V) \ |
| 93 CACHED_ADDRESSES_LIST(V) \ | 104 CACHED_ADDRESSES_LIST(V) \ |
| 94 | 105 |
| 95 | |
| 96 // A VM thread; may be executing Dart code or performing helper tasks like | 106 // A VM thread; may be executing Dart code or performing helper tasks like |
| 97 // garbage collection or compilation. The Thread structure associated with | 107 // garbage collection or compilation. The Thread structure associated with |
| 98 // a thread is allocated by EnsureInit before entering an isolate, and destroyed | 108 // a thread is allocated by EnsureInit before entering an isolate, and destroyed |
| 99 // automatically when the underlying OS thread exits. NOTE: On Windows, CleanUp | 109 // automatically when the underlying OS thread exits. NOTE: On Windows, CleanUp |
| 100 // must currently be called manually (issue 23474). | 110 // must currently be called manually (issue 23474). |
| 101 class Thread : public BaseThread { | 111 class Thread : public BaseThread { |
| 102 public: | 112 public: |
| 103 ~Thread(); | 113 ~Thread(); |
| 104 | 114 |
| 105 // The currently executing thread, or NULL if not yet initialized. | 115 // The currently executing thread, or NULL if not yet initialized. |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 // Disable thread interrupts. | 498 // Disable thread interrupts. |
| 489 class DisableThreadInterruptsScope : public StackResource { | 499 class DisableThreadInterruptsScope : public StackResource { |
| 490 public: | 500 public: |
| 491 explicit DisableThreadInterruptsScope(Thread* thread); | 501 explicit DisableThreadInterruptsScope(Thread* thread); |
| 492 ~DisableThreadInterruptsScope(); | 502 ~DisableThreadInterruptsScope(); |
| 493 }; | 503 }; |
| 494 | 504 |
| 495 } // namespace dart | 505 } // namespace dart |
| 496 | 506 |
| 497 #endif // VM_THREAD_H_ | 507 #endif // VM_THREAD_H_ |
| OLD | NEW |