< prev index next >

src/os_cpu/solaris_sparc/vm/prefetch_solaris_sparc.inline.hpp

Print this page
rev 13069 : imported patch Remove_GNU_SOURCE


  23  */
  24 
  25 #ifndef OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
  26 #define OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
  27 
  28 #include "runtime/prefetch.hpp"
  29 
  30 // For Sun Studio inplementation is in solaris_sparc.il
  31 // For gcc inplementation is just below
  32 extern "C" void _Prefetch_read (void *loc, intx interval);
  33 extern "C" void _Prefetch_write(void *loc, intx interval);
  34 
  35 inline void Prefetch::read(void *loc, intx interval) {
  36   _Prefetch_read(loc, interval);
  37 }
  38 
  39 inline void Prefetch::write(void *loc, intx interval) {
  40   _Prefetch_write(loc, interval);
  41 }
  42 
  43 #ifdef _GNU_SOURCE
  44 extern "C" {
  45   inline void _Prefetch_read (void *loc, intx interval) {
  46     __asm__ volatile
  47       ("prefetch [%0+%1], 0" : : "r" (loc), "r" (interval) : "memory" );
  48   }
  49   inline void _Prefetch_write(void *loc, intx interval) {
  50     __asm__ volatile
  51       ("prefetch [%0+%1], 2" : : "r" (loc), "r" (interval) : "memory" );
  52   }
  53 }
  54 #endif // _GNU_SOURCE
  55 
  56 #endif // OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP


  23  */
  24 
  25 #ifndef OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
  26 #define OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
  27 
  28 #include "runtime/prefetch.hpp"
  29 
  30 // For Sun Studio inplementation is in solaris_sparc.il
  31 // For gcc inplementation is just below
  32 extern "C" void _Prefetch_read (void *loc, intx interval);
  33 extern "C" void _Prefetch_write(void *loc, intx interval);
  34 
  35 inline void Prefetch::read(void *loc, intx interval) {
  36   _Prefetch_read(loc, interval);
  37 }
  38 
  39 inline void Prefetch::write(void *loc, intx interval) {
  40   _Prefetch_write(loc, interval);
  41 }
  42 













  43 #endif // OS_CPU_SOLARIS_SPARC_VM_PREFETCH_SOLARIS_SPARC_INLINE_HPP
< prev index next >