| Index: src/ast.cc
|
| diff --git a/src/ast.cc b/src/ast.cc
|
| index edea0f5f7e342457164cde6f43a304275f478a35..9cce1da71df71fa3c11854a9a15a4a4f87593fa8 100644
|
| --- a/src/ast.cc
|
| +++ b/src/ast.cc
|
| @@ -1028,7 +1028,6 @@ CaseClause::CaseClause(Zone* zone,
|
| void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| increase_node_count(); \
|
| set_dont_optimize_reason(k##NodeType); \
|
| - add_flag(kDontInline); \
|
| add_flag(kDontSelfOptimize); \
|
| }
|
| #define DONT_SELFOPTIMIZE_NODE(NodeType) \
|
| @@ -1046,7 +1045,6 @@ CaseClause::CaseClause(Zone* zone,
|
| void AstConstructionVisitor::Visit##NodeType(NodeType* node) { \
|
| increase_node_count(); \
|
| set_dont_optimize_reason(k##NodeType); \
|
| - add_flag(kDontInline); \
|
| add_flag(kDontSelfOptimize); \
|
| add_flag(kDontCache); \
|
| }
|
| @@ -1079,7 +1077,8 @@ REGULAR_NODE(ThisFunction)
|
| REGULAR_NODE_WITH_FEEDBACK_SLOTS(Call)
|
| REGULAR_NODE_WITH_FEEDBACK_SLOTS(CallNew)
|
| // In theory, for VariableProxy we'd have to add:
|
| -// if (node->var()->IsLookupSlot()) add_flag(kDontInline);
|
| +// if (node->var()->IsLookupSlot())
|
| +// set_dont_optimize_reason(kReferenceToAVariableWhichRequiresDynamicLookup);
|
| // But node->var() is usually not bound yet at VariableProxy creation time, and
|
| // LOOKUP variables only result from constructs that cannot be inlined anyway.
|
| REGULAR_NODE(VariableProxy)
|
| @@ -1111,9 +1110,8 @@ DONT_CACHE_NODE(ModuleLiteral)
|
| void AstConstructionVisitor::VisitCallRuntime(CallRuntime* node) {
|
| increase_node_count();
|
| if (node->is_jsruntime()) {
|
| - // Don't try to inline JS runtime calls because we don't (currently) even
|
| - // optimize them.
|
| - add_flag(kDontInline);
|
| + // Don't try to optimize JS runtime calls because we bailout on them.
|
| + set_dont_optimize_reason(kCallToAJavaScriptRuntimeFunction);
|
| }
|
| }
|
|
|
|
|