< prev index next >

src/hotspot/share/runtime/stubRoutines.hpp

Print this page

237   static address _bigIntegerRightShiftWorker;
238   static address _bigIntegerLeftShiftWorker;
239 
240   static address _vectorizedMismatch;
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   // Vector Math Routines
254   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
255   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
256 
257  public:


258   // Initialization/Testing
259   static void    initialize1();                            // must happen before universe::genesis
260   static void    initialize2();                            // must happen after  universe::genesis
261 
262   static bool is_stub_code(address addr)                   { return contains(addr); }
263 
264   static bool contains(address addr) {
265     return
266       (_code1 != NULL && _code1->blob_contains(addr)) ||
267       (_code2 != NULL && _code2->blob_contains(addr)) ;
268   }
269 
270   static RuntimeBlob* code1() { return _code1; }
271   static RuntimeBlob* code2() { return _code2; }
272 
273   // Debugging
274   static jint    verify_oop_count()                        { return _verify_oop_count; }
275   static jint*   verify_oop_count_addr()                   { return &_verify_oop_count; }
276   // a subroutine for debugging the GC
277   static address verify_oop_subroutine_entry_address()     { return (address)&_verify_oop_subroutine_entry; }

401   static address mulAdd()              { return _mulAdd; }
402   static address montgomeryMultiply()  { return _montgomeryMultiply; }
403   static address montgomerySquare()    { return _montgomerySquare; }
404   static address bigIntegerRightShift() { return _bigIntegerRightShiftWorker; }
405   static address bigIntegerLeftShift()  { return _bigIntegerLeftShiftWorker; }
406   static address galoisCounterMode_AESCrypt()   { return _galoisCounterMode_AESCrypt; }
407 
408   static address vectorizedMismatch()  { return _vectorizedMismatch; }
409 
410   static address dexp()                { return _dexp; }
411   static address dlog()                { return _dlog; }
412   static address dlog10()              { return _dlog10; }
413   static address dpow()                { return _dpow; }
414   static address dsin()                { return _dsin; }
415   static address dcos()                { return _dcos; }
416   static address dlibm_reduce_pi04l()  { return _dlibm_reduce_pi04l; }
417   static address dlibm_sin_cos_huge()  { return _dlibm_sin_cos_huge; }
418   static address dlibm_tan_cot_huge()  { return _dlibm_tan_cot_huge; }
419   static address dtan()                { return _dtan; }
420 


421   static address select_fill_function(BasicType t, bool aligned, const char* &name);
422 
423   //
424   // Default versions of the above arraycopy functions for platforms which do
425   // not have specialized versions
426   //
427   static void jbyte_copy     (jbyte*  src, jbyte*  dest, size_t count);
428   static void jshort_copy    (jshort* src, jshort* dest, size_t count);
429   static void jint_copy      (jint*   src, jint*   dest, size_t count);
430   static void jlong_copy     (jlong*  src, jlong*  dest, size_t count);
431   static void oop_copy       (oop*    src, oop*    dest, size_t count);
432   static void oop_copy_uninit(oop*    src, oop*    dest, size_t count);
433 
434   static void arrayof_jbyte_copy     (HeapWord* src, HeapWord* dest, size_t count);
435   static void arrayof_jshort_copy    (HeapWord* src, HeapWord* dest, size_t count);
436   static void arrayof_jint_copy      (HeapWord* src, HeapWord* dest, size_t count);
437   static void arrayof_jlong_copy     (HeapWord* src, HeapWord* dest, size_t count);
438   static void arrayof_oop_copy       (HeapWord* src, HeapWord* dest, size_t count);
439   static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);
440 };

237   static address _bigIntegerRightShiftWorker;
238   static address _bigIntegerLeftShiftWorker;
239 
240   static address _vectorizedMismatch;
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   // Vector Math Routines
254   static address _vector_f_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
255   static address _vector_d_math[VectorSupport::NUM_VEC_SIZES][VectorSupport::NUM_SVML_OP];
256 
257   static address _load_nklass;
258 
259 public:
260   // Initialization/Testing
261   static void    initialize1();                            // must happen before universe::genesis
262   static void    initialize2();                            // must happen after  universe::genesis
263 
264   static bool is_stub_code(address addr)                   { return contains(addr); }
265 
266   static bool contains(address addr) {
267     return
268       (_code1 != NULL && _code1->blob_contains(addr)) ||
269       (_code2 != NULL && _code2->blob_contains(addr)) ;
270   }
271 
272   static RuntimeBlob* code1() { return _code1; }
273   static RuntimeBlob* code2() { return _code2; }
274 
275   // Debugging
276   static jint    verify_oop_count()                        { return _verify_oop_count; }
277   static jint*   verify_oop_count_addr()                   { return &_verify_oop_count; }
278   // a subroutine for debugging the GC
279   static address verify_oop_subroutine_entry_address()     { return (address)&_verify_oop_subroutine_entry; }

403   static address mulAdd()              { return _mulAdd; }
404   static address montgomeryMultiply()  { return _montgomeryMultiply; }
405   static address montgomerySquare()    { return _montgomerySquare; }
406   static address bigIntegerRightShift() { return _bigIntegerRightShiftWorker; }
407   static address bigIntegerLeftShift()  { return _bigIntegerLeftShiftWorker; }
408   static address galoisCounterMode_AESCrypt()   { return _galoisCounterMode_AESCrypt; }
409 
410   static address vectorizedMismatch()  { return _vectorizedMismatch; }
411 
412   static address dexp()                { return _dexp; }
413   static address dlog()                { return _dlog; }
414   static address dlog10()              { return _dlog10; }
415   static address dpow()                { return _dpow; }
416   static address dsin()                { return _dsin; }
417   static address dcos()                { return _dcos; }
418   static address dlibm_reduce_pi04l()  { return _dlibm_reduce_pi04l; }
419   static address dlibm_sin_cos_huge()  { return _dlibm_sin_cos_huge; }
420   static address dlibm_tan_cot_huge()  { return _dlibm_tan_cot_huge; }
421   static address dtan()                { return _dtan; }
422 
423   static address load_nklass()         { return _load_nklass; }
424 
425   static address select_fill_function(BasicType t, bool aligned, const char* &name);
426 
427   //
428   // Default versions of the above arraycopy functions for platforms which do
429   // not have specialized versions
430   //
431   static void jbyte_copy     (jbyte*  src, jbyte*  dest, size_t count);
432   static void jshort_copy    (jshort* src, jshort* dest, size_t count);
433   static void jint_copy      (jint*   src, jint*   dest, size_t count);
434   static void jlong_copy     (jlong*  src, jlong*  dest, size_t count);
435   static void oop_copy       (oop*    src, oop*    dest, size_t count);
436   static void oop_copy_uninit(oop*    src, oop*    dest, size_t count);
437 
438   static void arrayof_jbyte_copy     (HeapWord* src, HeapWord* dest, size_t count);
439   static void arrayof_jshort_copy    (HeapWord* src, HeapWord* dest, size_t count);
440   static void arrayof_jint_copy      (HeapWord* src, HeapWord* dest, size_t count);
441   static void arrayof_jlong_copy     (HeapWord* src, HeapWord* dest, size_t count);
442   static void arrayof_oop_copy       (HeapWord* src, HeapWord* dest, size_t count);
443   static void arrayof_oop_copy_uninit(HeapWord* src, HeapWord* dest, size_t count);
444 };
< prev index next >