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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 MapHandleList* receiver_maps); | 142 MapHandleList* receiver_maps); |
143 | 143 |
144 // Try to infer a map for the given {receiver} at the current {effect}. | 144 // Try to infer a map for the given {receiver} at the current {effect}. |
145 // If a map is returned then you can be sure that the {receiver} definitely | 145 // If a map is returned then you can be sure that the {receiver} definitely |
146 // has the returned map at this point in the program (identified by {effect}). | 146 // has the returned map at this point in the program (identified by {effect}). |
147 MaybeHandle<Map> InferReceiverMap(Node* receiver, Node* effect); | 147 MaybeHandle<Map> InferReceiverMap(Node* receiver, Node* effect); |
148 // Try to infer a root map for the {receiver} independent of the current | 148 // Try to infer a root map for the {receiver} independent of the current |
149 // program location. | 149 // program location. |
150 MaybeHandle<Map> InferReceiverRootMap(Node* receiver); | 150 MaybeHandle<Map> InferReceiverRootMap(Node* receiver); |
151 | 151 |
152 bool CanInlineApiCall(PropertyAccessInfo const& access_info); | |
153 ValueEffectControl InlineApiCall( | 152 ValueEffectControl InlineApiCall( |
154 Node* receiver, Node* context, Node* target, Node* frame_state, | 153 Node* receiver, Node* context, Node* target, Node* frame_state, |
155 Node* parameter, Node* effect, Node* control, | 154 Node* parameter, Node* effect, Node* control, |
156 Handle<SharedFunctionInfo> shared_info, | 155 Handle<SharedFunctionInfo> shared_info, |
157 Handle<FunctionTemplateInfo> function_template_info); | 156 Handle<FunctionTemplateInfo> function_template_info); |
158 | 157 |
159 Graph* graph() const; | 158 Graph* graph() const; |
160 JSGraph* jsgraph() const { return jsgraph_; } | 159 JSGraph* jsgraph() const { return jsgraph_; } |
161 Isolate* isolate() const; | 160 Isolate* isolate() const; |
162 Factory* factory() const; | 161 Factory* factory() const; |
(...skipping 16 matching lines...) Expand all Loading... |
179 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); | 178 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); |
180 }; | 179 }; |
181 | 180 |
182 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) | 181 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) |
183 | 182 |
184 } // namespace compiler | 183 } // namespace compiler |
185 } // namespace internal | 184 } // namespace internal |
186 } // namespace v8 | 185 } // namespace v8 |
187 | 186 |
188 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 187 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
OLD | NEW |