Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(774)

Unified Diff: runtime/vm/kernel_binary_flowgraph.cc

Issue 2969723002: [VM, generic functions reification, work in progress] (Closed)
Patch Set: Merge branch 'master' into slave Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/kernel_binary_flowgraph.h ('k') | runtime/vm/kernel_to_il.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/kernel_binary_flowgraph.cc
diff --git a/runtime/vm/kernel_binary_flowgraph.cc b/runtime/vm/kernel_binary_flowgraph.cc
index cb23a871590e2b925cf7299ffcd71db0f7ded1b1..04c68ae0dbc3e43b2271f6ae112fbb2825489452 100644
--- a/runtime/vm/kernel_binary_flowgraph.cc
+++ b/runtime/vm/kernel_binary_flowgraph.cc
@@ -4427,11 +4427,12 @@ Fragment StreamingFlowGraphBuilder::InstanceCall(
TokenPosition position,
const dart::String& name,
Token::Kind kind,
+ intptr_t type_args_len,
intptr_t argument_count,
const Array& argument_names,
intptr_t checked_argument_count) {
- return flow_graph_builder_->InstanceCall(position, name, kind, argument_count,
- argument_names,
+ return flow_graph_builder_->InstanceCall(position, name, kind, type_args_len,
+ argument_count, argument_names,
checked_argument_count);
}
@@ -4956,6 +4957,7 @@ Fragment StreamingFlowGraphBuilder::BuildMethodInvocation(TokenPosition* p) {
instructions += PushArgument(); // push receiver as argument.
// TODO(28109) Support generic methods in the VM or reify them away.
+ const intptr_t kTypeArgsLen = 0;
Array& argument_names = Array::ZoneHandle(Z);
intptr_t argument_count;
instructions +=
@@ -4970,8 +4972,9 @@ Fragment StreamingFlowGraphBuilder::BuildMethodInvocation(TokenPosition* p) {
checked_argument_count = argument_count;
}
- instructions += InstanceCall(position, name, token_kind, argument_count,
- argument_names, checked_argument_count);
+ instructions +=
+ InstanceCall(position, name, token_kind, kTypeArgsLen, argument_count,
+ argument_names, checked_argument_count);
// Later optimization passes assume that result of a x.[]=(...) call is not
// used. We must guarantee this invariant because violation will lead to an
// illegal IL once we replace x.[]=(...) with a sequence that does not
« no previous file with comments | « runtime/vm/kernel_binary_flowgraph.h ('k') | runtime/vm/kernel_to_il.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698