< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page

241 
242   static address _dexp;
243   static address _dlog;
244   static address _dlog10;
245   static address _dpow;
246   static address _dsin;
247   static address _dcos;
248   static address _dlibm_sin_cos_huge;
249   static address _dlibm_reduce_pi04l;
250   static address _dlibm_tan_cot_huge;
251   static address _dtan;
252 
253   // Safefetch stubs.
254   static address _safefetch32_entry;
255   static address _safefetch32_fault_pc;
256   static address _safefetch32_continuation_pc;
257   static address _safefetchN_entry;
258   static address _safefetchN_fault_pc;
259   static address _safefetchN_continuation_pc;
260 



261   // Vector Math Routines
262   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
263   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
264 
265  public:
266   // Initialization/Testing
267   static void    initialize1();                            // must happen before universe::genesis
268   static void    initialize2();                            // must happen after  universe::genesis
269 
270   static bool is_stub_code(address addr)                   { return contains(addr); }
271 
272   static bool contains(address addr) {
273     return
274       (_code1 != NULL && _code1->blob_contains(addr)) ||
275       (_code2 != NULL && _code2->blob_contains(addr)) ;
276   }
277 
278   static RuntimeBlob* code1() { return _code1; }
279   static RuntimeBlob* code2() { return _code2; }
280 

456     return NULL;
457   }
458 
459   //
460   // Default versions of the above arraycopy functions for platforms which do
461   // not have specialized versions
462   //
463   static void jbyte_copy     (jbyte*  src, jbyte*  dest, size_t count);
464   static void jshort_copy    (jshort* src, jshort* dest, size_t count);
465   static void jint_copy      (jint*   src, jint*   dest, size_t count);
466   static void jlong_copy     (jlong*  src, jlong*  dest, size_t count);
467   static void oop_copy       (oop*    src, oop*    dest, size_t count);
468   static void oop_copy_uninit(oop*    src, oop*    dest, size_t count);
469 
470   static void arrayof_jbyte_copy     (HeapWord* src, HeapWord* dest, size_t count);
471   static void arrayof_jshort_copy    (HeapWord* src, HeapWord* dest, size_t count);
472   static void arrayof_jint_copy      (HeapWord* src, HeapWord* dest, size_t count);
473   static void arrayof_jlong_copy     (HeapWord* src, HeapWord* dest, size_t count);
474   static void arrayof_oop_copy       (HeapWord* src, HeapWord* dest, size_t count);
475   static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);



476 };
477 
478 #endif // SHARE_RUNTIME_STUBROUTINES_HPP

241 
242   static address _dexp;
243   static address _dlog;
244   static address _dlog10;
245   static address _dpow;
246   static address _dsin;
247   static address _dcos;
248   static address _dlibm_sin_cos_huge;
249   static address _dlibm_reduce_pi04l;
250   static address _dlibm_tan_cot_huge;
251   static address _dtan;
252 
253   // Safefetch stubs.
254   static address _safefetch32_entry;
255   static address _safefetch32_fault_pc;
256   static address _safefetch32_continuation_pc;
257   static address _safefetchN_entry;
258   static address _safefetchN_fault_pc;
259   static address _safefetchN_continuation_pc;
260 
261   static address _load_inline_type_fields_in_regs;
262   static address _store_inline_type_fields_to_buf;
263 
264   // Vector Math Routines
265   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
266   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
267 
268  public:
269   // Initialization/Testing
270   static void    initialize1();                            // must happen before universe::genesis
271   static void    initialize2();                            // must happen after  universe::genesis
272 
273   static bool is_stub_code(address addr)                   { return contains(addr); }
274 
275   static bool contains(address addr) {
276     return
277       (_code1 != NULL && _code1->blob_contains(addr)) ||
278       (_code2 != NULL && _code2->blob_contains(addr)) ;
279   }
280 
281   static RuntimeBlob* code1() { return _code1; }
282   static RuntimeBlob* code2() { return _code2; }
283 

459     return NULL;
460   }
461 
462   //
463   // Default versions of the above arraycopy functions for platforms which do
464   // not have specialized versions
465   //
466   static void jbyte_copy     (jbyte*  src, jbyte*  dest, size_t count);
467   static void jshort_copy    (jshort* src, jshort* dest, size_t count);
468   static void jint_copy      (jint*   src, jint*   dest, size_t count);
469   static void jlong_copy     (jlong*  src, jlong*  dest, size_t count);
470   static void oop_copy       (oop*    src, oop*    dest, size_t count);
471   static void oop_copy_uninit(oop*    src, oop*    dest, size_t count);
472 
473   static void arrayof_jbyte_copy     (HeapWord* src, HeapWord* dest, size_t count);
474   static void arrayof_jshort_copy    (HeapWord* src, HeapWord* dest, size_t count);
475   static void arrayof_jint_copy      (HeapWord* src, HeapWord* dest, size_t count);
476   static void arrayof_jlong_copy     (HeapWord* src, HeapWord* dest, size_t count);
477   static void arrayof_oop_copy       (HeapWord* src, HeapWord* dest, size_t count);
478   static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);
479 
480   static address load_inline_type_fields_in_regs() { return _load_inline_type_fields_in_regs; }
481   static address store_inline_type_fields_to_buf() { return _store_inline_type_fields_to_buf; }
482 };
483 
484 #endif // SHARE_RUNTIME_STUBROUTINES_HPP
< prev index next >