Index: src/compiler/js-inlining.cc |
diff --git a/src/compiler/js-inlining.cc b/src/compiler/js-inlining.cc |
index 2244f9bbfe9294651d70edc6870839f3979d1780..712d5589746e1708c3e1f5bcd2a3d4af1ec59031 100644 |
--- a/src/compiler/js-inlining.cc |
+++ b/src/compiler/js-inlining.cc |
@@ -395,17 +395,6 @@ Reduction JSInliner::ReduceJSCall(Node* node, Handle<JSFunction> function) { |
return NoChange(); |
} |
- // In strong mode, in case of too few arguments we need to throw a TypeError |
- // so we must not inline this call. |
- int parameter_count = info.literal()->parameter_count(); |
- if (is_strong(info.language_mode()) && |
- call.formal_arguments() < parameter_count) { |
- TRACE("Not inlining %s into %s because too few arguments for strong mode\n", |
- shared_info->DebugName()->ToCString().get(), |
- info_->shared_info()->DebugName()->ToCString().get()); |
- return NoChange(); |
- } |
- |
if (!Compiler::EnsureDeoptimizationSupport(&info)) { |
TRACE("Not inlining %s into %s because deoptimization support failed\n", |
shared_info->DebugName()->ToCString().get(), |
@@ -512,6 +501,7 @@ Reduction JSInliner::ReduceJSCall(Node* node, Handle<JSFunction> function) { |
// count (i.e. value outputs of start node minus target, receiver, new target, |
// arguments count and context) have to match the number of arguments passed |
// to the call. |
+ int parameter_count = info.literal()->parameter_count(); |
DCHECK_EQ(parameter_count, start->op()->ValueOutputCount() - 5); |
if (call.formal_arguments() != parameter_count) { |
frame_state = CreateArtificialFrameState( |