Index: runtime/vm/flow_graph_inliner.cc |
diff --git a/runtime/vm/flow_graph_inliner.cc b/runtime/vm/flow_graph_inliner.cc |
index 1d3937704a34d910e05de19ccb421b8a24a49274..235244d53f989b9d0f23422d4eb7a8a91afb0b58 100644 |
--- a/runtime/vm/flow_graph_inliner.cc |
+++ b/runtime/vm/flow_graph_inliner.cc |
@@ -1261,6 +1261,13 @@ class CallSiteInliner : public ValueObject { |
TRACE_INLINING(THR_Print(" Bailout: non-closure operator\n")); |
continue; |
} |
+ |
+ if (call->ArgumentCount() > target.NumParameters() || |
+ call->ArgumentCount() < target.num_fixed_parameters()) { |
+ TRACE_INLINING(THR_Print(" Bailout: wrong parameter count\n")); |
+ continue; |
+ } |
+ |
GrowableArray<Value*> arguments(call->ArgumentCount()); |
for (int i = 0; i < call->ArgumentCount(); ++i) { |
arguments.Add(call->PushArgumentAt(i)->value()); |