ThreadContext *context;
stackval result;
stackval *args;
- stackval *retval;
MonoMethod *method;
MonoMethodSignature *sig;
MonoType *type;
}
memset (&result, 0, sizeof (result));
- retval = &result;
- frame = alloc_frame (context, &result, NULL, data->rmethod, args, retval);
+ frame = alloc_frame (context, &result, NULL, data->rmethod, args, &result);
type = rmethod->rtype;
switch (type->type) {
case MONO_TYPE_GENERICINST:
if (!MONO_TYPE_IS_REFERENCE (type))
- retval->data.vt = data->res;
+ result.data.vt = data->res;
break;
case MONO_TYPE_VALUETYPE:
- retval->data.vt = data->res;
+ result.data.vt = data->res;
break;
default:
break;
break;
case MONO_TYPE_OBJECT:
/* No need for a write barrier */
- *(MonoObject**)data->res = (MonoObject*)retval->data.p;
+ *(MonoObject**)data->res = (MonoObject*)result.data.p;
break;
case MONO_TYPE_GENERICINST:
if (MONO_TYPE_IS_REFERENCE (type)) {
- *(MonoObject**)data->res = (MonoObject*)retval->data.p;
+ *(MonoObject**)data->res = (MonoObject*)result.data.p;
} else {
/* Already set before the call */
}
/* Already set before the call */
break;
default:
- stackval_to_data (type, retval, data->res, FALSE);
+ stackval_to_data (type, &result, data->res, FALSE);
break;
}
}