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

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: sync 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
« no previous file with comments | « runtime/vm/stub_code_x64.cc ('k') | runtime/vm/unit_test.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) \
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
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_
OLDNEW
« no previous file with comments | « runtime/vm/stub_code_x64.cc ('k') | runtime/vm/unit_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698