[PATCH] openjdk/zero: only use floating point if floating point available

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Fri Jun 18 00:41:52 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.

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