Re: Method for common marshaling between calls in/out of mono?

Jonathan Mitchell <[email protected]>
Newsgroups gmane.comp.gnome.mono.devel
Message-ID <[email protected]>
> On 19 Mar 2017, at 22:34, Chase <[email protected]> wrote:
> 
> I apologize as I used the term marshaling incorrectly here.  I used it as a
> term to describe the differences in how certain objects specifically structs
> are passed between the two methods.  As for internal calls, you receive a
> pointer to memory of the struct, and thunks you pass a boxed mono object.
> 
These API’s (not forgetting mono_runtime_invoke) do, as you say, use different calling conventions for their reference type arguments.
I don’t think that there is much to be done about this at the Mono run time level.

The thunking API is certainly simpler given that you just have to provide MonoObject *.

You could likely provide some helper functions that could query an exclusively  MonoObject * argument list and unbox reference types on the fly.

> I've written a wrapper generator which aids in the process of binding the
> languages. 

Which language are you calling into the embedded API from?

In my own case my wrappers are produced a code generator which understands how to generate argument lists both for property thunking and for method invocation using mono_runtime_invoke.

Jonathan
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.dot.net/mailman/listinfo/mono-devel-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.