Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index ba57e43741878ec99021a67e0997cc3bd71ed41c..aa2e1711dc7807432e911347472ea6855d299bef 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -2218,6 +2218,7 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
bool TryInlineCall(Call* expr); |
bool TryInlineConstruct(CallNew* expr, HValue* implicit_return_value); |
bool TryInlineGetter(Handle<JSFunction> getter, |
+ Handle<Map> receiver_map, |
BailoutId ast_id, |
BailoutId return_id); |
bool TryInlineSetter(Handle<JSFunction> setter, |
@@ -2231,14 +2232,24 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
HValue* receiver, |
Handle<Map> receiver_map); |
bool TryInlineBuiltinFunctionCall(Call* expr); |
+ enum ApiCallType { |
+ kCallApiFunction, |
+ kCallApiMethod, |
+ kCallApiGetter |
+ }; |
bool TryInlineApiMethodCall(Call* expr, |
HValue* receiver, |
- Handle<Map> receiver_map); |
+ SmallMapList* receiver_types); |
bool TryInlineApiFunctionCall(Call* expr, HValue* receiver); |
- bool TryInlineApiCall(Call* expr, |
- HValue* receiver, |
- Handle<Map> receiver_map, |
- bool is_function_call); |
+ bool TryInlineApiGetter(Handle<JSFunction> function, |
+ Handle<Map> receiver_map, |
+ BailoutId ast_id); |
+ bool TryInlineApiCall(Handle<JSFunction> function, |
+ HValue* receiver, |
+ SmallMapList* receiver_maps, |
+ int argc, |
+ BailoutId ast_id, |
+ ApiCallType call_type); |
// If --trace-inlining, print a line of the inlining trace. Inlining |
// succeeded if the reason string is NULL and failed if there is a |
@@ -2374,6 +2385,7 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor { |
Handle<String> name_; |
Handle<JSObject> holder_; |
Handle<JSFunction> accessor_; |
+ Handle<JSObject> api_holder_; |
Handle<Object> constant_; |
Handle<Map> transition_; |
HObjectAccess access_; |