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 |
35 | 43 |
36 #define CACHED_ADDRESSES_LIST(V) \ | 44 #define CACHED_ADDRESSES_LIST(V) \ |
37 V(uword, update_store_buffer_entry_point_, \ | 45 V(uword, update_store_buffer_entry_point_, \ |
38 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ | 46 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ |
39 V(RawString**, predefined_symbols_address_, \ | 47 V(RawString**, predefined_symbols_address_, \ |
40 Symbols::PredefinedAddress(), NULL) \ | 48 Symbols::PredefinedAddress(), NULL) \ |
41 | 49 |
42 #define CACHED_CONSTANTS_LIST(V) \ | 50 #define CACHED_CONSTANTS_LIST(V) \ |
43 CACHED_VM_OBJECTS_LIST(V) \ | 51 CACHED_VM_OBJECTS_LIST(V) \ |
44 CACHED_ADDRESSES_LIST(V) \ | 52 CACHED_ADDRESSES_LIST(V) \ |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 friend class ApiZone; | 336 friend class ApiZone; |
329 friend class Isolate; | 337 friend class Isolate; |
330 friend class StackZone; | 338 friend class StackZone; |
331 friend class ThreadRegistry; | 339 friend class ThreadRegistry; |
332 DISALLOW_COPY_AND_ASSIGN(Thread); | 340 DISALLOW_COPY_AND_ASSIGN(Thread); |
333 }; | 341 }; |
334 | 342 |
335 } // namespace dart | 343 } // namespace dart |
336 | 344 |
337 #endif // VM_THREAD_H_ | 345 #endif // VM_THREAD_H_ |
OLD | NEW |