emit_pre_pop_r64(emit,&vtype_fun,REG_ARG_1);// the function
emit_pre_pop_reg(emit,&vtype_fun,REG_ARG_1);// the function
assert(vtype_fun==VTYPE_PYOBJ);
emit_call(emit,rt_call_function_0);
}elseif(n_positional==1){
vtype_kind_tvtype_fun,vtype_arg1;
emit_pre_pop_r64_r64(emit,&vtype_arg1,REG_ARG_2,&vtype_fun,REG_ARG_1);// the single argument, the function
emit_pre_pop_reg_reg(emit,&vtype_arg1,REG_ARG_2,&vtype_fun,REG_ARG_1);// the single argument, the function
assert(vtype_fun==VTYPE_PYOBJ);
assert(vtype_arg1==VTYPE_PYOBJ);
emit_call(emit,rt_call_function_1);
}elseif(n_positional==2){
vtype_kind_tvtype_fun,vtype_arg1,vtype_arg2;
emit_pre_pop_r64_r64_r64(emit,&vtype_arg2,REG_ARG_3,&vtype_arg1,REG_ARG_2,&vtype_fun,REG_ARG_1);// the second argument, the first argument, the function
emit_pre_pop_reg_reg_reg(emit,&vtype_arg2,REG_ARG_3,&vtype_arg1,REG_ARG_2,&vtype_fun,REG_ARG_1);// the second argument, the first argument, the function
assert(vtype_fun==VTYPE_PYOBJ);
assert(vtype_arg1==VTYPE_PYOBJ);
assert(vtype_arg2==VTYPE_PYOBJ);
...
...
@@ -842,20 +842,20 @@ static void emit_viper_x64_call_function(emit_t *emit, int n_positional, int n_k
emit_pre_pop_r64_r64(emit,&vtype_self,REG_ARG_2,&vtype_meth,REG_ARG_1);// the self object (or NULL), the method
emit_pre_pop_reg_reg(emit,&vtype_self,REG_ARG_2,&vtype_meth,REG_ARG_1);// the self object (or NULL), the method
assert(vtype_meth==VTYPE_PYOBJ);
assert(vtype_self==VTYPE_PYOBJ);
emit_call(emit,rt_call_method_1);
}elseif(n_positional==1){
vtype_kind_tvtype_meth,vtype_self,vtype_arg1;
emit_pre_pop_r64_r64_r64(emit,&vtype_arg1,REG_ARG_3,&vtype_self,REG_ARG_2,&vtype_meth,REG_ARG_1);// the first argument, the self object (or NULL), the method
emit_pre_pop_reg_reg_reg(emit,&vtype_arg1,REG_ARG_3,&vtype_self,REG_ARG_2,&vtype_meth,REG_ARG_1);// the first argument, the self object (or NULL), the method
assert(vtype_meth==VTYPE_PYOBJ);
assert(vtype_self==VTYPE_PYOBJ);
assert(vtype_arg1==VTYPE_PYOBJ);
...
...
@@ -863,14 +863,14 @@ static void emit_viper_x64_call_method(emit_t *emit, int n_positional, int n_key