equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
415 TRACE_CALL(result_type, header) \ |
415 TRACE_CALL(result_type, header) \ |
416 debug_only(NoHandleMark __hm;) \ |
416 debug_only(NoHandleMark __hm;) \ |
417 os::verify_stack_alignment(); \ |
417 os::verify_stack_alignment(); \ |
418 /* begin of body */ |
418 /* begin of body */ |
419 |
419 |
|
420 #define VM_ENTRY_BASE_FROM_LEAF(result_type, header, thread) \ |
|
421 TRACE_CALL(result_type, header) \ |
|
422 debug_only(ResetNoHandleMark __rnhm;) \ |
|
423 HandleMarkCleaner __hm(thread); \ |
|
424 Thread* THREAD = thread; \ |
|
425 os::verify_stack_alignment(); \ |
|
426 /* begin of body */ |
|
427 |
420 |
428 |
421 // ENTRY routines may lock, GC and throw exceptions |
429 // ENTRY routines may lock, GC and throw exceptions |
422 |
430 |
423 #define VM_ENTRY_BASE(result_type, header, thread) \ |
431 #define VM_ENTRY_BASE(result_type, header, thread) \ |
424 TRACE_CALL(result_type, header) \ |
432 TRACE_CALL(result_type, header) \ |
582 result_type JNICALL header { \ |
590 result_type JNICALL header { \ |
583 VM_Exit::block_if_vm_exited(); \ |
591 VM_Exit::block_if_vm_exited(); \ |
584 VM_LEAF_BASE(result_type, header) |
592 VM_LEAF_BASE(result_type, header) |
585 |
593 |
586 |
594 |
|
595 #define JVM_ENTRY_FROM_LEAF(env, result_type, header) \ |
|
596 { { \ |
|
597 JavaThread* thread=JavaThread::thread_from_jni_environment(env); \ |
|
598 ThreadInVMfromNative __tiv(thread); \ |
|
599 debug_only(VMNativeEntryWrapper __vew;) \ |
|
600 VM_ENTRY_BASE_FROM_LEAF(result_type, header, thread) |
|
601 |
|
602 |
587 #define JVM_END } } |
603 #define JVM_END } } |
588 |
604 |
589 #endif // SHARE_VM_RUNTIME_INTERFACESUPPORT_HPP |
605 #endif // SHARE_VM_RUNTIME_INTERFACESUPPORT_HPP |