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 "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "vm/atomic.h" | 10 #include "vm/atomic.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 V(RawCode*, update_store_buffer_code_, \ | 80 V(RawCode*, update_store_buffer_code_, \ |
81 StubCode::UpdateStoreBuffer_entry()->code(), NULL) \ | 81 StubCode::UpdateStoreBuffer_entry()->code(), NULL) \ |
82 V(RawCode*, fix_callers_target_code_, \ | 82 V(RawCode*, fix_callers_target_code_, \ |
83 StubCode::FixCallersTarget_entry()->code(), NULL) \ | 83 StubCode::FixCallersTarget_entry()->code(), NULL) \ |
84 V(RawCode*, fix_allocation_stub_code_, \ | 84 V(RawCode*, fix_allocation_stub_code_, \ |
85 StubCode::FixAllocationStubTarget_entry()->code(), NULL) \ | 85 StubCode::FixAllocationStubTarget_entry()->code(), NULL) \ |
86 V(RawCode*, invoke_dart_code_stub_, \ | 86 V(RawCode*, invoke_dart_code_stub_, \ |
87 StubCode::InvokeDartCode_entry()->code(), NULL) \ | 87 StubCode::InvokeDartCode_entry()->code(), NULL) \ |
88 V(RawCode*, call_to_runtime_stub_, \ | 88 V(RawCode*, call_to_runtime_stub_, \ |
89 StubCode::CallToRuntime_entry()->code(), NULL) \ | 89 StubCode::CallToRuntime_entry()->code(), NULL) \ |
| 90 V(RawCode*, monomorphic_miss_stub_, \ |
| 91 StubCode::MonomorphicMiss_entry()->code(), NULL) \ |
| 92 V(RawCode*, ic_lookup_through_code_stub_, \ |
| 93 StubCode::ICLookupThroughCode_entry()->code(), NULL) \ |
90 | 94 |
91 #endif | 95 #endif |
92 | 96 |
93 // List of VM-global objects/addresses cached in each Thread object. | 97 // List of VM-global objects/addresses cached in each Thread object. |
94 #define CACHED_VM_OBJECTS_LIST(V) \ | 98 #define CACHED_VM_OBJECTS_LIST(V) \ |
95 V(RawObject*, object_null_, Object::null(), NULL) \ | 99 V(RawObject*, object_null_, Object::null(), NULL) \ |
96 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \ | 100 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \ |
97 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ | 101 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ |
98 CACHED_VM_STUBS_LIST(V) \ | 102 CACHED_VM_STUBS_LIST(V) \ |
99 | 103 |
100 #if defined(TARGET_ARCH_DBC) | 104 #if defined(TARGET_ARCH_DBC) |
101 #define CACHED_VM_STUBS_ADDRESSES_LIST(V) | 105 #define CACHED_VM_STUBS_ADDRESSES_LIST(V) |
102 #else | 106 #else |
103 #define CACHED_VM_STUBS_ADDRESSES_LIST(V) \ | 107 #define CACHED_VM_STUBS_ADDRESSES_LIST(V) \ |
104 V(uword, update_store_buffer_entry_point_, \ | 108 V(uword, update_store_buffer_entry_point_, \ |
105 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ | 109 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ |
106 V(uword, call_to_runtime_entry_point_, \ | 110 V(uword, call_to_runtime_entry_point_, \ |
107 StubCode::CallToRuntime_entry()->EntryPoint(), 0) \ | 111 StubCode::CallToRuntime_entry()->EntryPoint(), 0) \ |
108 V(uword, megamorphic_lookup_entry_point_, \ | 112 V(uword, megamorphic_lookup_checked_entry_, \ |
109 StubCode::MegamorphicLookup_entry()->EntryPoint(), 0) \ | 113 StubCode::MegamorphicLookup_entry()->CheckedEntryPoint(), 0) \ |
110 | 114 |
111 #endif | 115 #endif |
112 | 116 |
113 #define CACHED_ADDRESSES_LIST(V) \ | 117 #define CACHED_ADDRESSES_LIST(V) \ |
114 CACHED_VM_STUBS_ADDRESSES_LIST(V) \ | 118 CACHED_VM_STUBS_ADDRESSES_LIST(V) \ |
115 V(uword, native_call_wrapper_entry_point_, \ | 119 V(uword, native_call_wrapper_entry_point_, \ |
116 NativeEntry::NativeCallWrapperEntry(), 0) \ | 120 NativeEntry::NativeCallWrapperEntry(), 0) \ |
117 V(RawString**, predefined_symbols_address_, \ | 121 V(RawString**, predefined_symbols_address_, \ |
118 Symbols::PredefinedAddress(), NULL) \ | 122 Symbols::PredefinedAddress(), NULL) \ |
119 V(uword, double_negate_address_, \ | 123 V(uword, double_negate_address_, \ |
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 // Disable thread interrupts. | 772 // Disable thread interrupts. |
769 class DisableThreadInterruptsScope : public StackResource { | 773 class DisableThreadInterruptsScope : public StackResource { |
770 public: | 774 public: |
771 explicit DisableThreadInterruptsScope(Thread* thread); | 775 explicit DisableThreadInterruptsScope(Thread* thread); |
772 ~DisableThreadInterruptsScope(); | 776 ~DisableThreadInterruptsScope(); |
773 }; | 777 }; |
774 | 778 |
775 } // namespace dart | 779 } // namespace dart |
776 | 780 |
777 #endif // VM_THREAD_H_ | 781 #endif // VM_THREAD_H_ |
OLD | NEW |