changeset 2289:c24725b417da

Reapply ia64 fix from patches/zero/6896043.patch 2010-11-29 Matthias Klose <doko@ubuntu.com> * patches/hotspot/hs19/ia64-fix.patch: Reapply chunk from patches/zero/6896043.patch.
author doko@ubuntu.com
date Mon, 29 Nov 2010 14:33:22 +0100
parents 9f1479361513
children fb7722abad72
files ChangeLog Makefile.am patches/hotspot/hs19/ia64-fix.patch
diffstat 3 files changed, 37 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Nov 29 08:48:38 2010 +0100
+++ b/ChangeLog	Mon Nov 29 14:33:22 2010 +0100
@@ -1,3 +1,8 @@
+2010-11-29  Matthias Klose  <doko@ubuntu.com>
+
+	* patches/hotspot/hs19/ia64-fix.patch: Reapply chunk from
+	patches/zero/6896043.patch.
+
 2010-11-29  Matthias Klose  <doko@ubuntu.com>
 
 	* patches/hotspot/hs19/params-cast-size_t.patch: Update for hs19.
--- a/Makefile.am	Mon Nov 29 08:48:38 2010 +0100
+++ b/Makefile.am	Mon Nov 29 14:33:22 2010 +0100
@@ -321,7 +321,8 @@
 if WITH_ALT_HSBUILD
 ICEDTEA_PATCHES += \
 	patches/openjdk/6994130-ppc_fix.patch \
-	patches/disable-default-compoops.patch
+	patches/disable-default-compoops.patch \
+	patches/hotspot/hs19/ia64-fix.patch
 else
 ICEDTEA_PATCHES += \
 	patches/shark_do_nothing_on_stub_frame.patch \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/hotspot/hs19/ia64-fix.patch	Mon Nov 29 14:33:22 2010 +0100
@@ -0,0 +1,30 @@
+--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp~	2010-10-08 20:29:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	2010-11-29 07:56:22.000000000 +0000
+@@ -1287,12 +1287,7 @@
+           jfloat f;
+           jdouble r;
+           f = STACK_FLOAT(-1);
+-#ifdef IA64
+-          // IA64 gcc bug
+-          r = ( f == 0.0f ) ? (jdouble) f : (jdouble) f + ia64_double_zero;
+-#else
+           r = (jdouble) f;
+-#endif
+           MORE_STACK(-1); // POP
+           SET_STACK_DOUBLE(r, 1);
+           UPDATE_PC_AND_TOS_AND_CONTINUE(1, 2);
+--- openjdk/hotspot/src/share/vm/opto/connode.cpp~	2010-10-08 20:29:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/opto/connode.cpp	2010-11-29 07:57:22.000000000 +0000
+@@ -712,12 +712,7 @@
+   if( t == Type::TOP ) return Type::TOP;
+   if( t == Type::FLOAT ) return Type::DOUBLE;
+   const TypeF *tf = t->is_float_constant();
+-#ifndef IA64
+   return TypeD::make( (double)tf->getf() );
+-#else
+-  float x = tf->getf();
+-  return TypeD::make( (x == 0.0f) ? (double)x : (double)x + ia64_double_zero );
+-#endif
+ }
+ 
+ //=============================================================================