Index: runtime/vm/stub_code_x64.cc |
diff --git a/runtime/vm/stub_code_x64.cc b/runtime/vm/stub_code_x64.cc |
index d60227d207974dda81aad9bf566edd88aeef2b17..f679a748d4b9bae0f9ba9808bd84b11b6bcb1810 100644 |
--- a/runtime/vm/stub_code_x64.cc |
+++ b/runtime/vm/stub_code_x64.cc |
@@ -833,6 +833,15 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { |
// Push arguments. At this point we only need to preserve kTargetCodeReg. |
ASSERT(kTargetCodeReg != RDX); |
+ // TODO(regis): Do we need to support type arguments when calling from C++? |
rmacnak
2017/06/14 00:14:20
Or mirrors? *cringe*
Let's not add this until the
regis
2017/06/14 21:02:05
Agreed.
|
+ // TODO(regis): Add this check or proper implementation to other platforms. |
+ __ cmpq(FieldAddress(R10, ArgumentsDescriptor::type_args_len_offset()), |
+ Immediate(0)); |
+ Label no_type_args; |
+ __ j(EQUAL, &no_type_args, Assembler::kNearJump); |
+ __ int3(); |
+ __ Bind(&no_type_args); |
+ |
// Load number of arguments into RBX. |
__ movq(RBX, FieldAddress(R10, ArgumentsDescriptor::count_offset())); |
__ SmiUntag(RBX); |