< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page

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



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

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



498 };
499 
500 #endif // SHARE_RUNTIME_STUBROUTINES_HPP

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