< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page

251   static address _dlibm_sin_cos_huge;
252   static address _dlibm_reduce_pi04l;
253   static address _dlibm_tan_cot_huge;
254   static address _dtan;
255   static address _fmod;
256 
257   static address _f2hf;
258   static address _hf2f;
259 
260   static address _method_entry_barrier;
261 
262   static address _cont_thaw;
263   static address _cont_returnBarrier;
264   static address _cont_returnBarrierExc;
265 
266   JFR_ONLY(static RuntimeStub* _jfr_write_checkpoint_stub;)
267   JFR_ONLY(static address _jfr_write_checkpoint;)
268   JFR_ONLY(static RuntimeStub* _jfr_return_lease_stub;)
269   JFR_ONLY(static address _jfr_return_lease;)
270 



271   // Vector Math Routines
272   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
273   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
274 
275   static address _upcall_stub_exception_handler;
276 
277  public:
278   // Initialization/Testing
279   static void    initialize_initial_stubs();               // must happen before universe::genesis
280   static void    initialize_continuation_stubs();          // must happen after  universe::genesis
281   static void    initialize_compiler_stubs();              // must happen after  universe::genesis
282   static void    initialize_final_stubs();                 // must happen after  universe::genesis
283 
284   static bool is_stub_code(address addr)                   { return contains(addr); }
285 
286   static bool contains(address addr) {
287     return
288       (_initial_stubs_code      != nullptr && _initial_stubs_code->blob_contains(addr))  ||
289       (_continuation_stubs_code != nullptr && _continuation_stubs_code->blob_contains(addr)) ||
290       (_compiler_stubs_code     != nullptr && _compiler_stubs_code->blob_contains(addr)) ||

481 
482   static address select_fill_function(BasicType t, bool aligned, const char* &name);
483 
484   //
485   // Default versions of the above arraycopy functions for platforms which do
486   // not have specialized versions
487   //
488   static void jbyte_copy     (jbyte*  src, jbyte*  dest, size_t count);
489   static void jshort_copy    (jshort* src, jshort* dest, size_t count);
490   static void jint_copy      (jint*   src, jint*   dest, size_t count);
491   static void jlong_copy     (jlong*  src, jlong*  dest, size_t count);
492   static void oop_copy       (oop*    src, oop*    dest, size_t count);
493   static void oop_copy_uninit(oop*    src, oop*    dest, size_t count);
494 
495   static void arrayof_jbyte_copy     (HeapWord* src, HeapWord* dest, size_t count);
496   static void arrayof_jshort_copy    (HeapWord* src, HeapWord* dest, size_t count);
497   static void arrayof_jint_copy      (HeapWord* src, HeapWord* dest, size_t count);
498   static void arrayof_jlong_copy     (HeapWord* src, HeapWord* dest, size_t count);
499   static void arrayof_oop_copy       (HeapWord* src, HeapWord* dest, size_t count);
500   static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);



501 };
502 
503 #endif // SHARE_RUNTIME_STUBROUTINES_HPP

251   static address _dlibm_sin_cos_huge;
252   static address _dlibm_reduce_pi04l;
253   static address _dlibm_tan_cot_huge;
254   static address _dtan;
255   static address _fmod;
256 
257   static address _f2hf;
258   static address _hf2f;
259 
260   static address _method_entry_barrier;
261 
262   static address _cont_thaw;
263   static address _cont_returnBarrier;
264   static address _cont_returnBarrierExc;
265 
266   JFR_ONLY(static RuntimeStub* _jfr_write_checkpoint_stub;)
267   JFR_ONLY(static address _jfr_write_checkpoint;)
268   JFR_ONLY(static RuntimeStub* _jfr_return_lease_stub;)
269   JFR_ONLY(static address _jfr_return_lease;)
270 
271   static address _load_inline_type_fields_in_regs;
272   static address _store_inline_type_fields_to_buf;
273 
274   // Vector Math Routines
275   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
276   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
277 
278   static address _upcall_stub_exception_handler;
279 
280  public:
281   // Initialization/Testing
282   static void    initialize_initial_stubs();               // must happen before universe::genesis
283   static void    initialize_continuation_stubs();          // must happen after  universe::genesis
284   static void    initialize_compiler_stubs();              // must happen after  universe::genesis
285   static void    initialize_final_stubs();                 // must happen after  universe::genesis
286 
287   static bool is_stub_code(address addr)                   { return contains(addr); }
288 
289   static bool contains(address addr) {
290     return
291       (_initial_stubs_code      != nullptr && _initial_stubs_code->blob_contains(addr))  ||
292       (_continuation_stubs_code != nullptr && _continuation_stubs_code->blob_contains(addr)) ||
293       (_compiler_stubs_code     != nullptr && _compiler_stubs_code->blob_contains(addr)) ||

484 
485   static address select_fill_function(BasicType t, bool aligned, const char* &name);
486 
487   //
488   // Default versions of the above arraycopy functions for platforms which do
489   // not have specialized versions
490   //
491   static void jbyte_copy     (jbyte*  src, jbyte*  dest, size_t count);
492   static void jshort_copy    (jshort* src, jshort* dest, size_t count);
493   static void jint_copy      (jint*   src, jint*   dest, size_t count);
494   static void jlong_copy     (jlong*  src, jlong*  dest, size_t count);
495   static void oop_copy       (oop*    src, oop*    dest, size_t count);
496   static void oop_copy_uninit(oop*    src, oop*    dest, size_t count);
497 
498   static void arrayof_jbyte_copy     (HeapWord* src, HeapWord* dest, size_t count);
499   static void arrayof_jshort_copy    (HeapWord* src, HeapWord* dest, size_t count);
500   static void arrayof_jint_copy      (HeapWord* src, HeapWord* dest, size_t count);
501   static void arrayof_jlong_copy     (HeapWord* src, HeapWord* dest, size_t count);
502   static void arrayof_oop_copy       (HeapWord* src, HeapWord* dest, size_t count);
503   static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);
504 
505   static address load_inline_type_fields_in_regs() { return _load_inline_type_fields_in_regs; }
506   static address store_inline_type_fields_to_buf() { return _store_inline_type_fields_to_buf; }
507 };
508 
509 #endif // SHARE_RUNTIME_STUBROUTINES_HPP
< prev index next >