397
398 /*
399 * Local Reference management. The two macros below are used
400 * throughout the back end whenever space for JNI local references
401 * is needed in the current frame.
402 */
403
404 void createLocalRefSpace(JNIEnv *env, jint capacity);
405
406 #define WITH_LOCAL_REFS(env, number) \
407 createLocalRefSpace(env, number); \
408 { /* BEGINNING OF WITH SCOPE */
409
410 #define END_WITH_LOCAL_REFS(env) \
411 JNI_FUNC_PTR(env,PopLocalFrame)(env, NULL); \
412 } /* END OF WITH SCOPE */
413
414 void saveGlobalRef(JNIEnv *env, jobject obj, jobject *pobj);
415 void tossGlobalRef(JNIEnv *env, jobject *pobj);
416
417 #endif
|
397
398 /*
399 * Local Reference management. The two macros below are used
400 * throughout the back end whenever space for JNI local references
401 * is needed in the current frame.
402 */
403
404 void createLocalRefSpace(JNIEnv *env, jint capacity);
405
406 #define WITH_LOCAL_REFS(env, number) \
407 createLocalRefSpace(env, number); \
408 { /* BEGINNING OF WITH SCOPE */
409
410 #define END_WITH_LOCAL_REFS(env) \
411 JNI_FUNC_PTR(env,PopLocalFrame)(env, NULL); \
412 } /* END OF WITH SCOPE */
413
414 void saveGlobalRef(JNIEnv *env, jobject obj, jobject *pobj);
415 void tossGlobalRef(JNIEnv *env, jobject *pobj);
416
417 jvmtiEnv* getSpecialJvmti(void);
418
419 #endif
|