| Index: src/crankshaft/hydrogen.h
|
| diff --git a/src/crankshaft/hydrogen.h b/src/crankshaft/hydrogen.h
|
| index 1a83ba0c901ad71494068bab4508b36d5c1d675e..66b50ed38e07adf85fd6a50ac7b9ceafbc210da5 100644
|
| --- a/src/crankshaft/hydrogen.h
|
| +++ b/src/crankshaft/hydrogen.h
|
| @@ -2271,8 +2271,8 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor {
|
| void VisitLogicalExpression(BinaryOperation* expr);
|
| void VisitArithmeticExpression(BinaryOperation* expr);
|
|
|
| - void VisitLoopBody(IterationStatement* stmt,
|
| - HBasicBlock* loop_entry);
|
| + template <class IterationStatement>
|
| + void VisitLoopBody(IterationStatement* stmt, HBasicBlock* loop_entry);
|
|
|
| void BuildForInBody(ForInStatement* stmt, Variable* each_var,
|
| HValue* enumerable);
|
| @@ -2296,6 +2296,7 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor {
|
| // Builds a loop entry respectful of OSR requirements
|
| HBasicBlock* BuildLoopEntry(IterationStatement* statement);
|
|
|
| + template <class IterationStatement>
|
| HBasicBlock* JoinContinue(IterationStatement* statement,
|
| HBasicBlock* exit_block,
|
| HBasicBlock* continue_block);
|
| @@ -2685,6 +2686,7 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor {
|
| BailoutId ast_id, BailoutId return_id,
|
| bool can_inline_accessor = true);
|
|
|
| + template <class Expression>
|
| HValue* BuildNamedAccess(PropertyAccessType access, BailoutId ast_id,
|
| BailoutId reutrn_id, Expression* expr,
|
| FeedbackVectorSlot slot, HValue* object,
|
| @@ -2747,6 +2749,7 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor {
|
| HValue* val, SmallMapList* maps, PropertyAccessType access_type,
|
| KeyedAccessStoreMode store_mode, bool* has_side_effects);
|
|
|
| + template <class Expression>
|
| HValue* HandleKeyedElementAccess(HValue* obj, HValue* key, HValue* val,
|
| Expression* expr, FeedbackVectorSlot slot,
|
| BailoutId ast_id, BailoutId return_id,
|
| @@ -2766,11 +2769,13 @@ class HOptimizedGraphBuilder : public HGraphBuilder, public AstVisitor {
|
| HValue* object,
|
| HValue* key);
|
|
|
| + template <class Expression>
|
| void BuildStoreForEffect(Expression* expression, Property* prop,
|
| FeedbackVectorSlot slot, BailoutId ast_id,
|
| BailoutId return_id, HValue* object, HValue* key,
|
| HValue* value);
|
|
|
| + template <class Expression>
|
| void BuildStore(Expression* expression, Property* prop,
|
| FeedbackVectorSlot slot, BailoutId ast_id,
|
| BailoutId return_id, bool is_uninitialized = false);
|
|
|