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; |
24 class RawString; | 25 class RawString; |
25 class RuntimeEntry; | 26 class RuntimeEntry; |
26 class StackResource; | 27 class StackResource; |
27 class TimelineEventBlock; | 28 class TimelineEventBlock; |
28 class Zone; | 29 class Zone; |
29 | 30 |
30 // List of VM-global objects/addresses cached in each Thread object. | 31 // List of VM-global objects/addresses cached in each Thread object. |
31 #define CACHED_VM_OBJECTS_LIST(V) \ | 32 #define CACHED_VM_OBJECTS_LIST(V) \ |
32 V(RawObject*, object_null_, Object::null(), NULL) \ | 33 V(RawObject*, object_null_, Object::null(), NULL) \ |
33 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \ | 34 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \ |
34 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ | 35 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 V(RawCode*, invoke_dart_code_stub_, \ |
| 43 StubCode::InvokeDartCode_entry()->code(), NULL) \ |
| 44 |
35 | 45 |
36 #define CACHED_ADDRESSES_LIST(V) \ | 46 #define CACHED_ADDRESSES_LIST(V) \ |
37 V(uword, update_store_buffer_entry_point_, \ | 47 V(uword, update_store_buffer_entry_point_, \ |
38 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ | 48 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ |
39 V(RawString**, predefined_symbols_address_, \ | 49 V(RawString**, predefined_symbols_address_, \ |
40 Symbols::PredefinedAddress(), NULL) \ | 50 Symbols::PredefinedAddress(), NULL) \ |
41 | 51 |
42 #define CACHED_CONSTANTS_LIST(V) \ | 52 #define CACHED_CONSTANTS_LIST(V) \ |
43 CACHED_VM_OBJECTS_LIST(V) \ | 53 CACHED_VM_OBJECTS_LIST(V) \ |
44 CACHED_ADDRESSES_LIST(V) \ | 54 CACHED_ADDRESSES_LIST(V) \ |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 friend class ApiZone; | 338 friend class ApiZone; |
329 friend class Isolate; | 339 friend class Isolate; |
330 friend class StackZone; | 340 friend class StackZone; |
331 friend class ThreadRegistry; | 341 friend class ThreadRegistry; |
332 DISALLOW_COPY_AND_ASSIGN(Thread); | 342 DISALLOW_COPY_AND_ASSIGN(Thread); |
333 }; | 343 }; |
334 | 344 |
335 } // namespace dart | 345 } // namespace dart |
336 | 346 |
337 #endif // VM_THREAD_H_ | 347 #endif // VM_THREAD_H_ |
OLD | NEW |