412
413 /*
414 * Local Reference management. The two macros below are used
415 * throughout the back end whenever space for JNI local references
416 * is needed in the current frame.
417 */
418
419 void createLocalRefSpace(JNIEnv *env, jint capacity);
420
421 #define WITH_LOCAL_REFS(env, number) \
422 createLocalRefSpace(env, number); \
423 { /* BEGINNING OF WITH SCOPE */
424
425 #define END_WITH_LOCAL_REFS(env) \
426 JNI_FUNC_PTR(env,PopLocalFrame)(env, NULL); \
427 } /* END OF WITH SCOPE */
428
429 void saveGlobalRef(JNIEnv *env, jobject obj, jobject *pobj);
430 void tossGlobalRef(JNIEnv *env, jobject *pobj);
431
432 #endif
|
412
413 /*
414 * Local Reference management. The two macros below are used
415 * throughout the back end whenever space for JNI local references
416 * is needed in the current frame.
417 */
418
419 void createLocalRefSpace(JNIEnv *env, jint capacity);
420
421 #define WITH_LOCAL_REFS(env, number) \
422 createLocalRefSpace(env, number); \
423 { /* BEGINNING OF WITH SCOPE */
424
425 #define END_WITH_LOCAL_REFS(env) \
426 JNI_FUNC_PTR(env,PopLocalFrame)(env, NULL); \
427 } /* END OF WITH SCOPE */
428
429 void saveGlobalRef(JNIEnv *env, jobject obj, jobject *pobj);
430 void tossGlobalRef(JNIEnv *env, jobject *pobj);
431
432 jvmtiEnv* getSpecialJvmti(void);
433
434 #endif
|