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