Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: runtime/vm/thread.h

Issue 2226893002: Optimize AOT's switchable calls for the monomorphic case. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: . Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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) \
90 92
91 #endif 93 #endif
92 94
93 // List of VM-global objects/addresses cached in each Thread object. 95 // List of VM-global objects/addresses cached in each Thread object.
94 #define CACHED_VM_OBJECTS_LIST(V) \ 96 #define CACHED_VM_OBJECTS_LIST(V) \
95 V(RawObject*, object_null_, Object::null(), NULL) \ 97 V(RawObject*, object_null_, Object::null(), NULL) \
96 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \ 98 V(RawBool*, bool_true_, Object::bool_true().raw(), NULL) \
97 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \ 99 V(RawBool*, bool_false_, Object::bool_false().raw(), NULL) \
98 CACHED_VM_STUBS_LIST(V) \ 100 CACHED_VM_STUBS_LIST(V) \
99 101
100 #if defined(TARGET_ARCH_DBC) 102 #if defined(TARGET_ARCH_DBC)
101 #define CACHED_VM_STUBS_ADDRESSES_LIST(V) 103 #define CACHED_VM_STUBS_ADDRESSES_LIST(V)
102 #else 104 #else
103 #define CACHED_VM_STUBS_ADDRESSES_LIST(V) \ 105 #define CACHED_VM_STUBS_ADDRESSES_LIST(V) \
104 V(uword, update_store_buffer_entry_point_, \ 106 V(uword, update_store_buffer_entry_point_, \
105 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \ 107 StubCode::UpdateStoreBuffer_entry()->EntryPoint(), 0) \
106 V(uword, call_to_runtime_entry_point_, \ 108 V(uword, call_to_runtime_entry_point_, \
107 StubCode::CallToRuntime_entry()->EntryPoint(), 0) \ 109 StubCode::CallToRuntime_entry()->EntryPoint(), 0) \
108 V(uword, megamorphic_lookup_entry_point_, \ 110 V(uword, megamorphic_lookup_checked_entry_, \
109 StubCode::MegamorphicLookup_entry()->EntryPoint(), 0) \ 111 StubCode::MegamorphicLookup_entry()->CheckedEntryPoint(), 0) \
110 112
111 #endif 113 #endif
112 114
113 #define CACHED_ADDRESSES_LIST(V) \ 115 #define CACHED_ADDRESSES_LIST(V) \
114 CACHED_VM_STUBS_ADDRESSES_LIST(V) \ 116 CACHED_VM_STUBS_ADDRESSES_LIST(V) \
115 V(uword, native_call_wrapper_entry_point_, \ 117 V(uword, native_call_wrapper_entry_point_, \
116 NativeEntry::NativeCallWrapperEntry(), 0) \ 118 NativeEntry::NativeCallWrapperEntry(), 0) \
117 V(RawString**, predefined_symbols_address_, \ 119 V(RawString**, predefined_symbols_address_, \
118 Symbols::PredefinedAddress(), NULL) \ 120 Symbols::PredefinedAddress(), NULL) \
119 V(uword, double_negate_address_, \ 121 V(uword, double_negate_address_, \
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 // Disable thread interrupts. 770 // Disable thread interrupts.
769 class DisableThreadInterruptsScope : public StackResource { 771 class DisableThreadInterruptsScope : public StackResource {
770 public: 772 public:
771 explicit DisableThreadInterruptsScope(Thread* thread); 773 explicit DisableThreadInterruptsScope(Thread* thread);
772 ~DisableThreadInterruptsScope(); 774 ~DisableThreadInterruptsScope();
773 }; 775 };
774 776
775 } // namespace dart 777 } // namespace dart
776 778
777 #endif // VM_THREAD_H_ 779 #endif // VM_THREAD_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698