420 Thread* THREAD = thread; \ |
420 Thread* THREAD = thread; \ |
421 os::verify_stack_alignment(); \ |
421 os::verify_stack_alignment(); \ |
422 /* begin of body */ |
422 /* begin of body */ |
423 |
423 |
424 |
424 |
425 // Definitions for IRT (Interpreter Runtime) |
|
426 // (thread is an argument passed in to all these routines) |
|
427 |
|
428 #define IRT_ENTRY(result_type, header) \ |
|
429 result_type header { \ |
|
430 ThreadInVMfromJava __tiv(thread); \ |
|
431 VM_ENTRY_BASE(result_type, header, thread) \ |
|
432 debug_only(VMEntryWrapper __vew;) |
|
433 |
|
434 |
|
435 #define IRT_LEAF(result_type, header) \ |
|
436 result_type header { \ |
|
437 VM_LEAF_BASE(result_type, header) \ |
|
438 debug_only(NoSafepointVerifier __nspv(true);) |
|
439 |
|
440 |
|
441 #define IRT_ENTRY_NO_ASYNC(result_type, header) \ |
|
442 result_type header { \ |
|
443 ThreadInVMfromJavaNoAsyncException __tiv(thread); \ |
|
444 VM_ENTRY_BASE(result_type, header, thread) \ |
|
445 debug_only(VMEntryWrapper __vew;) |
|
446 |
|
447 #define IRT_END } |
|
448 |
|
449 #define JRT_ENTRY(result_type, header) \ |
425 #define JRT_ENTRY(result_type, header) \ |
450 result_type header { \ |
426 result_type header { \ |
451 ThreadInVMfromJava __tiv(thread); \ |
427 ThreadInVMfromJava __tiv(thread); \ |
452 VM_ENTRY_BASE(result_type, header, thread) \ |
428 VM_ENTRY_BASE(result_type, header, thread) \ |
453 debug_only(VMEntryWrapper __vew;) |
429 debug_only(VMEntryWrapper __vew;) |