550
551 // Close the routine and the extern "C"
552 #define JNI_END } }
553
554
555
556 // Definitions for JVM
557
558 #define JVM_ENTRY(result_type, header) \
559 extern "C" { \
560 result_type JNICALL header { \
561 JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
562 ThreadInVMfromNative __tiv(thread); \
563 debug_only(VMNativeEntryWrapper __vew;) \
564 VM_ENTRY_BASE(result_type, header, thread)
565
566
567 #define JVM_ENTRY_NO_ENV(result_type, header) \
568 extern "C" { \
569 result_type JNICALL header { \
570 JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \
571 ThreadInVMfromNative __tiv(thread); \
572 debug_only(VMNativeEntryWrapper __vew;) \
573 VM_ENTRY_BASE(result_type, header, thread)
574
575
576 #define JVM_QUICK_ENTRY(result_type, header) \
577 extern "C" { \
578 result_type JNICALL header { \
579 JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
580 ThreadInVMfromNative __tiv(thread); \
581 debug_only(VMNativeEntryWrapper __vew;) \
582 VM_QUICK_ENTRY_BASE(result_type, header, thread)
583
584
585 #define JVM_LEAF(result_type, header) \
586 extern "C" { \
587 result_type JNICALL header { \
588 VM_Exit::block_if_vm_exited(); \
589 VM_LEAF_BASE(result_type, header)
590
|
550
551 // Close the routine and the extern "C"
552 #define JNI_END } }
553
554
555
556 // Definitions for JVM
557
558 #define JVM_ENTRY(result_type, header) \
559 extern "C" { \
560 result_type JNICALL header { \
561 JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
562 ThreadInVMfromNative __tiv(thread); \
563 debug_only(VMNativeEntryWrapper __vew;) \
564 VM_ENTRY_BASE(result_type, header, thread)
565
566
567 #define JVM_ENTRY_NO_ENV(result_type, header) \
568 extern "C" { \
569 result_type JNICALL header { \
570 JavaThread* thread = JavaThread::current(); \
571 ThreadInVMfromNative __tiv(thread); \
572 debug_only(VMNativeEntryWrapper __vew;) \
573 VM_ENTRY_BASE(result_type, header, thread)
574
575
576 #define JVM_QUICK_ENTRY(result_type, header) \
577 extern "C" { \
578 result_type JNICALL header { \
579 JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
580 ThreadInVMfromNative __tiv(thread); \
581 debug_only(VMNativeEntryWrapper __vew;) \
582 VM_QUICK_ENTRY_BASE(result_type, header, thread)
583
584
585 #define JVM_LEAF(result_type, header) \
586 extern "C" { \
587 result_type JNICALL header { \
588 VM_Exit::block_if_vm_exited(); \
589 VM_LEAF_BASE(result_type, header)
590
|