Index: src/compiler/js-inlining.cc |
diff --git a/src/compiler/js-inlining.cc b/src/compiler/js-inlining.cc |
index 0b7c78979c8869fffe25f801bda4df5b5e0b9dac..1fb531415c78ca26efb1e3375d5a2ae20c04e156 100644 |
--- a/src/compiler/js-inlining.cc |
+++ b/src/compiler/js-inlining.cc |
@@ -246,13 +246,17 @@ Reduction JSInliner::Reduce(Node* node) { |
JSCallFunctionAccessor call(node); |
HeapObjectMatcher match(call.jsfunction()); |
- if (!match.HasValue()) return NoChange(); |
- |
- if (!match.Value()->IsJSFunction()) return NoChange(); |
+ if (!match.HasValue() || !match.Value()->IsJSFunction()) return NoChange(); |
Handle<JSFunction> function = Handle<JSFunction>::cast(match.Value()); |
- if (mode_ == kRestrictedInlining && !function->shared()->force_inline()) { |
- return NoChange(); |
- } |
+ |
+ return ReduceJSCallFunction(node, function); |
+} |
+ |
+ |
+Reduction JSInliner::ReduceJSCallFunction(Node* node, |
+ Handle<JSFunction> function) { |
+ DCHECK_EQ(IrOpcode::kJSCallFunction, node->opcode()); |
+ JSCallFunctionAccessor call(node); |
if (function->shared()->HasDebugInfo()) { |
// Function contains break points. |