hotspot/src/share/vm/runtime/interfaceSupport.hpp
changeset 36086 f70e100d3195
parent 35492 c8c0273e6b91
child 36551 77f29c57ed2e
equal deleted inserted replaced
36085:222ab7d1a9bf 36086:f70e100d3195
     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