38 _Prefetch_read(loc, interval); 39 } 40 41 inline void Prefetch::write(void *loc, intx interval) { 42 _Prefetch_write(loc, interval); 43 } 44 45 #ifdef _GNU_SOURCE 46 extern "C" { 47 inline void _Prefetch_read (void *loc, intx interval) { 48 __asm__ volatile 49 ("prefetch [%0+%1], 0" : : "r" (loc), "r" (interval) : "memory" ); 50 } 51 inline void _Prefetch_write(void *loc, intx interval) { 52 __asm__ volatile 53 ("prefetch [%0+%1], 2" : : "r" (loc), "r" (interval) : "memory" ); 54 } 55 } 56 #endif // _GNU_SOURCE 57 58 #else // defined(COMPILER2) || defined(_LP64) 59 60 inline void Prefetch::read (void *loc, intx interval) {} 61 inline void Prefetch::write(void *loc, intx interval) {} 62 63 #endif // defined(COMPILER2) || defined(_LP64) 64 65 #endif // OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP | 38 _Prefetch_read(loc, interval); 39 } 40 41 inline void Prefetch::write(void *loc, intx interval) { 42 _Prefetch_write(loc, interval); 43 } 44 45 #ifdef _GNU_SOURCE 46 extern "C" { 47 inline void _Prefetch_read (void *loc, intx interval) { 48 __asm__ volatile 49 ("prefetch [%0+%1], 0" : : "r" (loc), "r" (interval) : "memory" ); 50 } 51 inline void _Prefetch_write(void *loc, intx interval) { 52 __asm__ volatile 53 ("prefetch [%0+%1], 2" : : "r" (loc), "r" (interval) : "memory" ); 54 } 55 } 56 #endif // _GNU_SOURCE 57 58 #endif // defined(COMPILER2) || defined(_LP64) 59 60 #endif // OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP |