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

Unified Diff: runtime/vm/intermediate_language_dbc.cc

Issue 2859673002: Pass type argument vector to generic functions (if --reify-generic-functions is (Closed)
Patch Set: address review comments and sync Created 3 years, 7 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/intermediate_language_arm64.cc ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language_dbc.cc
diff --git a/runtime/vm/intermediate_language_dbc.cc b/runtime/vm/intermediate_language_dbc.cc
index 04dd1905c3b3188124993a2d46e095e4e6bc12fe..169bd1466359d2958d7aa82cb2cb0fa575cb2e7f 100644
--- a/runtime/vm/intermediate_language_dbc.cc
+++ b/runtime/vm/intermediate_language_dbc.cc
@@ -239,8 +239,8 @@ EMIT_NATIVE_CODE(PolymorphicInstanceCall,
0,
Location::RegisterLocation(0),
LocationSummary::kCall) {
- const Array& arguments_descriptor = Array::Handle(ArgumentsDescriptor::New(
- instance_call()->ArgumentCount(), instance_call()->argument_names()));
+ const Array& arguments_descriptor =
+ Array::Handle(instance_call()->GetArgumentsDescriptor());
const intptr_t argdesc_kidx = __ AddConstant(arguments_descriptor);
// Push the target onto the stack.
@@ -450,12 +450,11 @@ EMIT_NATIVE_CODE(ClosureCall,
__ Push(locs()->in(0).reg());
}
- intptr_t argument_count = ArgumentCount();
- const Array& arguments_descriptor = Array::ZoneHandle(
- ArgumentsDescriptor::New(argument_count, argument_names()));
+ const Array& arguments_descriptor =
+ Array::ZoneHandle(GetArgumentsDescriptor());
const intptr_t argdesc_kidx =
compiler->assembler()->AddConstant(arguments_descriptor);
- __ StaticCall(argument_count, argdesc_kidx);
+ __ StaticCall(ArgumentCount(), argdesc_kidx);
compiler->RecordAfterCall(this, FlowGraphCompiler::kHasResult);
if (compiler->is_optimizing()) {
__ PopLocal(locs()->out(0).reg());
@@ -918,9 +917,10 @@ EMIT_NATIVE_CODE(StringInterpolate,
if (compiler->is_optimizing()) {
__ Push(locs()->in(0).reg());
}
+ const intptr_t kTypeArgsLen = 0;
const intptr_t kArgumentCount = 1;
- const Array& arguments_descriptor = Array::Handle(
- ArgumentsDescriptor::New(kArgumentCount, Object::null_array()));
+ const Array& arguments_descriptor = Array::Handle(ArgumentsDescriptor::New(
+ kTypeArgsLen, kArgumentCount, Object::null_array()));
__ PushConstant(CallFunction());
const intptr_t argdesc_kidx = __ AddConstant(arguments_descriptor);
__ StaticCall(kArgumentCount, argdesc_kidx);
« no previous file with comments | « runtime/vm/intermediate_language_arm64.cc ('k') | runtime/vm/intermediate_language_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698