case ArgOnStackR8:
case ArgVtypeOnStack:
return ccontext->stack + ainfo->offset;
+ case ArgVtypeByRefOnStack:
+ return *(gpointer*)(ccontext->stack + ainfo->offset);
case ArgVtypeByRef:
return (gpointer) ccontext->gregs [ainfo->reg];
default:
if (ainfo->storage == ArgVtypeByRef) {
ccontext->gregs [ainfo->reg] = (host_mgreg_t)interp_cb->frame_arg_to_storage ((MonoInterpFrameHandle)frame, sig, i);
continue;
+ } else if (ainfo->storage == ArgVtypeByRefOnStack) {
+ storage = ccontext->stack + ainfo->offset;
+ *(gpointer*)storage = interp_cb->frame_arg_to_storage (frame, sig, i);
+ continue;
}
int temp_size = arg_need_temp (ainfo);