< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page




  84 
  85   // Dependencies
  86   friend class StubGenerator;
  87 
  88 #include CPU_HEADER(stubRoutines)
  89 
  90   static jint    _verify_oop_count;
  91   static address _verify_oop_subroutine_entry;
  92 
  93   static address _call_stub_return_address;                // the return PC, when returning to a call stub
  94   static address _call_stub_entry;
  95   static address _forward_exception_entry;
  96   static address _catch_exception_entry;
  97   static address _throw_AbstractMethodError_entry;
  98   static address _throw_IncompatibleClassChangeError_entry;
  99   static address _throw_NullPointerException_at_call_entry;
 100   static address _throw_StackOverflowError_entry;
 101   static address _throw_delayed_StackOverflowError_entry;
 102 
 103   static address _atomic_xchg_entry;
 104   static address _atomic_xchg_ptr_entry;
 105   static address _atomic_store_entry;
 106   static address _atomic_store_ptr_entry;
 107   static address _atomic_cmpxchg_entry;
 108   static address _atomic_cmpxchg_ptr_entry;
 109   static address _atomic_cmpxchg_byte_entry;
 110   static address _atomic_cmpxchg_long_entry;
 111   static address _atomic_add_entry;
 112   static address _atomic_add_ptr_entry;
 113   static address _fence_entry;
 114   static address _d2i_wrapper;
 115   static address _d2l_wrapper;
 116 
 117   static jint    _fpu_cntrl_wrd_std;
 118   static jint    _fpu_cntrl_wrd_24;
 119   static jint    _fpu_cntrl_wrd_64;
 120   static jint    _fpu_cntrl_wrd_trunc;
 121   static jint    _mxcsr_std;
 122   static jint    _fpu_subnormal_bias1[3];
 123   static jint    _fpu_subnormal_bias2[3];
 124 
 125   static BufferBlob* _code1;                               // code buffer for initial routines
 126   static BufferBlob* _code2;                               // code buffer for all other routines
 127 
 128   // Leaf routines which implement arraycopy and their addresses


 259     BasicType result_type,
 260     Method* method,
 261     address   entry_point,
 262     intptr_t* parameters,
 263     int       size_of_parameters,
 264     TRAPS
 265   );
 266 
 267   static CallStub call_stub()                              { return CAST_TO_FN_PTR(CallStub, _call_stub_entry); }
 268 
 269   // Exceptions
 270   static address forward_exception_entry()                 { return _forward_exception_entry; }
 271   // Implicit exceptions
 272   static address throw_AbstractMethodError_entry()         { return _throw_AbstractMethodError_entry; }
 273   static address throw_IncompatibleClassChangeError_entry(){ return _throw_IncompatibleClassChangeError_entry; }
 274   static address throw_NullPointerException_at_call_entry(){ return _throw_NullPointerException_at_call_entry; }
 275   static address throw_StackOverflowError_entry()          { return _throw_StackOverflowError_entry; }
 276   static address throw_delayed_StackOverflowError_entry()  { return _throw_delayed_StackOverflowError_entry; }
 277 
 278   static address atomic_xchg_entry()                       { return _atomic_xchg_entry; }
 279   static address atomic_xchg_ptr_entry()                   { return _atomic_xchg_ptr_entry; }
 280   static address atomic_store_entry()                      { return _atomic_store_entry; }
 281   static address atomic_store_ptr_entry()                  { return _atomic_store_ptr_entry; }
 282   static address atomic_cmpxchg_entry()                    { return _atomic_cmpxchg_entry; }
 283   static address atomic_cmpxchg_ptr_entry()                { return _atomic_cmpxchg_ptr_entry; }
 284   static address atomic_cmpxchg_byte_entry()               { return _atomic_cmpxchg_byte_entry; }
 285   static address atomic_cmpxchg_long_entry()               { return _atomic_cmpxchg_long_entry; }
 286   static address atomic_add_entry()                        { return _atomic_add_entry; }
 287   static address atomic_add_ptr_entry()                    { return _atomic_add_ptr_entry; }
 288   static address fence_entry()                             { return _fence_entry; }
 289 
 290   static address d2i_wrapper()                             { return _d2i_wrapper; }
 291   static address d2l_wrapper()                             { return _d2l_wrapper; }
 292   static jint    fpu_cntrl_wrd_std()                       { return _fpu_cntrl_wrd_std;   }
 293   static address addr_fpu_cntrl_wrd_std()                  { return (address)&_fpu_cntrl_wrd_std;   }
 294   static address addr_fpu_cntrl_wrd_24()                   { return (address)&_fpu_cntrl_wrd_24;   }
 295   static address addr_fpu_cntrl_wrd_64()                   { return (address)&_fpu_cntrl_wrd_64;   }
 296   static address addr_fpu_cntrl_wrd_trunc()                { return (address)&_fpu_cntrl_wrd_trunc; }
 297   static address addr_mxcsr_std()                          { return (address)&_mxcsr_std; }
 298   static address addr_fpu_subnormal_bias1()                { return (address)&_fpu_subnormal_bias1; }
 299   static address addr_fpu_subnormal_bias2()                { return (address)&_fpu_subnormal_bias2; }
 300 
 301 
 302   static address select_arraycopy_function(BasicType t, bool aligned, bool disjoint, const char* &name, bool dest_uninitialized);
 303 




  84 
  85   // Dependencies
  86   friend class StubGenerator;
  87 
  88 #include CPU_HEADER(stubRoutines)
  89 
  90   static jint    _verify_oop_count;
  91   static address _verify_oop_subroutine_entry;
  92 
  93   static address _call_stub_return_address;                // the return PC, when returning to a call stub
  94   static address _call_stub_entry;
  95   static address _forward_exception_entry;
  96   static address _catch_exception_entry;
  97   static address _throw_AbstractMethodError_entry;
  98   static address _throw_IncompatibleClassChangeError_entry;
  99   static address _throw_NullPointerException_at_call_entry;
 100   static address _throw_StackOverflowError_entry;
 101   static address _throw_delayed_StackOverflowError_entry;
 102 
 103   static address _atomic_xchg_entry;
 104   static address _atomic_xchg_long_entry;
 105   static address _atomic_store_entry;
 106   static address _atomic_store_ptr_entry;
 107   static address _atomic_cmpxchg_entry;

 108   static address _atomic_cmpxchg_byte_entry;
 109   static address _atomic_cmpxchg_long_entry;
 110   static address _atomic_add_entry;
 111   static address _atomic_add_ptr_entry;
 112   static address _fence_entry;
 113   static address _d2i_wrapper;
 114   static address _d2l_wrapper;
 115 
 116   static jint    _fpu_cntrl_wrd_std;
 117   static jint    _fpu_cntrl_wrd_24;
 118   static jint    _fpu_cntrl_wrd_64;
 119   static jint    _fpu_cntrl_wrd_trunc;
 120   static jint    _mxcsr_std;
 121   static jint    _fpu_subnormal_bias1[3];
 122   static jint    _fpu_subnormal_bias2[3];
 123 
 124   static BufferBlob* _code1;                               // code buffer for initial routines
 125   static BufferBlob* _code2;                               // code buffer for all other routines
 126 
 127   // Leaf routines which implement arraycopy and their addresses


 258     BasicType result_type,
 259     Method* method,
 260     address   entry_point,
 261     intptr_t* parameters,
 262     int       size_of_parameters,
 263     TRAPS
 264   );
 265 
 266   static CallStub call_stub()                              { return CAST_TO_FN_PTR(CallStub, _call_stub_entry); }
 267 
 268   // Exceptions
 269   static address forward_exception_entry()                 { return _forward_exception_entry; }
 270   // Implicit exceptions
 271   static address throw_AbstractMethodError_entry()         { return _throw_AbstractMethodError_entry; }
 272   static address throw_IncompatibleClassChangeError_entry(){ return _throw_IncompatibleClassChangeError_entry; }
 273   static address throw_NullPointerException_at_call_entry(){ return _throw_NullPointerException_at_call_entry; }
 274   static address throw_StackOverflowError_entry()          { return _throw_StackOverflowError_entry; }
 275   static address throw_delayed_StackOverflowError_entry()  { return _throw_delayed_StackOverflowError_entry; }
 276 
 277   static address atomic_xchg_entry()                       { return _atomic_xchg_entry; }
 278   static address atomic_xchg_long_entry()                  { return _atomic_xchg_long_entry; }
 279   static address atomic_store_entry()                      { return _atomic_store_entry; }
 280   static address atomic_store_ptr_entry()                  { return _atomic_store_ptr_entry; }
 281   static address atomic_cmpxchg_entry()                    { return _atomic_cmpxchg_entry; }

 282   static address atomic_cmpxchg_byte_entry()               { return _atomic_cmpxchg_byte_entry; }
 283   static address atomic_cmpxchg_long_entry()               { return _atomic_cmpxchg_long_entry; }
 284   static address atomic_add_entry()                        { return _atomic_add_entry; }
 285   static address atomic_add_ptr_entry()                    { return _atomic_add_ptr_entry; }
 286   static address fence_entry()                             { return _fence_entry; }
 287 
 288   static address d2i_wrapper()                             { return _d2i_wrapper; }
 289   static address d2l_wrapper()                             { return _d2l_wrapper; }
 290   static jint    fpu_cntrl_wrd_std()                       { return _fpu_cntrl_wrd_std;   }
 291   static address addr_fpu_cntrl_wrd_std()                  { return (address)&_fpu_cntrl_wrd_std;   }
 292   static address addr_fpu_cntrl_wrd_24()                   { return (address)&_fpu_cntrl_wrd_24;   }
 293   static address addr_fpu_cntrl_wrd_64()                   { return (address)&_fpu_cntrl_wrd_64;   }
 294   static address addr_fpu_cntrl_wrd_trunc()                { return (address)&_fpu_cntrl_wrd_trunc; }
 295   static address addr_mxcsr_std()                          { return (address)&_mxcsr_std; }
 296   static address addr_fpu_subnormal_bias1()                { return (address)&_fpu_subnormal_bias1; }
 297   static address addr_fpu_subnormal_bias2()                { return (address)&_fpu_subnormal_bias2; }
 298 
 299 
 300   static address select_arraycopy_function(BasicType t, bool aligned, bool disjoint, const char* &name, bool dest_uninitialized);
 301 


< prev index next >