< prev index next >

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

Print this page




  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
< prev index next >