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 "vm/globals.h" | 8 #include "vm/globals.h" |
9 #include "vm/os_thread.h" | 9 #include "vm/os_thread.h" |
10 #include "vm/store_buffer.h" | 10 #include "vm/store_buffer.h" |
11 #include "vm/runtime_entry_list.h" | 11 #include "vm/runtime_entry_list.h" |
12 | 12 |
13 namespace dart { | 13 namespace dart { |
14 | 14 |
15 class CHA; | 15 class CHA; |
16 class HandleScope; | 16 class HandleScope; |
17 class Heap; | 17 class Heap; |
18 class Isolate; | 18 class Isolate; |
19 class Log; | 19 class Log; |
20 class LongJumpScope; | 20 class LongJumpScope; |
21 class Object; | 21 class Object; |
22 class RawBool; | 22 class RawBool; |
23 class RawObject; | 23 class RawObject; |
24 class RawCode; | |
25 class RawString; | 24 class RawString; |
26 class RuntimeEntry; | 25 class RuntimeEntry; |
27 class StackResource; | 26 class StackResource; |
28 class TimelineEventBlock; | 27 class TimelineEventBlock; |
29 class Zone; | 28 class Zone; |
30 | 29 |
31 // List of VM-global objects/addresses cached in each Thread object. | 30 // List of VM-global objects/addresses cached in each Thread object. |
32 #define CACHED_VM_OBJECTS_LIST(V) \ | 31 #define CACHED_VM_OBJECTS_LIST(V) \ |
33 V(RawObject*, object_null_, Object::null(), NULL) \ | 32 V(RawObject*, object_null_, Object::null(), NULL) \ |
34 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \ | 33 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \ |
35 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ | 34 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ |
36 V(RawCode*, update_store_buffer_code_, \ | |
37 StubCode::UpdateStoreBuffer_entry()->code(), NULL) \ | |
38 V(RawCode*, fix_callers_target_code_, \ | |
39 StubCode::FixCallersTarget_entry()->code(), NULL) \ | |
40 V(RawCode*, fix_allocation_stub_code_, \ | |
41 StubCode::FixAllocationStubTarget_entry()->code(), NULL) \ | |
42 | |
43 | 35 |
44 #define CACHED_ADDRESSES_LIST(V) \ | 36 #define CACHED_ADDRESSES_LIST(V) \ |
45 V(uword, update_store_buffer_entry_point_, \ | 37 V(uword, update_store_buffer_entry_point_, \ |
46 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ | 38 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ |
47 V(RawString**, predefined_symbols_address_, \ | 39 V(RawString**, predefined_symbols_address_, \ |
48 Symbols::PredefinedAddress(), NULL) \ | 40 Symbols::PredefinedAddress(), NULL) \ |
49 | 41 |
50 #define CACHED_CONSTANTS_LIST(V) \ | 42 #define CACHED_CONSTANTS_LIST(V) \ |
51 CACHED_VM_OBJECTS_LIST(V) \ | 43 CACHED_VM_OBJECTS_LIST(V) \ |
52 CACHED_ADDRESSES_LIST(V) \ | 44 CACHED_ADDRESSES_LIST(V) \ |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 friend class ApiZone; | 328 friend class ApiZone; |
337 friend class Isolate; | 329 friend class Isolate; |
338 friend class StackZone; | 330 friend class StackZone; |
339 friend class ThreadRegistry; | 331 friend class ThreadRegistry; |
340 DISALLOW_COPY_AND_ASSIGN(Thread); | 332 DISALLOW_COPY_AND_ASSIGN(Thread); |
341 }; | 333 }; |
342 | 334 |
343 } // namespace dart | 335 } // namespace dart |
344 | 336 |
345 #endif // VM_THREAD_H_ | 337 #endif // VM_THREAD_H_ |
OLD | NEW |