1 $NetBSD: patch-hotspot_src_os__cpu_solaris__x86_vm_prefetch__solaris__x86.inline.hpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
5 --- hotspot/src/os_cpu/solaris_x86/vm/prefetch_solaris_x86.inline.hpp.orig 2013-02-19 23:21:59.000000000 +0000
6 +++ hotspot/src/os_cpu/solaris_x86/vm/prefetch_solaris_x86.inline.hpp
7 @@ -34,14 +34,28 @@ extern "C" {
9 inline void Prefetch::read (void *loc, intx interval) {
12 _Prefetch_read(loc, interval);
15 + __asm__ ("prefetcht0 (%0,%1,1)" : : "r" (loc), "r" (interval));
16 +#endif // _GNU_SOURCE
17 +#endif // SPARC_WORKS
21 // Use of this method should be gated by VM_Version::has_prefetchw.
22 inline void Prefetch::write(void *loc, intx interval) {
25 _Prefetch_write(loc, interval);
28 + // Do not use the 3dnow prefetchw instruction. It isn't supported on em64t.
29 + // __asm__ ("prefetchw (%0,%1,1)" : : "r" (loc), "r" (interval));
30 + __asm__ ("prefetcht0 (%0,%1,1)" : : "r" (loc), "r" (interval));
31 +#endif // _GNU_SOURCE
32 +#endif // SPARC_WORKS