19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
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 |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
|
24 |
|
25 #ifndef SHARE_VM_RUNTIME_STUBROUTINES_HPP |
|
26 #define SHARE_VM_RUNTIME_STUBROUTINES_HPP |
|
27 |
|
28 #include "code/codeBlob.hpp" |
|
29 #include "memory/allocation.hpp" |
|
30 #include "runtime/frame.hpp" |
|
31 #include "runtime/mutexLocker.hpp" |
|
32 #include "runtime/stubCodeGenerator.hpp" |
|
33 #include "utilities/top.hpp" |
|
34 #ifdef TARGET_ARCH_x86 |
|
35 # include "nativeInst_x86.hpp" |
|
36 #endif |
|
37 #ifdef TARGET_ARCH_sparc |
|
38 # include "nativeInst_sparc.hpp" |
|
39 #endif |
|
40 #ifdef TARGET_ARCH_zero |
|
41 # include "nativeInst_zero.hpp" |
|
42 #endif |
24 |
43 |
25 // StubRoutines provides entry points to assembly routines used by |
44 // StubRoutines provides entry points to assembly routines used by |
26 // compiled code and the run-time system. Platform-specific entry |
45 // compiled code and the run-time system. Platform-specific entry |
27 // points are defined in the platform-specific inner class. |
46 // points are defined in the platform-specific inner class. |
28 // |
47 // |
72 max_size_of_parameters = 256 // max. parameter size supported by megamorphic lookups |
91 max_size_of_parameters = 256 // max. parameter size supported by megamorphic lookups |
73 }; |
92 }; |
74 |
93 |
75 // Dependencies |
94 // Dependencies |
76 friend class StubGenerator; |
95 friend class StubGenerator; |
77 #include "incls/_stubRoutines_pd.hpp.incl" // machine-specific parts |
96 #ifdef TARGET_ARCH_MODEL_x86_32 |
|
97 # include "stubRoutines_x86_32.hpp" |
|
98 #endif |
|
99 #ifdef TARGET_ARCH_MODEL_x86_64 |
|
100 # include "stubRoutines_x86_64.hpp" |
|
101 #endif |
|
102 #ifdef TARGET_ARCH_MODEL_sparc |
|
103 # include "stubRoutines_sparc.hpp" |
|
104 #endif |
|
105 #ifdef TARGET_ARCH_MODEL_zero |
|
106 # include "stubRoutines_zero.hpp" |
|
107 #endif |
|
108 |
78 |
109 |
79 static jint _verify_oop_count; |
110 static jint _verify_oop_count; |
80 static address _verify_oop_subroutine_entry; |
111 static address _verify_oop_subroutine_entry; |
81 |
112 |
82 static address _call_stub_return_address; // the return PC, when returning to a call stub |
113 static address _call_stub_return_address; // the return PC, when returning to a call stub |
319 static void arrayof_jshort_copy(HeapWord* src, HeapWord* dest, size_t count); |
350 static void arrayof_jshort_copy(HeapWord* src, HeapWord* dest, size_t count); |
320 static void arrayof_jint_copy (HeapWord* src, HeapWord* dest, size_t count); |
351 static void arrayof_jint_copy (HeapWord* src, HeapWord* dest, size_t count); |
321 static void arrayof_jlong_copy (HeapWord* src, HeapWord* dest, size_t count); |
352 static void arrayof_jlong_copy (HeapWord* src, HeapWord* dest, size_t count); |
322 static void arrayof_oop_copy (HeapWord* src, HeapWord* dest, size_t count); |
353 static void arrayof_oop_copy (HeapWord* src, HeapWord* dest, size_t count); |
323 }; |
354 }; |
|
355 |
|
356 #endif // SHARE_VM_RUNTIME_STUBROUTINES_HPP |