17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_VM_RUNTIME_JAVACALLS_HPP 26 #define SHARE_VM_RUNTIME_JAVACALLS_HPP 27 28 #include "memory/allocation.hpp" 29 #include "oops/method.hpp" 30 #include "runtime/handles.hpp" 31 #include "runtime/javaFrameAnchor.hpp" 32 #include "runtime/thread.inline.hpp" 33 #include "runtime/vmThread.hpp" 34 #ifdef TARGET_ARCH_x86 35 # include "jniTypes_x86.hpp" 36 #endif 37 #ifdef TARGET_ARCH_sparc 38 # include "jniTypes_sparc.hpp" 39 #endif 40 #ifdef TARGET_ARCH_zero 41 # include "jniTypes_zero.hpp" 42 #endif 43 #ifdef TARGET_ARCH_arm 44 # include "jniTypes_arm.hpp" 45 #endif 46 #ifdef TARGET_ARCH_ppc 47 # include "jniTypes_ppc.hpp" 48 #endif 49 50 // A JavaCallWrapper is constructed before each JavaCall and destructed after the call. 51 // Its purpose is to allocate/deallocate a new handle block and to save/restore the last 52 // Java fp/sp. A pointer to the JavaCallWrapper is stored on the stack. 53 54 class JavaCallWrapper: StackObj { 55 friend class VMStructs; 56 private: | 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_VM_RUNTIME_JAVACALLS_HPP 26 #define SHARE_VM_RUNTIME_JAVACALLS_HPP 27 28 #include "memory/allocation.hpp" 29 #include "oops/method.hpp" 30 #include "runtime/handles.hpp" 31 #include "runtime/javaFrameAnchor.hpp" 32 #include "runtime/thread.inline.hpp" 33 #include "runtime/vmThread.hpp" 34 #ifdef TARGET_ARCH_x86 35 # include "jniTypes_x86.hpp" 36 #endif 37 #ifdef TARGET_ARCH_aarch64 38 # include "jniTypes_aarch64.hpp" 39 #endif 40 #ifdef TARGET_ARCH_sparc 41 # include "jniTypes_sparc.hpp" 42 #endif 43 #ifdef TARGET_ARCH_zero 44 # include "jniTypes_zero.hpp" 45 #endif 46 #ifdef TARGET_ARCH_arm 47 # include "jniTypes_arm.hpp" 48 #endif 49 #ifdef TARGET_ARCH_ppc 50 # include "jniTypes_ppc.hpp" 51 #endif 52 53 // A JavaCallWrapper is constructed before each JavaCall and destructed after the call. 54 // Its purpose is to allocate/deallocate a new handle block and to save/restore the last 55 // Java fp/sp. A pointer to the JavaCallWrapper is stored on the stack. 56 57 class JavaCallWrapper: StackObj { 58 friend class VMStructs; 59 private: |