hotspot/src/share/vm/runtime/stubRoutines.hpp
changeset 7397 5b173b4ca846
parent 6433 b0e4fafdc38b
child 8107 78e5bd944384
equal deleted inserted replaced
7396:518b01b064ff 7397:5b173b4ca846
    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