[PATCH] openjdk/zero: only use FPU opcodes if FPU is available

Sebastian Andrzej Siewior openjdk at ml.breakpoint.cc
Mon Jun 21 12:50:07 PDT 2010


Those two opcodes are not available on non-FPU machines. If we have the
SPE extension we could use evldd and evstdd but this requires the
address to be 64bit aligned and I'm not sure whether this guaranteed
here.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
---
 .../src/os_cpu/linux_zero/vm/os_linux_zero.hpp     |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
index 86d3562..40fd41e 100644
--- a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
+++ b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
@@ -33,7 +33,7 @@
 
   // Atomically copy 64 bits of data
   static void atomic_copy64(volatile void *src, volatile void *dst) {
-#if defined(PPC) && !defined(_LP64)
+#if defined(PPC) && !defined(_LP64) && !defined(__NO_FPRS__)
     double tmp;
     asm volatile ("lfd  %0, 0(%1)\n"
                   "stfd %0, 0(%2)\n"
-- 
1.6.6.1


More information about the jdk6-dev mailing list