C++ library for launching and interacting with Foreign Runtimes (JVM,CLR,V8)
Aim is to provide one API for common operations (Launching, Type lookup, Code execution and Shutdown) instead for runtime-specific APIs - JVM -> JNI, CLR -> CLR Hosting, etc.
Operation | JVM |
---|---|
Type lookup | Yes |
Constructor lookup | Yes |
Type method lookup | Yes |
Type method call | Yes |
Type field lookup | Yes |
Object method lookup | Yes |
Object method call | Yes |
Object field lookup | Yes |
Primitive type wrapping | Yes |
Conversion to text representation | Yes |
- Arrays
- Options
- Optional logging ( environment variable, option or other)
- One thread use synchronisation (for now)
- Internal Type/Constructor/Method/Field cache (probably only JVM specific)
- Access to path of resources loaded with runtime (JAR,DLL,JS, etc...)
- Execution modes: Thread or Process (required check if runtime support requested mode)
- JVM: Use of java.lang.Class for accessing required information (wrapper)
- JVM: Generics
- JVM: Inner classes
- JVM: JNI do not respect private/protected/"default" scopes, additional checkup needed before scheduling work on JVM