[VM] Relax assertions in NativeArguments allowing native generic functions

NativeArguments don't allow you to access type arguments, but calling
conventions are setup in such a way that nothing else needs to be 
changed.

This is needed because we changed

List makeListFixedLength(List growableList)
    native "Internal_makeListFixedLength";

to 

List<T> makeListFixedLength<T>(List<T> growableList)
    native "Internal_makeListFixedLength";

Bug:
Change-Id: I2f8755f25c488a422a60f3efce2541de7cbeae0e
Reviewed-on: https://dart-review.googlesource.com/15080
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
This commit is contained in:
Vyacheslav Egorov 2017-10-19 07:13:06 +00:00
parent dcfb7b9a4c
commit 47ed51fe3f

View file

@ -151,7 +151,6 @@ class NativeArguments {
static intptr_t ParameterCountForResolution(const Function& function) {
ASSERT(function.is_native());
ASSERT(!function.IsGeneric()); // Not supported.
ASSERT(!function.IsGenerativeConstructor()); // Not supported.
intptr_t count = function.NumParameters();
if (function.is_static() && function.IsClosureFunction()) {
@ -166,7 +165,6 @@ class NativeArguments {
static int ComputeArgcTag(const Function& function) {
ASSERT(function.is_native());
ASSERT(!function.IsGeneric()); // Not supported.
ASSERT(!function.IsGenerativeConstructor()); // Not supported.
int tag = ArgcBits::encode(function.NumParameters());
int function_bits = 0;