@Throws(Exception::class) private fun CallStaticVoidMethod(env: JNIEnvironment, classJREF: Int, methodID: Int) { if (VM.VerifyAssertions) { VM._assert(VM.BuildForPowerPC, ERROR_MSG_WRONG_IMPLEMENTATION) } if (traceJNI) VM.sysWrite("JNI called: CallStaticVoidMethod \n") RuntimeEntrypoints.checkJNICountDownToGC() try { JNIHelpers.invokeWithDotDotVarArg(methodID, TypeReference.Void) } catch (unexpected: Throwable) { if (traceJNI) unexpected.printStackTrace(System.err) env.recordException(unexpected) } }
CallStaticVoidMethod : invoke a static method that returns void arguments passed using the vararg ... style NOTE : the vararg 's are not visible in the method signature here ; they are saved in the caller frame and the glue frame < p > < strong > NOTE : This implementation is NOT used for IA32 . On IA32 , it is overwritten with a C implementation in the bootloader when the VM starts. < /strong >