OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 5 #ifndef V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
6 #define V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 6 #define V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/compiler/graph-reducer.h" | 9 #include "src/compiler/graph-reducer.h" |
10 #include "src/deoptimize-reason.h" | 10 #include "src/deoptimize-reason.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 Reduction ReduceJSLoadNamed(Node* node); | 58 Reduction ReduceJSLoadNamed(Node* node); |
59 Reduction ReduceJSStoreNamed(Node* node); | 59 Reduction ReduceJSStoreNamed(Node* node); |
60 Reduction ReduceJSLoadProperty(Node* node); | 60 Reduction ReduceJSLoadProperty(Node* node); |
61 Reduction ReduceJSStoreProperty(Node* node); | 61 Reduction ReduceJSStoreProperty(Node* node); |
62 | 62 |
63 Reduction ReduceElementAccess(Node* node, Node* index, Node* value, | 63 Reduction ReduceElementAccess(Node* node, Node* index, Node* value, |
64 MapHandleList const& receiver_maps, | 64 MapHandleList const& receiver_maps, |
65 AccessMode access_mode, | 65 AccessMode access_mode, |
66 LanguageMode language_mode, | 66 LanguageMode language_mode, |
67 KeyedAccessStoreMode store_mode); | 67 KeyedAccessStoreMode store_mode); |
| 68 template <typename KeyedICNexus> |
68 Reduction ReduceKeyedAccess(Node* node, Node* index, Node* value, | 69 Reduction ReduceKeyedAccess(Node* node, Node* index, Node* value, |
69 FeedbackNexus const& nexus, | 70 KeyedICNexus const& nexus, AccessMode access_mode, |
70 AccessMode access_mode, | |
71 LanguageMode language_mode, | 71 LanguageMode language_mode, |
72 KeyedAccessStoreMode store_mode); | 72 KeyedAccessStoreMode store_mode); |
73 Reduction ReduceNamedAccess(Node* node, Node* value, | 73 Reduction ReduceNamedAccess(Node* node, Node* value, |
74 FeedbackNexus const& nexus, Handle<Name> name, | 74 FeedbackNexus const& nexus, Handle<Name> name, |
75 AccessMode access_mode, | 75 AccessMode access_mode, |
76 LanguageMode language_mode); | 76 LanguageMode language_mode); |
77 Reduction ReduceNamedAccess(Node* node, Node* value, | 77 Reduction ReduceNamedAccess(Node* node, Node* value, |
78 MapHandleList const& receiver_maps, | 78 MapHandleList const& receiver_maps, |
79 Handle<Name> name, AccessMode access_mode, | 79 Handle<Name> name, AccessMode access_mode, |
80 LanguageMode language_mode, | 80 LanguageMode language_mode, |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); | 160 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); |
161 }; | 161 }; |
162 | 162 |
163 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) | 163 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) |
164 | 164 |
165 } // namespace compiler | 165 } // namespace compiler |
166 } // namespace internal | 166 } // namespace internal |
167 } // namespace v8 | 167 } // namespace v8 |
168 | 168 |
169 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 169 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
OLD | NEW |