| 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 |