< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page

251   static address _dexp;
252   static address _dlog;
253   static address _dlog10;
254   static address _dpow;
255   static address _dsin;
256   static address _dcos;
257   static address _dlibm_sin_cos_huge;
258   static address _dlibm_reduce_pi04l;
259   static address _dlibm_tan_cot_huge;
260   static address _dtan;
261   static address _fmod;
262 
263   static address _f2hf;
264   static address _hf2f;
265 
266   static address _method_entry_barrier;
267 
268   static address _cont_thaw;
269   static address _cont_returnBarrier;
270   static address _cont_returnBarrierExc;



271 
272   JFR_ONLY(static RuntimeStub* _jfr_write_checkpoint_stub;)
273   JFR_ONLY(static address _jfr_write_checkpoint;)
274   JFR_ONLY(static RuntimeStub* _jfr_return_lease_stub;)
275   JFR_ONLY(static address _jfr_return_lease;)
276 
277   // Vector Math Routines
278   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
279   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
280 
281   static address _upcall_stub_exception_handler;
282 
283   static address _lookup_secondary_supers_table_stubs[];
284   static address _lookup_secondary_supers_table_slow_path_stub;
285 
286  public:
287   // Initialization/Testing
288   static void    initialize_initial_stubs();               // must happen before universe::genesis
289   static void    initialize_continuation_stubs();          // must happen after  universe::genesis
290   static void    initialize_compiler_stubs();              // must happen after  universe::genesis

469   static address hf2f_adr()            { return _hf2f; }
470 
471   static jshort f2hf(jfloat x) {
472     assert(_f2hf != nullptr, "stub is not implemented on this platform");
473     MACOS_AARCH64_ONLY(ThreadWXEnable wx(WXExec, Thread::current());) // About to call into code cache
474     typedef jshort (*f2hf_stub_t)(jfloat x);
475     return ((f2hf_stub_t)_f2hf)(x);
476   }
477   static jfloat hf2f(jshort x) {
478     assert(_hf2f != nullptr, "stub is not implemented on this platform");
479     MACOS_AARCH64_ONLY(ThreadWXEnable wx(WXExec, Thread::current());) // About to call into code cache
480     typedef jfloat (*hf2f_stub_t)(jshort x);
481     return ((hf2f_stub_t)_hf2f)(x);
482   }
483 
484   static address method_entry_barrier() { return _method_entry_barrier; }
485 
486   static address cont_thaw()           { return _cont_thaw; }
487   static address cont_returnBarrier()  { return _cont_returnBarrier; }
488   static address cont_returnBarrierExc(){return _cont_returnBarrierExc; }



489 
490   JFR_ONLY(static address jfr_write_checkpoint() { return _jfr_write_checkpoint; })
491   JFR_ONLY(static address jfr_return_lease() { return _jfr_return_lease; })
492 
493   static address upcall_stub_exception_handler() {
494     assert(_upcall_stub_exception_handler != nullptr, "not implemented");
495     return _upcall_stub_exception_handler;
496   }
497 
498   static address lookup_secondary_supers_table_stub(u1 slot) {
499     assert(slot < Klass::SECONDARY_SUPERS_TABLE_SIZE, "out of bounds");
500     assert(_lookup_secondary_supers_table_stubs[slot] != nullptr, "not implemented");
501     return _lookup_secondary_supers_table_stubs[slot];
502   }
503 
504   static address lookup_secondary_supers_table_slow_path_stub() {
505     assert(_lookup_secondary_supers_table_slow_path_stub != nullptr, "not implemented");
506     return _lookup_secondary_supers_table_slow_path_stub;
507   }
508 

251   static address _dexp;
252   static address _dlog;
253   static address _dlog10;
254   static address _dpow;
255   static address _dsin;
256   static address _dcos;
257   static address _dlibm_sin_cos_huge;
258   static address _dlibm_reduce_pi04l;
259   static address _dlibm_tan_cot_huge;
260   static address _dtan;
261   static address _fmod;
262 
263   static address _f2hf;
264   static address _hf2f;
265 
266   static address _method_entry_barrier;
267 
268   static address _cont_thaw;
269   static address _cont_returnBarrier;
270   static address _cont_returnBarrierExc;
271   static address _cont_preempt_stub;
272   static address _cont_resume_monitor_operation;
273   static address _cont_resume_compiler_adapter;
274 
275   JFR_ONLY(static RuntimeStub* _jfr_write_checkpoint_stub;)
276   JFR_ONLY(static address _jfr_write_checkpoint;)
277   JFR_ONLY(static RuntimeStub* _jfr_return_lease_stub;)
278   JFR_ONLY(static address _jfr_return_lease;)
279 
280   // Vector Math Routines
281   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
282   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
283 
284   static address _upcall_stub_exception_handler;
285 
286   static address _lookup_secondary_supers_table_stubs[];
287   static address _lookup_secondary_supers_table_slow_path_stub;
288 
289  public:
290   // Initialization/Testing
291   static void    initialize_initial_stubs();               // must happen before universe::genesis
292   static void    initialize_continuation_stubs();          // must happen after  universe::genesis
293   static void    initialize_compiler_stubs();              // must happen after  universe::genesis

472   static address hf2f_adr()            { return _hf2f; }
473 
474   static jshort f2hf(jfloat x) {
475     assert(_f2hf != nullptr, "stub is not implemented on this platform");
476     MACOS_AARCH64_ONLY(ThreadWXEnable wx(WXExec, Thread::current());) // About to call into code cache
477     typedef jshort (*f2hf_stub_t)(jfloat x);
478     return ((f2hf_stub_t)_f2hf)(x);
479   }
480   static jfloat hf2f(jshort x) {
481     assert(_hf2f != nullptr, "stub is not implemented on this platform");
482     MACOS_AARCH64_ONLY(ThreadWXEnable wx(WXExec, Thread::current());) // About to call into code cache
483     typedef jfloat (*hf2f_stub_t)(jshort x);
484     return ((hf2f_stub_t)_hf2f)(x);
485   }
486 
487   static address method_entry_barrier() { return _method_entry_barrier; }
488 
489   static address cont_thaw()           { return _cont_thaw; }
490   static address cont_returnBarrier()  { return _cont_returnBarrier; }
491   static address cont_returnBarrierExc(){return _cont_returnBarrierExc; }
492   static address cont_preempt_stub()   { return _cont_preempt_stub; }
493   static address cont_resume_monitor_operation() { return _cont_resume_monitor_operation; }
494   static address cont_resume_compiler_adapter()  { return _cont_resume_compiler_adapter; }
495 
496   JFR_ONLY(static address jfr_write_checkpoint() { return _jfr_write_checkpoint; })
497   JFR_ONLY(static address jfr_return_lease() { return _jfr_return_lease; })
498 
499   static address upcall_stub_exception_handler() {
500     assert(_upcall_stub_exception_handler != nullptr, "not implemented");
501     return _upcall_stub_exception_handler;
502   }
503 
504   static address lookup_secondary_supers_table_stub(u1 slot) {
505     assert(slot < Klass::SECONDARY_SUPERS_TABLE_SIZE, "out of bounds");
506     assert(_lookup_secondary_supers_table_stubs[slot] != nullptr, "not implemented");
507     return _lookup_secondary_supers_table_stubs[slot];
508   }
509 
510   static address lookup_secondary_supers_table_slow_path_stub() {
511     assert(_lookup_secondary_supers_table_slow_path_stub != nullptr, "not implemented");
512     return _lookup_secondary_supers_table_slow_path_stub;
513   }
514 
< prev index next >