> On 12 Nov 2015, at 13:11, Robert Jordan <[email protected]> wrote:
> 
> On 12.11.2015 13:52, Jonathan Mitchell wrote:
>> 
>>> On 12 Nov 2015, at 12:41, Julian Mayer <[email protected]> wrote:
>>> 
>>> i didn't list any specific crash, because i tried in a million different 
>>> ways and got a different crash each time.
>>> 
>>> i've solved this now. it seems, a unmanaged thunk takes a hidden additional 
>>> parameter, MonoException ** which can't be NULL. of course this isn't 
>>> documented anywhere.
>>> 
>> This I feel is a real problem for the embedded API as it is.
>> The above is documented in the source, but not in the header.
>> Source comment documentation is fine for the source authors but it leaves 
>> consumers out in the cold.
>> The long and the short of it is that you really need to have the Mono 
>> embedded source to hand at all times even if you don’t build you own Mono.
> 
> In the past, the source code comments were picked up by some
> $TOOL and then published under some $URL of mono-project.com
> by a $PERSON (with $PERSON == Miguel, IIRC).
Yep, seen those. And as you say, less than complete. Traditional headed 
documentation is hard to beat though.
> 
> If you have questions about this API area, feel free to
> ask on this list. I'll do my best to answer them, if I
> can recall ;)

Okay, here goes!

I use mono_runtime_invoke for Obj-C property and method calls as per:
https://github.com/ThesaurusSoftware/Dubrovnik/blob/329aa5551a393c1dc609185164e35e44ddb27ba0/Framework/XCode/Utility/DBInvoke.m

I use a code generator to produce my embedded API binding code.
I reckon that if I can generate mono_runtime_invoke access code I can figure 
out how to do the same with thunks.

Currently I build a MonoMethodDesc *cache keyed by the method name to feed 
mono_runtime_invoke at the call site.
That part of the code predates your thunking API.
I presume that to use the thunks the best approach would be to build the thunk 
lazily, stash it in an instance var and then use as and when required?

I know this question is like, how long is a piece of linguine , but what sort 
of performance improvement does thunking potentially provide?

Jonathan

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to