@@ -25,6 +25,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
2525 return JNI_VERSION_1_6;
2626}
2727
28+ // @FastNative signature - optimized JNI, keeps JNIEnv* for jstring handling
2829extern " C" JNIEXPORT void Java_com_tns_Runtime_SetManualInstrumentationMode (JNIEnv* _env, jobject obj, jstring mode) {
2930 try {
3031 Runtime::SetManualInstrumentationMode (mode);
@@ -214,13 +215,14 @@ extern "C" JNIEXPORT void Java_com_tns_Runtime_createJSInstanceNative(JNIEnv* _e
214215 }
215216}
216217
217- extern " C" JNIEXPORT jint Java_com_tns_Runtime_generateNewObjectId (JNIEnv* env, jobject obj, jint runtimeId) {
218+ // @CriticalNative signature - no JNIEnv* or jobject parameters
219+ extern " C" JNIEXPORT jint Java_com_tns_Runtime_generateNewObjectId (jint runtimeId) {
218220 try {
219221 auto runtime = TryGetRuntime (runtimeId);
220222 if (runtime == nullptr ) {
221223 return 0 ;
222224 }
223- return runtime->GenerateNewObjectId (env, obj );
225+ return runtime->GenerateNewObjectId (nullptr , nullptr );
224226 } catch (NativeScriptException& e) {
225227 e.ReThrowToJava ();
226228 } catch (std::exception e) {
@@ -236,6 +238,7 @@ extern "C" JNIEXPORT jint Java_com_tns_Runtime_generateNewObjectId(JNIEnv* env,
236238 return 0 ;
237239}
238240
241+ // @FastNative signature - optimized JNI, keeps JNIEnv* for NotifyGC
239242extern " C" JNIEXPORT jboolean Java_com_tns_Runtime_notifyGc (JNIEnv* env, jobject obj, jint runtimeId) {
240243 auto runtime = TryGetRuntime (runtimeId);
241244 if (runtime == nullptr ) {
@@ -288,11 +291,13 @@ extern "C" JNIEXPORT void Java_com_tns_Runtime_passExceptionToJsNative(JNIEnv* e
288291 }
289292}
290293
291- extern " C" JNIEXPORT jint Java_com_tns_Runtime_getPointerSize (JNIEnv* env, jobject obj) {
294+ // @CriticalNative signature - no JNIEnv* or jobject parameters
295+ extern " C" JNIEXPORT jint Java_com_tns_Runtime_getPointerSize () {
292296 return sizeof (void *);
293297}
294298
295- extern " C" JNIEXPORT jint Java_com_tns_Runtime_getCurrentRuntimeId (JNIEnv* _env, jobject obj) {
299+ // @CriticalNative signature - no JNIEnv* or jobject parameters
300+ extern " C" JNIEXPORT jint Java_com_tns_Runtime_getCurrentRuntimeId () {
296301 Isolate* isolate = Isolate::TryGetCurrent ();
297302 if (isolate == nullptr ) {
298303 return -1 ;
0 commit comments