277 static address _dpow;
278 static address _dsin;
279 static address _dcos;
280 static address _dlibm_sin_cos_huge;
281 static address _dlibm_reduce_pi04l;
282 static address _dlibm_tan_cot_huge;
283 static address _dtan;
284 static address _dtanh;
285 static address _fmod;
286
287 static address _f2hf;
288 static address _hf2f;
289
290 static address _method_entry_barrier;
291
292 static address _cont_thaw;
293 static address _cont_returnBarrier;
294 static address _cont_returnBarrierExc;
295 static address _cont_preempt_stub;
296
297 // Vector Math Routines
298 static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_VECTOR_OP_MATH];
299 static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_VECTOR_OP_MATH];
300
301 static address _upcall_stub_exception_handler;
302 static address _upcall_stub_load_target;
303
304 static address _lookup_secondary_supers_table_stubs[];
305 static address _lookup_secondary_supers_table_slow_path_stub;
306
307 public:
308 // Initialization/Testing
309 static void initialize_initial_stubs(); // must happen before universe::genesis
310 static void initialize_continuation_stubs(); // must happen after universe::genesis
311 static void initialize_compiler_stubs(); // must happen after universe::genesis
312 static void initialize_final_stubs(); // must happen after universe::genesis
313
314 static bool is_stub_code(address addr) { return contains(addr); }
315
316 static bool contains(address addr) {
527
528 static address select_fill_function(BasicType t, bool aligned, const char* &name);
529
530 //
531 // Default versions of the above arraycopy functions for platforms which do
532 // not have specialized versions
533 //
534 static void jbyte_copy (jbyte* src, jbyte* dest, size_t count);
535 static void jshort_copy (jshort* src, jshort* dest, size_t count);
536 static void jint_copy (jint* src, jint* dest, size_t count);
537 static void jlong_copy (jlong* src, jlong* dest, size_t count);
538 static void oop_copy (oop* src, oop* dest, size_t count);
539 static void oop_copy_uninit(oop* src, oop* dest, size_t count);
540
541 static void arrayof_jbyte_copy (HeapWord* src, HeapWord* dest, size_t count);
542 static void arrayof_jshort_copy (HeapWord* src, HeapWord* dest, size_t count);
543 static void arrayof_jint_copy (HeapWord* src, HeapWord* dest, size_t count);
544 static void arrayof_jlong_copy (HeapWord* src, HeapWord* dest, size_t count);
545 static void arrayof_oop_copy (HeapWord* src, HeapWord* dest, size_t count);
546 static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);
547 };
548
549 #endif // SHARE_RUNTIME_STUBROUTINES_HPP
|
277 static address _dpow;
278 static address _dsin;
279 static address _dcos;
280 static address _dlibm_sin_cos_huge;
281 static address _dlibm_reduce_pi04l;
282 static address _dlibm_tan_cot_huge;
283 static address _dtan;
284 static address _dtanh;
285 static address _fmod;
286
287 static address _f2hf;
288 static address _hf2f;
289
290 static address _method_entry_barrier;
291
292 static address _cont_thaw;
293 static address _cont_returnBarrier;
294 static address _cont_returnBarrierExc;
295 static address _cont_preempt_stub;
296
297 static address _load_inline_type_fields_in_regs;
298 static address _store_inline_type_fields_to_buf;
299
300 // Vector Math Routines
301 static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_VECTOR_OP_MATH];
302 static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_VECTOR_OP_MATH];
303
304 static address _upcall_stub_exception_handler;
305 static address _upcall_stub_load_target;
306
307 static address _lookup_secondary_supers_table_stubs[];
308 static address _lookup_secondary_supers_table_slow_path_stub;
309
310 public:
311 // Initialization/Testing
312 static void initialize_initial_stubs(); // must happen before universe::genesis
313 static void initialize_continuation_stubs(); // must happen after universe::genesis
314 static void initialize_compiler_stubs(); // must happen after universe::genesis
315 static void initialize_final_stubs(); // must happen after universe::genesis
316
317 static bool is_stub_code(address addr) { return contains(addr); }
318
319 static bool contains(address addr) {
530
531 static address select_fill_function(BasicType t, bool aligned, const char* &name);
532
533 //
534 // Default versions of the above arraycopy functions for platforms which do
535 // not have specialized versions
536 //
537 static void jbyte_copy (jbyte* src, jbyte* dest, size_t count);
538 static void jshort_copy (jshort* src, jshort* dest, size_t count);
539 static void jint_copy (jint* src, jint* dest, size_t count);
540 static void jlong_copy (jlong* src, jlong* dest, size_t count);
541 static void oop_copy (oop* src, oop* dest, size_t count);
542 static void oop_copy_uninit(oop* src, oop* dest, size_t count);
543
544 static void arrayof_jbyte_copy (HeapWord* src, HeapWord* dest, size_t count);
545 static void arrayof_jshort_copy (HeapWord* src, HeapWord* dest, size_t count);
546 static void arrayof_jint_copy (HeapWord* src, HeapWord* dest, size_t count);
547 static void arrayof_jlong_copy (HeapWord* src, HeapWord* dest, size_t count);
548 static void arrayof_oop_copy (HeapWord* src, HeapWord* dest, size_t count);
549 static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);
550
551 static address load_inline_type_fields_in_regs() { return _load_inline_type_fields_in_regs; }
552 static address store_inline_type_fields_to_buf() { return _store_inline_type_fields_to_buf; }
553 };
554
555 #endif // SHARE_RUNTIME_STUBROUTINES_HPP
|