Open
Description
"Big picture" method registration picture
- Remove marshal methods from binding assemblies
- Support three method registration approaches:
- Fully dynamic, via System.Linq.Expresssions/Java.Interop.Export
- Using the above
jnimarshalmethod-gen.exe
-generated marshaling assembly; see above.- This would be for non-AOT "Release" registration
- Using generated C code.
- Possibly most performant; for each method to register, we'd emit a
Java_...
method as per Java/native convention. - Allows using the default Java linker to resolve method symbols!
- Generated C code would use
mono_method_invoke()
/etc. to invoke thejnimarshalmethod-gen.exe
-generated marshal methods.
- Possibly most performant; for each method to register, we'd emit a