[mono] Make some icalls pass/return object references using ObjectHandleOnStack/QCallTypeHandle (#62141)
* [mono] Make some icalls return objects using an extra ObjectHandleOnStack argument.
* Fix the passing of scalar vtypes on wasm.
* Convert RuntimeTypeHandle icalls to receive a QCallTypeHandle.
Also do some other cleanups:
* Convert some icalls which don't receive/return objects any more and don't
return an error to NOHANDLES.
* Implement IsGenericVariable in managed code.
* Add a separate GetMetadataToken icall to avoid the REUSE_WRAPPER stuff.
* Sync the implementation of IsTypeDefinition with coreclr.
* Convert some RuntimeType icalls to use QCallTypeHandles/ObjectHandleOnStack.
* Fix RuntimeType.GetPacking () to work with dynamic types.
* Convert internal_from_name to use QCallTypeHandles/ObjectHandleOnStack.
* Convert more icalls.
* Update src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/QCallHandles.cs
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
* Remove unused argument from RuntimeTypeHandle:internal_from_name ().
* Add support for FRAME_TYPE_IL_STATE to the metadata stack walker code.
* Update coding style in QCallTypeHandle:.ctor ().
* Revert "Convert more icalls."
* Convert some Delegate icalls.
* Convert some Enum icalls.
* Convert some Marshal icalls.
* Avoid creating RuntimeType objects while AOTing.
* Convert some RuntimeType icalls.
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
19 files changed: