< prev index next >

src/share/vm/runtime/interfaceSupport.hpp

Print this page




 434   TRACE_CALL(result_type, header)                                    \
 435   debug_only(NoHandleMark __hm;)                                     \
 436   Thread* THREAD = thread;                                           \
 437   os::verify_stack_alignment();                                      \
 438   /* begin of body */
 439 
 440 
 441 // Definitions for IRT (Interpreter Runtime)
 442 // (thread is an argument passed in to all these routines)
 443 
 444 #define IRT_ENTRY(result_type, header)                               \
 445   result_type header {                                               \
 446     ThreadInVMfromJava __tiv(thread);                                \
 447     VM_ENTRY_BASE(result_type, header, thread)                       \
 448     debug_only(VMEntryWrapper __vew;)
 449 
 450 
 451 #define IRT_LEAF(result_type, header)                                \
 452   result_type header {                                               \
 453     VM_LEAF_BASE(result_type, header)                                \
 454     debug_only(No_Safepoint_Verifier __nspv(true);)
 455 
 456 
 457 #define IRT_ENTRY_NO_ASYNC(result_type, header)                      \
 458   result_type header {                                               \
 459     ThreadInVMfromJavaNoAsyncException __tiv(thread);                \
 460     VM_ENTRY_BASE(result_type, header, thread)                       \
 461     debug_only(VMEntryWrapper __vew;)
 462 
 463 #define IRT_END }
 464 
 465 
 466 // Definitions for JRT (Java (Compiler/Shared) Runtime)
 467 
 468 #define JRT_ENTRY(result_type, header)                               \
 469   result_type header {                                               \
 470     ThreadInVMfromJava __tiv(thread);                                \
 471     VM_ENTRY_BASE(result_type, header, thread)                       \
 472     debug_only(VMEntryWrapper __vew;)
 473 
 474 
 475 #define JRT_LEAF(result_type, header)                                \
 476   result_type header {                                               \
 477   VM_LEAF_BASE(result_type, header)                                  \
 478   debug_only(JRT_Leaf_Verifier __jlv;)
 479 
 480 
 481 #define JRT_ENTRY_NO_ASYNC(result_type, header)                      \
 482   result_type header {                                               \
 483     ThreadInVMfromJavaNoAsyncException __tiv(thread);                \
 484     VM_ENTRY_BASE(result_type, header, thread)                       \
 485     debug_only(VMEntryWrapper __vew;)
 486 
 487 // Same as JRT Entry but allows for return value after the safepoint
 488 // to get back into Java from the VM
 489 #define JRT_BLOCK_ENTRY(result_type, header)                         \
 490   result_type header {                                               \
 491     TRACE_CALL(result_type, header)                                  \
 492     HandleMarkCleaner __hm(thread);
 493 
 494 #define JRT_BLOCK                                                    \
 495     {                                                                \
 496     ThreadInVMfromJava __tiv(thread);                                \
 497     Thread* THREAD = thread;                                         \
 498     debug_only(VMEntryWrapper __vew;)




 434   TRACE_CALL(result_type, header)                                    \
 435   debug_only(NoHandleMark __hm;)                                     \
 436   Thread* THREAD = thread;                                           \
 437   os::verify_stack_alignment();                                      \
 438   /* begin of body */
 439 
 440 
 441 // Definitions for IRT (Interpreter Runtime)
 442 // (thread is an argument passed in to all these routines)
 443 
 444 #define IRT_ENTRY(result_type, header)                               \
 445   result_type header {                                               \
 446     ThreadInVMfromJava __tiv(thread);                                \
 447     VM_ENTRY_BASE(result_type, header, thread)                       \
 448     debug_only(VMEntryWrapper __vew;)
 449 
 450 
 451 #define IRT_LEAF(result_type, header)                                \
 452   result_type header {                                               \
 453     VM_LEAF_BASE(result_type, header)                                \
 454     debug_only(NoSafepointVerifier __nspv(true);)
 455 
 456 
 457 #define IRT_ENTRY_NO_ASYNC(result_type, header)                      \
 458   result_type header {                                               \
 459     ThreadInVMfromJavaNoAsyncException __tiv(thread);                \
 460     VM_ENTRY_BASE(result_type, header, thread)                       \
 461     debug_only(VMEntryWrapper __vew;)
 462 
 463 #define IRT_END }
 464 
 465 
 466 // Definitions for JRT (Java (Compiler/Shared) Runtime)
 467 
 468 #define JRT_ENTRY(result_type, header)                               \
 469   result_type header {                                               \
 470     ThreadInVMfromJava __tiv(thread);                                \
 471     VM_ENTRY_BASE(result_type, header, thread)                       \
 472     debug_only(VMEntryWrapper __vew;)
 473 
 474 
 475 #define JRT_LEAF(result_type, header)                                \
 476   result_type header {                                               \
 477   VM_LEAF_BASE(result_type, header)                                  \
 478   debug_only(JRTLeafVerifier __jlv;)
 479 
 480 
 481 #define JRT_ENTRY_NO_ASYNC(result_type, header)                      \
 482   result_type header {                                               \
 483     ThreadInVMfromJavaNoAsyncException __tiv(thread);                \
 484     VM_ENTRY_BASE(result_type, header, thread)                       \
 485     debug_only(VMEntryWrapper __vew;)
 486 
 487 // Same as JRT Entry but allows for return value after the safepoint
 488 // to get back into Java from the VM
 489 #define JRT_BLOCK_ENTRY(result_type, header)                         \
 490   result_type header {                                               \
 491     TRACE_CALL(result_type, header)                                  \
 492     HandleMarkCleaner __hm(thread);
 493 
 494 #define JRT_BLOCK                                                    \
 495     {                                                                \
 496     ThreadInVMfromJava __tiv(thread);                                \
 497     Thread* THREAD = thread;                                         \
 498     debug_only(VMEntryWrapper __vew;)


< prev index next >