changeset 2641:36e7e97a3702

Update due to inclusion of hs20, 6599601, 6997495, 7029905 and 7042040. 2011-05-18 Andrew John Hughes <ahughes@redhat.com> * patches/hotspot/hs20/7032388-work_without_cmov_instruction.patch, * patches/hotspot/hs20/arm.patch, * patches/hotspot/hs20/gcc-suffix.patch, * patches/hotspot/hs20/ia64-fix.patch, * patches/hotspot/hs20/params-cast-size_t.patch, * patches/hotspot/hs20/powerpc-stacksize.patch, * patches/hotspot/hs20/sparc-buildfixes.patch, * patches/hotspot/hs20/systemtap.patch, * patches/hotspot/hs20/text-relocations.patch: Moved to main tree. * patches/hotspot/original/7032388-work_without_cmov_instruction.patch, * patches/hotspot/original/arm.patch, * patches/hotspot/original/gcc-suffix.patch, * patches/hotspot/original/ia64-fix.patch, * patches/hotspot/original/no-precompiled-headers.patch, * patches/hotspot/original/params-cast-size_t.patch, * patches/hotspot/original/sparc-buildfixes.patch, * patches/hotspot/original/systemtap.patch, * patches/hotspot/original/text-relocations.patch, * patches/hotspot/original/too-many-args.patch: Dropped; hs19 no longer supported. * patches/openjdk/6599601-mark_sun_toolkit_privileged_code.patch, * patches/openjdk/6997495-test_correction_6857159.patch, * patches/openjdk/7029905-demo_applet_html_files.patch, * patches/openjdk/7042040-no_disk_space_check.patch: Removed; upstream in OpenJDK6. * INSTALL: Update HotSpot documentation. * Makefile.am: (ICEDTEA_PATCHES): Updated. * acinclude.m4: (IT_WITH_HOTSPOT_BUILD): Set default back to original. * hotspot.map: Remove hs19. * patches/arm.patch, * patches/gcc-suffix.patch, * patches/ia64-fix.patch: Extended with HotSpot segments from hotspot/hs20. * patches/openjdk/6633275-shaped_translucent_windows.patch: Recreated due to copyright header change in Component.java. * patches/openjdk/7032388-work_without_cmov_instruction.patch, * patches/params-cast-size_t.patch, * patches/powerpc-stacksize.patch, * patches/sparc-buildfixes.patch, * patches/systemtap.patch, * patches/text-relocations.patch: Moved from hotspot/hs20.
author Andrew John Hughes <ahughes@redhat.com>
date Wed, 18 May 2011 22:49:21 +0100
parents 83034f3f172f
children b1123c5a67f7
files ChangeLog INSTALL Makefile.am acinclude.m4 hotspot.map patches/arm.patch patches/gcc-suffix.patch patches/hotspot/hs20/7032388-work_without_cmov_instruction.patch patches/hotspot/hs20/arm.patch patches/hotspot/hs20/gcc-suffix.patch patches/hotspot/hs20/ia64-fix.patch patches/hotspot/hs20/params-cast-size_t.patch patches/hotspot/hs20/powerpc-stacksize.patch patches/hotspot/hs20/sparc-buildfixes.patch patches/hotspot/hs20/systemtap.patch patches/hotspot/hs20/text-relocations.patch patches/hotspot/original/7032388-work_without_cmov_instruction.patch patches/hotspot/original/arm.patch patches/hotspot/original/gcc-suffix.patch patches/hotspot/original/ia64-fix.patch patches/hotspot/original/no-precompiled-headers.patch patches/hotspot/original/params-cast-size_t.patch patches/hotspot/original/sparc-buildfixes.patch patches/hotspot/original/systemtap.patch patches/hotspot/original/text-relocations.patch patches/hotspot/original/too-many-args.patch patches/ia64-fix.patch patches/openjdk/6599601-mark_sun_toolkit_privileged_code.patch patches/openjdk/6633275-shaped_translucent_windows.patch patches/openjdk/6997495-test_correction_6857159.patch patches/openjdk/7029905-demo_applet_html_files.patch patches/openjdk/7032388-work_without_cmov_instruction.patch patches/openjdk/7042040-no_disk_space_check.patch patches/params-cast-size_t.patch patches/powerpc-stacksize.patch patches/sparc-buildfixes.patch patches/systemtap.patch patches/text-relocations.patch
diffstat 38 files changed, 950 insertions(+), 1989 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed May 18 15:46:37 2011 +0100
+++ b/ChangeLog	Wed May 18 22:49:21 2011 +0100
@@ -1,3 +1,51 @@
+2011-05-18  Andrew John Hughes  <ahughes@redhat.com>
+
+	* patches/hotspot/hs20/7032388-work_without_cmov_instruction.patch,
+	* patches/hotspot/hs20/arm.patch,
+	* patches/hotspot/hs20/gcc-suffix.patch,
+	* patches/hotspot/hs20/ia64-fix.patch,
+	* patches/hotspot/hs20/params-cast-size_t.patch,
+	* patches/hotspot/hs20/powerpc-stacksize.patch,
+	* patches/hotspot/hs20/sparc-buildfixes.patch,
+	* patches/hotspot/hs20/systemtap.patch,
+	* patches/hotspot/hs20/text-relocations.patch:
+	Moved to main tree.
+	* patches/hotspot/original/7032388-work_without_cmov_instruction.patch,
+	* patches/hotspot/original/arm.patch,
+	* patches/hotspot/original/gcc-suffix.patch,
+	* patches/hotspot/original/ia64-fix.patch,
+	* patches/hotspot/original/no-precompiled-headers.patch,
+	* patches/hotspot/original/params-cast-size_t.patch,
+	* patches/hotspot/original/sparc-buildfixes.patch,
+	* patches/hotspot/original/systemtap.patch,
+	* patches/hotspot/original/text-relocations.patch,
+	* patches/hotspot/original/too-many-args.patch:
+	Dropped; hs19 no longer supported.
+	* patches/openjdk/6599601-mark_sun_toolkit_privileged_code.patch,
+	* patches/openjdk/6997495-test_correction_6857159.patch,
+	* patches/openjdk/7029905-demo_applet_html_files.patch,
+	* patches/openjdk/7042040-no_disk_space_check.patch:
+	Removed; upstream in OpenJDK6.
+	* INSTALL: Update HotSpot documentation.
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Updated.
+	* acinclude.m4:
+	(IT_WITH_HOTSPOT_BUILD): Set default back to original.
+	* hotspot.map: Remove hs19.
+	* patches/arm.patch,
+	* patches/gcc-suffix.patch,
+	* patches/ia64-fix.patch:
+	Extended with HotSpot segments from hotspot/hs20.
+	* patches/openjdk/6633275-shaped_translucent_windows.patch:
+	Recreated due to copyright header change in Component.java.
+	* patches/openjdk/7032388-work_without_cmov_instruction.patch,
+	* patches/params-cast-size_t.patch,
+	* patches/powerpc-stacksize.patch,
+	* patches/sparc-buildfixes.patch,
+	* patches/systemtap.patch,
+	* patches/text-relocations.patch:
+	Moved from hotspot/hs20.
+
 2011-05-17  Denis Lila <dlila@redhat.com>
 
 	* Makefile.am: Apply patch.
--- a/INSTALL	Wed May 18 15:46:37 2011 +0100
+++ b/INSTALL	Wed May 18 22:49:21 2011 +0100
@@ -318,16 +318,13 @@
 download stage and just verifies that the zip's MD5 sum matches that
 of the requested build.
 
-At present, IcedTea6 supports the 'original' HotSpot 19 provided as
-part of the upstream tarball and HotSpot 20 ('hs20') from the stable
-hs20 tree at http://hg.openjdk.java.net/hsx/hsx20/master.  The default
-is 'hs20' which will use the version of hs20 specified in hotspot.map.
-Note that the norm. is for up to one alternate (non-default) build to
-be supported and just passing --with-hotspot-build (equivalent to
---with-hotspot-build=yes) will always provide the alternate build
-(currently hs20).  Conversely, passing --without-hotspot-build
-(equivalent to --with-hotspot-build=no) provides the original build
-from the OpenJDK tarball (currently hs19).
+At present, IcedTea6 supports the 'original' HotSpot 20 provided as
+part of the upstream tarball.  Note that the norm. is for up to one
+alternate (non-default) build to be supported and just passing
+--with-hotspot-build (equivalent to --with-hotspot-build=yes) will
+always provide the alternate build.  Conversely, passing
+--without-hotspot-build (equivalent to --with-hotspot-build=no)
+provides the original build from the OpenJDK tarball.
 
 Javascript Support
 ==================
--- a/Makefile.am	Wed May 18 15:46:37 2011 +0100
+++ b/Makefile.am	Wed May 18 22:49:21 2011 +0100
@@ -187,11 +187,6 @@
 
 SECURITY_PATCHES = 
 
-if WITH_ALT_HSBUILD
-SECURITY_PATCHES += \
-	patches/security/20110215/6878713.patch
-endif
-
 ICEDTEA_PATCHES = \
 	$(SECURITY_PATCHES) \
 	patches/stdc-limit-macros.patch \
@@ -215,12 +210,11 @@
 	patches/lucene-crash.patch \
 	patches/version.patch \
 	patches/version-hotspot.patch \
-	patches/hotspot/$(HSBUILD)/text-relocations.patch \
+	patches/text-relocations.patch \
 	patches/openjdk/7043921-java_rmi_cgi.patch \
 	patches/use-system-tzdata.patch \
 	patches/headers.patch \
 	patches/gcc-suffix.patch \
-	patches/hotspot/$(HSBUILD)/gcc-suffix.patch \
 	patches/memory-limits.patch \
 	patches/libraries.patch \
 	patches/jvmtiEnv.patch \
@@ -235,7 +229,7 @@
 	patches/alt-jar.patch \
 	patches/jdk-use-ssize_t.patch \
 	patches/use-idx_t.patch \
-	patches/hotspot/$(HSBUILD)/params-cast-size_t.patch \
+	patches/params-cast-size_t.patch \
 	patches/clean-crypto.patch \
 	patches/arch.patch \
 	patches/lc_ctype.patch \
@@ -244,11 +238,10 @@
 	patches/testenv.patch \
 	patches/samejvm-safe.patch \
 	patches/pr261.patch \
-	patches/hotspot/$(HSBUILD)/sparc-buildfixes.patch \
+	patches/sparc-buildfixes.patch \
 	patches/sparc64-linux.patch \
 	patches/sparc-ptracefix.patch \
 	patches/sparc-trapsfix.patch \
-	patches/openjdk/7029905-demo_applet_html_files.patch \
 	patches/jtreg-6592792.patch \
 	patches/s390-noinline.patch \
 	patches/jtreg-dnd.patch \
@@ -266,9 +259,7 @@
 	patches/applet_hole.patch \
 	patches/jtreg-httpTest.patch \
 	patches/arm.patch \
-	patches/hotspot/$(HSBUILD)/arm.patch \
 	patches/debug-dir.patch \
-	patches/openjdk/7042040-no_disk_space_check.patch \
 	patches/override-redirect-metacity.patch \
 	patches/openjdk/6967533-pre_epoch.patch \
 	patches/fonts-rhel.patch \
@@ -289,7 +280,7 @@
 	patches/openjdk/6800846-printing-quality.patch \
 	patches/rh661505-jpeg.patch \
 	patches/6703377-freetypescaler.patch \
-	patches/hotspot/$(HSBUILD)/ia64-fix.patch \
+	patches/ia64-fix.patch \
 	patches/openjdk/6642612-filechooser_button_sizes.patch \
 	patches/jtreg-international-fonts-styles.patch \
 	patches/openjdk/6736649-text_bearings.patch \
@@ -324,10 +315,9 @@
 	patches/openjdk/7023591-AAShapePipe.patch \
 	patches/openjdk/7027667-AAShapePipeRegTest.patch \
 	patches/openjdk/7019861-AA-regression-fix.patch \
-	patches/openjdk/6599601-mark_sun_toolkit_privileged_code.patch \
 	patches/g356743-libpng-1.5.patch \
 	patches/revert-6885123.patch \
-	patches/hotspot/$(HSBUILD)/7032388-work_without_cmov_instruction.patch \
+	patches/openjdk/7032388-work_without_cmov_instruction.patch \
 	patches/openjdk/7031385-gcc-register-allocation-fix.patch \
 	patches/openjdk/7036220-shark_llvm_29_headers.patch \
 	patches/openjdk/6986968-crash_on_xim_restart.patch \
@@ -336,20 +326,11 @@
 	patches/openjdk/7034464-hugepage.patch \
 	patches/openjdk/7037939-hugepage.patch \
 	patches/openjdk/7043564-hugepage.patch \
-	patches/openjdk/mutter.patch
-
-if WITH_ALT_HSBUILD
-ICEDTEA_PATCHES += \
+	patches/openjdk/mutter.patch \
 	patches/pr639-broken_shark_build.patch \
-	patches/hotspot/$(HSBUILD)/powerpc-stacksize.patch \
+	patches/powerpc-stacksize.patch \
 	patches/jtreg-remove-test-6987555.patch \
 	patches/jtreg-remove-test-6991596.patch
-else
-ICEDTEA_PATCHES += \
-	patches/hotspot/$(HSBUILD)/no-precompiled-headers.patch \
-	patches/hotspot/$(HSBUILD)/too-many-args.patch \
-	patches/openjdk/6997495-test_correction_6857159.patch
-endif
 
 if WITH_RHINO
 ICEDTEA_PATCHES += \
@@ -391,7 +372,6 @@
 
 if ENABLE_SYSTEMTAP
 ICEDTEA_PATCHES += patches/systemtap.patch \
-	patches/hotspot/$(HSBUILD)/systemtap.patch \
 	patches/systemtap-gcc-4.5.patch \
 	patches/systemtap-alloc-size-workaround.patch
 endif
--- a/acinclude.m4	Wed May 18 15:46:37 2011 +0100
+++ b/acinclude.m4	Wed May 18 22:49:21 2011 +0100
@@ -1044,8 +1044,8 @@
 AC_DEFUN([IT_WITH_HOTSPOT_BUILD],
 [
   ORIGINAL_BUILD="original"
-  ALTERNATE_BUILD="hs20"
-  DEFAULT_BUILD=${ALTERNATE_BUILD}
+  ALTERNATE_BUILD="original"
+  DEFAULT_BUILD=${ORIGINAL_BUILD}
   AC_MSG_CHECKING([which HotSpot build to use])
   AC_ARG_WITH([hotspot-build],
 	      [AS_HELP_STRING(--with-hotspot-build,the HotSpot build to use (see hotspot.map))],
--- a/hotspot.map	Wed May 18 15:46:37 2011 +0100
+++ b/hotspot.map	Wed May 18 22:49:21 2011 +0100
@@ -1,2 +1,1 @@
 # version url changeset md5sum
-hs20 http://hg.openjdk.java.net/hsx/hsx20/master f0f676c5a2c6 369ad745bf697d525d1a00fc09906829
--- a/patches/arm.patch	Wed May 18 15:46:37 2011 +0100
+++ b/patches/arm.patch	Wed May 18 22:49:21 2011 +0100
@@ -164,3 +164,60 @@
    Thread* t = ThreadLocalStorage::get_thread_slow();
  
    SignalHandlerMark shm(t);
+diff -Nru openjdk.orig/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp openjdk/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp
+--- openjdk.orig/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp	2011-01-28 01:46:18.769782690 +0000
+@@ -1,6 +1,7 @@
+ /*
+  * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+  * Copyright 2009 Red Hat, Inc.
++ * Copyright 2009 Edward Nevill
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -26,6 +27,44 @@
+ #ifndef CPU_ZERO_VM_BYTECODES_ZERO_HPP
+ #define CPU_ZERO_VM_BYTECODES_ZERO_HPP
+ 
+-// This file is intentionally empty
++#ifdef HOTSPOT_ASM
++#define _iaccess_0      ((Bytecodes::Code)0xdb)
++#define _iaccess_1      ((Bytecodes::Code)0xdc)
++#define _iaccess_2      ((Bytecodes::Code)0xdd)
++#define _iaccess_3      ((Bytecodes::Code)0xde)
++
++#define _invokeresolved         ((Bytecodes::Code)0xdf)
++#define _invokespecialresolved  ((Bytecodes::Code)0xe0)
++#define _invokestaticresolved   ((Bytecodes::Code)0xe1)
++
++#define _iload_iload    ((Bytecodes::Code)0xe3)
++#define _iload_iload_N  ((Bytecodes::Code)0xe4)
++
++#define _dmac           ((Bytecodes::Code)0xe6)
++
++        _iload_0_iconst_N       ,       // 231
++        _iload_1_iconst_N       ,       // 232
++        _iload_2_iconst_N       ,       // 233
++        _iload_3_iconst_N       ,       // 234
++        _iload_iconst_N         ,       // 235
++        _iadd_istore_N          ,       // 236
++        _isub_istore_N          ,       // 237
++        _iand_istore_N          ,       // 238
++        _ior_istore_N           ,       // 239
++        _ixor_istore_N          ,       // 240
++        _iadd_u4store           ,       // 241
++        _isub_u4store           ,       // 242
++        _iand_u4store           ,       // 243
++        _ior_u4store            ,       // 244
++        _ixor_u4store           ,       // 245
++        _iload_0_iload          ,       // 246
++        _iload_1_iload          ,       // 247
++        _iload_2_iload          ,       // 248
++        _iload_3_iload          ,       // 249
++        _iload_0_iload_N        ,       // 250
++        _iload_1_iload_N        ,       // 251
++        _iload_2_iload_N        ,       // 252
++        _iload_3_iload_N        ,       // 253
++#endif // HOTSPOT_ASM
+ 
+ #endif // CPU_ZERO_VM_BYTECODES_ZERO_HPP
--- a/patches/gcc-suffix.patch	Wed May 18 15:46:37 2011 +0100
+++ b/patches/gcc-suffix.patch	Wed May 18 22:49:21 2011 +0100
@@ -46,3 +46,34 @@
    endif
    ifneq ("$(findstring sparc,$(ARCH))", "")
      # sparc or sparcv9
+diff -Nru openjdk.orig/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile
+--- openjdk.orig/hotspot/agent/src/os/linux/Makefile	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/agent/src/os/linux/Makefile	2011-01-28 00:43:20.632487152 +0000
+@@ -23,7 +23,7 @@
+ #
+ 
+ ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
+-GCC      = gcc
++GCC      = gcc$(GCC_SUFFIX)
+ 
+ JAVAH    = ${JAVA_HOME}/bin/javah
+ 
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-01-28 00:35:53.000000000 +0000
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-01-28 00:43:56.676866099 +0000
+@@ -28,11 +28,11 @@
+ # When cross-compiling the ALT_COMPILER_PATH points
+ # to the cross-compilation toolset
+ ifdef CROSS_COMPILE_ARCH
+-CPP = $(ALT_COMPILER_PATH)/g++
+-CC  = $(ALT_COMPILER_PATH)/gcc
++CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX)
++CC  = $(ALT_COMPILER_PATH)/gcc$(GCC_SUFFIX)
+ else
+-CPP = g++
+-CC  = gcc
++CPP = g++$(GCC_SUFFIX)
++CC  = gcc$(GCC_SUFFIX)
+ endif
+ 
+ AS  = $(CC) -c
--- a/patches/hotspot/hs20/7032388-work_without_cmov_instruction.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
---- openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp	2011-03-30 11:31:16.408872134 -0700
-+++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp	2011-03-30 11:31:16.084614406 -0700
-@@ -7769,6 +7769,28 @@
-   }
- }
- 
-+void MacroAssembler::cmov32(Condition cc, Register dst, Address src) {
-+  if (VM_Version::supports_cmov()) {
-+    cmovl(cc, dst, src);
-+  } else {
-+    Label L;
-+    jccb(negate_condition(cc), L);
-+    movl(dst, src);
-+    bind(L);
-+  }
-+}
-+
-+void MacroAssembler::cmov32(Condition cc, Register dst, Register src) {
-+  if (VM_Version::supports_cmov()) {
-+    cmovl(cc, dst, src);
-+  } else {
-+    Label L;
-+    jccb(negate_condition(cc), L);
-+    movl(dst, src);
-+    bind(L);
-+  }
-+}
-+
- void MacroAssembler::verify_oop(Register reg, const char* s) {
-   if (!VerifyOops) return;
- 
-@@ -9019,14 +9041,7 @@
-   movl(result, cnt1);
-   subl(cnt1, cnt2);
-   push(cnt1);
--  if (VM_Version::supports_cmov()) {
--    cmovl(Assembler::lessEqual, cnt2, result);
--  } else {
--    Label GT_LABEL;
--    jccb(Assembler::greater, GT_LABEL);
--    movl(cnt2, result);
--    bind(GT_LABEL);
--  }
-+  cmov32(Assembler::lessEqual, cnt2, result);
- 
-   // Is the minimum length zero?
-   testl(cnt2, cnt2);
---- openjdk/hotspot/src/cpu/x86/vm/assembler_x86.hpp	2011-03-30 11:31:17.757655562 -0700
-+++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.hpp	2011-03-30 11:31:17.553920606 -0700
-@@ -2244,10 +2244,13 @@
- 
-   // Data
- 
--  void cmov(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
-+  void cmov32( Condition cc, Register dst, Address  src);
-+  void cmov32( Condition cc, Register dst, Register src);
- 
--  void cmovptr(Condition cc, Register dst, Address src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
--  void cmovptr(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
-+  void cmov(   Condition cc, Register dst, Register src) { cmovptr(cc, dst, src); }
-+
-+  void cmovptr(Condition cc, Register dst, Address  src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmov32(cc, dst, src)); }
-+  void cmovptr(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmov32(cc, dst, src)); }
- 
-   void movoop(Register dst, jobject obj);
-   void movoop(Address dst, jobject obj);
---- openjdk/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	2011-03-30 11:31:18.743456717 -0700
-+++ openjdk/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	2011-03-30 11:31:18.541656202 -0700
-@@ -23,6 +23,7 @@
-  */
- 
- #include "precompiled.hpp"
-+#include "asm/assembler.hpp"
- #include "c1/c1_Compilation.hpp"
- #include "c1/c1_LIRAssembler.hpp"
- #include "c1/c1_MacroAssembler.hpp"
-@@ -569,24 +570,13 @@
-   __ lea          (rdi, Address(rdi, rcx, Address::times_2, arrayOopDesc::base_offset_in_bytes(T_CHAR)));
- 
-   // compute minimum length (in rax) and difference of lengths (on top of stack)
--  if (VM_Version::supports_cmov()) {
--    __ movl     (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
--    __ movl     (rax, Address(rax, java_lang_String::count_offset_in_bytes()));
--    __ mov      (rcx, rbx);
--    __ subptr   (rbx, rax); // subtract lengths
--    __ push     (rbx);      // result
--    __ cmov     (Assembler::lessEqual, rax, rcx);
--  } else {
--    Label L;
--    __ movl     (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
--    __ movl     (rcx, Address(rax, java_lang_String::count_offset_in_bytes()));
--    __ mov      (rax, rbx);
--    __ subptr   (rbx, rcx);
--    __ push     (rbx);
--    __ jcc      (Assembler::lessEqual, L);
--    __ mov      (rax, rcx);
--    __ bind (L);
--  }
-+  __ movl  (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
-+  __ movl  (rax, Address(rax, java_lang_String::count_offset_in_bytes()));
-+  __ mov   (rcx, rbx);
-+  __ subptr(rbx, rax); // subtract lengths
-+  __ push  (rbx);      // result
-+  __ cmov  (Assembler::lessEqual, rax, rcx);
-+
-   // is minimum length 0?
-   Label noLoop, haveResult;
-   __ testptr (rax, rax);
---- openjdk/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp	2011-03-30 11:31:19.824124145 -0700
-+++ openjdk/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp	2011-03-30 11:31:19.606167752 -0700
-@@ -23,6 +23,7 @@
-  */
- 
- #include "precompiled.hpp"
-+#include "asm/assembler.hpp"
- #include "c1/c1_Defs.hpp"
- #include "c1/c1_MacroAssembler.hpp"
- #include "c1/c1_Runtime1.hpp"
---- openjdk/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp	2011-03-30 11:31:20.910918826 -0700
-+++ openjdk/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp	2011-03-30 11:31:20.703693030 -0700
-@@ -23,6 +23,7 @@
-  */
- 
- #include "precompiled.hpp"
-+#include "asm/assembler.hpp"
- #include "interpreter/interpreter.hpp"
- #include "interpreter/interpreterRuntime.hpp"
- #include "interpreter/templateTable.hpp"
-@@ -1939,18 +1940,10 @@
-     __ movl(temp, Address(array, h, Address::times_8, 0*wordSize));
-     __ bswapl(temp);
-     __ cmpl(key, temp);
--    if (VM_Version::supports_cmov()) {
--      __ cmovl(Assembler::less        , j, h);   // j = h if (key <  array[h].fast_match())
--      __ cmovl(Assembler::greaterEqual, i, h);   // i = h if (key >= array[h].fast_match())
--    } else {
--      Label set_i, end_of_if;
--      __ jccb(Assembler::greaterEqual, set_i);     // {
--      __ mov(j, h);                                //   j = h;
--      __ jmp(end_of_if);                           // }
--      __ bind(set_i);                              // else {
--      __ mov(i, h);                                //   i = h;
--      __ bind(end_of_if);                          // }
--    }
-+    // j = h if (key <  array[h].fast_match())
-+    __ cmov32(Assembler::less        , j, h);
-+    // i = h if (key >= array[h].fast_match())
-+    __ cmov32(Assembler::greaterEqual, i, h);
-     // while (i+1 < j)
-     __ bind(entry);
-     __ leal(h, Address(i, 1));                   // i+1
-@@ -3478,22 +3471,14 @@
- 
-   // find a free slot in the monitor block (result in rdx)
-   { Label entry, loop, exit;
--    __ movptr(rcx, monitor_block_top);            // points to current entry, starting with top-most entry
--    __ lea(rbx, monitor_block_bot);               // points to word before bottom of monitor block
-+    __ movptr(rcx, monitor_block_top);           // points to current entry, starting with top-most entry
-+
-+    __ lea(rbx, monitor_block_bot);              // points to word before bottom of monitor block
-     __ jmpb(entry);
- 
-     __ bind(loop);
-     __ cmpptr(Address(rcx, BasicObjectLock::obj_offset_in_bytes()), (int32_t)NULL_WORD);  // check if current entry is used
--
--// TODO - need new func here - kbt
--    if (VM_Version::supports_cmov()) {
--      __ cmov(Assembler::equal, rdx, rcx);       // if not used then remember entry in rdx
--    } else {
--      Label L;
--      __ jccb(Assembler::notEqual, L);
--      __ mov(rdx, rcx);                          // if not used then remember entry in rdx
--      __ bind(L);
--    }
-+    __ cmovptr(Assembler::equal, rdx, rcx);      // if not used then remember entry in rdx
-     __ cmpptr(rax, Address(rcx, BasicObjectLock::obj_offset_in_bytes()));   // check if current entry is for same object
-     __ jccb(Assembler::equal, exit);             // if same object then stop searching
-     __ addptr(rcx, entry_size);                  // otherwise advance to next entry
--- a/patches/hotspot/hs20/arm.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-diff -Nru openjdk.orig/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp openjdk/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp
---- openjdk.orig/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp	2011-01-28 01:46:18.769782690 +0000
-@@ -1,6 +1,7 @@
- /*
-  * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
-  * Copyright 2009 Red Hat, Inc.
-+ * Copyright 2009 Edward Nevill
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -26,6 +27,44 @@
- #ifndef CPU_ZERO_VM_BYTECODES_ZERO_HPP
- #define CPU_ZERO_VM_BYTECODES_ZERO_HPP
- 
--// This file is intentionally empty
-+#ifdef HOTSPOT_ASM
-+#define _iaccess_0      ((Bytecodes::Code)0xdb)
-+#define _iaccess_1      ((Bytecodes::Code)0xdc)
-+#define _iaccess_2      ((Bytecodes::Code)0xdd)
-+#define _iaccess_3      ((Bytecodes::Code)0xde)
-+
-+#define _invokeresolved         ((Bytecodes::Code)0xdf)
-+#define _invokespecialresolved  ((Bytecodes::Code)0xe0)
-+#define _invokestaticresolved   ((Bytecodes::Code)0xe1)
-+
-+#define _iload_iload    ((Bytecodes::Code)0xe3)
-+#define _iload_iload_N  ((Bytecodes::Code)0xe4)
-+
-+#define _dmac           ((Bytecodes::Code)0xe6)
-+
-+        _iload_0_iconst_N       ,       // 231
-+        _iload_1_iconst_N       ,       // 232
-+        _iload_2_iconst_N       ,       // 233
-+        _iload_3_iconst_N       ,       // 234
-+        _iload_iconst_N         ,       // 235
-+        _iadd_istore_N          ,       // 236
-+        _isub_istore_N          ,       // 237
-+        _iand_istore_N          ,       // 238
-+        _ior_istore_N           ,       // 239
-+        _ixor_istore_N          ,       // 240
-+        _iadd_u4store           ,       // 241
-+        _isub_u4store           ,       // 242
-+        _iand_u4store           ,       // 243
-+        _ior_u4store            ,       // 244
-+        _ixor_u4store           ,       // 245
-+        _iload_0_iload          ,       // 246
-+        _iload_1_iload          ,       // 247
-+        _iload_2_iload          ,       // 248
-+        _iload_3_iload          ,       // 249
-+        _iload_0_iload_N        ,       // 250
-+        _iload_1_iload_N        ,       // 251
-+        _iload_2_iload_N        ,       // 252
-+        _iload_3_iload_N        ,       // 253
-+#endif // HOTSPOT_ASM
- 
- #endif // CPU_ZERO_VM_BYTECODES_ZERO_HPP
--- a/patches/hotspot/hs20/gcc-suffix.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-diff -Nru openjdk.orig/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile
---- openjdk.orig/hotspot/agent/src/os/linux/Makefile	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/agent/src/os/linux/Makefile	2011-01-28 00:43:20.632487152 +0000
-@@ -23,7 +23,7 @@
- #
- 
- ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
--GCC      = gcc
-+GCC      = gcc$(GCC_SUFFIX)
- 
- JAVAH    = ${JAVA_HOME}/bin/javah
- 
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-01-28 00:35:53.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-01-28 00:43:56.676866099 +0000
-@@ -28,11 +28,11 @@
- # When cross-compiling the ALT_COMPILER_PATH points
- # to the cross-compilation toolset
- ifdef CROSS_COMPILE_ARCH
--CPP = $(ALT_COMPILER_PATH)/g++
--CC  = $(ALT_COMPILER_PATH)/gcc
-+CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX)
-+CC  = $(ALT_COMPILER_PATH)/gcc$(GCC_SUFFIX)
- else
--CPP = g++
--CC  = gcc
-+CPP = g++$(GCC_SUFFIX)
-+CC  = gcc$(GCC_SUFFIX)
- endif
- 
- AS  = $(CC) -c
--- a/patches/hotspot/hs20/ia64-fix.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
---- 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
- }
- 
- //=============================================================================
--- a/patches/hotspot/hs20/params-cast-size_t.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	2011-01-28 01:06:11.887088930 +0000
-@@ -2645,7 +2645,7 @@
-   if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
-     size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
-     n_blks +=  CMSOldPLABReactivityFactor*multiple*n_blks;
--    n_blks = MIN2(n_blks, CMSOldPLABMax);
-+    n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax);
-   }
-   assert(n_blks > 0, "Error");
-   _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -955,7 +955,7 @@
-   if (free_percentage < desired_free_percentage) {
-     size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
-     assert(desired_capacity >= capacity(), "invalid expansion size");
--    expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes);
-+    expand_bytes = MAX2((long unsigned int) (desired_capacity - capacity()), (long unsigned int) MinHeapDeltaBytes);
-   }
-   if (expand_bytes > 0) {
-     if (PrintGCDetails && Verbose) {
-@@ -6238,7 +6238,7 @@
-     HeapWord* curAddr = _markBitMap.startWord();
-     while (curAddr < _markBitMap.endWord()) {
-       size_t remaining  = pointer_delta(_markBitMap.endWord(), curAddr);
--      MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining));
-+      MemRegion chunk(curAddr, MIN2((size_t) CMSBitMapYieldQuantum, remaining));
-       _markBitMap.clear_large_range(chunk);
-       if (ConcurrentMarkSweepThread::should_yield() &&
-           !foregroundGCIsActive() &&
-@@ -6533,7 +6533,7 @@
-     return;
-   }
-   // Double capacity if possible
--  size_t new_capacity = MIN2(_capacity*2, MarkStackSizeMax);
-+  size_t new_capacity = MIN2((size_t) (_capacity*2), (size_t) MarkStackSizeMax);
-   // Do not give up existing stack until we have managed to
-   // get the double capacity that we desired.
-   ReservedSpace rs(ReservedSpace::allocation_align_size_up(
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	2011-01-28 00:50:00.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -471,7 +471,7 @@
-   _regionStack(),
-   // _finger set in set_non_marking_state
- 
--  _max_task_num(MAX2(ParallelGCThreads, (size_t)1)),
-+  _max_task_num(MAX2((size_t)ParallelGCThreads, (size_t)1)),
-   // _active_tasks set in set_non_marking_state
-   // _tasks set inside the constructor
-   _task_queues(new CMTaskQueueSet((int) _max_task_num)),
-@@ -575,7 +575,7 @@
-       _sleep_factor             = sleep_factor;
-       _marking_task_overhead    = marking_task_overhead;
-     } else {
--      _parallel_marking_threads = MAX2((ParallelGCThreads + 2) / 4, (size_t)1);
-+      _parallel_marking_threads = MAX2((size_t)((ParallelGCThreads + 2) / 4), (size_t)1);
-       _sleep_factor             = 0.0;
-       _marking_task_overhead    = 1.0;
-     }
-@@ -3371,7 +3371,7 @@
-   // of things to do) or totally (at the very end).
-   size_t target_size;
-   if (partially)
--    target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
-+    target_size = MIN2((size_t)_task_queue->max_elems()/3, (size_t)GCDrainStackTargetSize);
-   else
-     target_size = 0;
- 
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -1074,7 +1074,7 @@
- // This can be done by either mutator threads together with the
- // concurrent refinement threads or GC threads.
- int HeapRegionRemSet::num_par_rem_sets() {
--  return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
-+  return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), (size_t)ParallelGCThreads);
- }
- 
- HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa,
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -895,8 +895,8 @@
- void PSParallelCompact::initialize_dead_wood_limiter()
- {
-   const size_t max = 100;
--  _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
--  _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
-+  _dwl_mean = double(MIN2((size_t) ParallelOldDeadWoodLimiterMean, max)) / 100.0;
-+  _dwl_std_dev = double(MIN2((size_t) ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
-   _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev);
-   DEBUG_ONLY(_dwl_initialized = true;)
-   _dwl_adjustment = normal_distribution(1.0);
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -69,7 +69,7 @@
-   _last_used = current_live;
- 
-   // We have different alignment constraints than the rest of the heap.
--  const size_t alignment = MAX2(MinPermHeapExpansion,
-+  const size_t alignment = MAX2((size_t) MinPermHeapExpansion,
-                                 virtual_space()->alignment());
- 
-   // Compute the desired size:
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	2011-01-28 01:06:11.895089019 +0000
-@@ -188,7 +188,7 @@
-   const size_t num_overflow_elems = of_stack->size();
-   const size_t space_available = queue->max_elems() - queue->size();
-   const size_t num_take_elems = MIN3(space_available / 4,
--                                     ParGCDesiredObjsFromOverflowList,
-+                                     (size_t) ParGCDesiredObjsFromOverflowList,
-                                      num_overflow_elems);
-   // Transfer the most recent num_take_elems from the overflow
-   // stack to our work queue.
-diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -328,7 +328,7 @@
-     // yield a size that is too small) and bound it by MaxNewSize above.
-     // Ergonomics plays here by previously calculating the desired
-     // NewSize and MaxNewSize.
--    max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize);
-+    max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize);
-   }
-   assert(max_new_size > 0, "All paths should set max_new_size");
- 
-@@ -355,7 +355,7 @@
-       // generally small compared to the NewRatio calculation.
-       _min_gen0_size = NewSize;
-       desired_new_size = NewSize;
--      max_new_size = MAX2(max_new_size, NewSize);
-+      max_new_size = MAX2(max_new_size, (size_t) NewSize);
-     } else {
-       // For the case where NewSize is the default, use NewRatio
-       // to size the minimum and initial generation sizes.
-@@ -363,10 +363,10 @@
-       // NewRatio is overly large, the resulting sizes can be too
-       // small.
-       _min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()),
--                          NewSize);
-+                          (size_t) NewSize);
-       desired_new_size =
-         MAX2(scale_by_NewRatio_aligned(initial_heap_byte_size()),
--             NewSize);
-+             (size_t) NewSize);
-     }
- 
-     assert(_min_gen0_size > 0, "Sanity check");
-@@ -421,14 +421,14 @@
-       // Adjust gen0 down to accomodate OldSize
-       *gen0_size_ptr = heap_size - min_gen0_size;
-       *gen0_size_ptr =
--        MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()),
-+        MAX2((size_t)align_size_down(*gen0_size_ptr, min_alignment()),
-              min_alignment());
-       assert(*gen0_size_ptr > 0, "Min gen0 is too large");
-       result = true;
-     } else {
-       *gen1_size_ptr = heap_size - *gen0_size_ptr;
-       *gen1_size_ptr =
--        MAX2((uintx)align_size_down(*gen1_size_ptr, min_alignment()),
-+        MAX2((size_t)align_size_down(*gen1_size_ptr, min_alignment()),
-                        min_alignment());
-     }
-   }
-@@ -452,7 +452,7 @@
-   // for setting the gen1 maximum.
-   _max_gen1_size = max_heap_byte_size() - _max_gen0_size;
-   _max_gen1_size =
--    MAX2((uintx)align_size_down(_max_gen1_size, min_alignment()),
-+    MAX2((size_t)align_size_down(_max_gen1_size, min_alignment()),
-          min_alignment());
-   // If no explicit command line flag has been set for the
-   // gen1 size, use what is left for gen1.
-@@ -466,11 +466,11 @@
-       "gen0 has an unexpected minimum size");
-     set_min_gen1_size(min_heap_byte_size() - min_gen0_size());
-     set_min_gen1_size(
--      MAX2((uintx)align_size_down(_min_gen1_size, min_alignment()),
-+      MAX2((size_t)align_size_down(_min_gen1_size, min_alignment()),
-            min_alignment()));
-     set_initial_gen1_size(initial_heap_byte_size() - initial_gen0_size());
-     set_initial_gen1_size(
--      MAX2((uintx)align_size_down(_initial_gen1_size, min_alignment()),
-+      MAX2((size_t)align_size_down(_initial_gen1_size, min_alignment()),
-            min_alignment()));
- 
-   } else {
-diff -Nru openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -240,7 +240,7 @@
-   size_t init_sz;
- 
-   if (TLABSize > 0) {
--    init_sz = MIN2(TLABSize / HeapWordSize, max_size());
-+    init_sz = MIN2((size_t) (TLABSize / HeapWordSize), max_size());
-   } else if (global_stats() == NULL) {
-     // Startup issue - main thread initialized before heap initialized.
-     init_sz = min_size();
-diff -Nru openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
---- openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	2011-01-28 01:06:11.891088974 +0000
-@@ -46,7 +46,7 @@
-   const size_t beg_index = size_t(index);
-   assert(beg_index < len || len == 0, "index too large");
- 
--  const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
-+  const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
-   const size_t end_index = beg_index + stride;
-   T* const base = (T*)a->base();
-   T* const beg = base + beg_index;
-@@ -80,7 +80,7 @@
-   const size_t beg_index = size_t(index);
-   assert(beg_index < len || len == 0, "index too large");
- 
--  const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
-+  const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
-   const size_t end_index = beg_index + stride;
-   T* const base = (T*)a->base();
-   T* const beg = base + beg_index;
-diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2011-01-28 00:49:59.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2011-01-28 01:06:11.891088974 +0000
-@@ -1161,7 +1161,7 @@
-     // NewSize was set on the command line and it is larger than
-     // preferred_max_new_size.
-     if (!FLAG_IS_DEFAULT(NewSize)) {   // NewSize explicitly set at command-line
--      FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size));
-+      FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t) NewSize, preferred_max_new_size));
-     } else {
-       FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
-     }
-@@ -1180,7 +1180,7 @@
-     // there was no obvious reason.  Also limit to the case where
-     // MaxNewSize has not been set.
- 
--    FLAG_SET_ERGO(intx, NewRatio, MAX2(NewRatio, new_ratio));
-+    FLAG_SET_ERGO(intx, NewRatio, MAX2((intx) NewRatio, new_ratio));
- 
-     // Code along this path potentially sets NewSize and OldSize
- 
-@@ -1222,8 +1222,8 @@
-       // Unless explicitly requested otherwise, make young gen
-       // at least min_new, and at most preferred_max_new_size.
-       if (FLAG_IS_DEFAULT(NewSize)) {
--        FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new));
--        FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
-+	FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t) NewSize, min_new));
-+        FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize));
-         if (PrintGCDetails && Verbose) {
-           // Too early to use gclog_or_tty
-           tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize);
-@@ -1234,7 +1234,7 @@
-       // later NewRatio will decide how it grows; see above.
-       if (FLAG_IS_DEFAULT(OldSize)) {
-         if (max_heap > NewSize) {
--          FLAG_SET_ERGO(uintx, OldSize, MIN2(3*NewSize, max_heap - NewSize));
-+	  FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t) 3*NewSize, max_heap - (size_t) NewSize));
-           if (PrintGCDetails && Verbose) {
-             // Too early to use gclog_or_tty
-             tty->print_cr("Ergo set OldSize: " SIZE_FORMAT, OldSize);
--- a/patches/hotspot/hs20/powerpc-stacksize.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
---- openjdk/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp~	2011-02-22 17:51:24.000000000 +0100
-+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	2011-02-24 18:58:27.758228950 +0100
-@@ -32,7 +32,11 @@
- //
- 
- define_pd_global(bool,  DontYieldALot,           false);
-+#ifdef __powerpc64__
-+define_pd_global(intx,  ThreadStackSize,         2048);
-+#else
- define_pd_global(intx,  ThreadStackSize,         1536);
-+#endif
- #ifdef _LP64
- define_pd_global(intx,  VMThreadStackSize,       1024);
- #else
---- openjdk/corba/make/common/shared/Defs-java.gmk~	2011-02-24 18:56:20.278228999 +0100
-+++ openjdk/corba/make/common/shared/Defs-java.gmk	2011-02-24 19:01:47.938229001 +0100
-@@ -68,9 +68,9 @@
- 
- # 64-bit builds require a larger thread stack size.
- ifeq ($(ARCH_DATA_MODEL), 32)
--  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=768
-+  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1024
- else
--  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1536
-+  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=2048
- endif
- JAVAC_JVM_FLAGS    += $(JAVA_TOOLS_FLAGS:%=-J%)
- 
---- openjdk/jdk/make/common/shared/Defs-java.gmk~	2011-02-24 20:10:20.598229000 +0100
-+++ openjdk/jdk/make/common/shared/Defs-java.gmk	2011-02-24 20:11:45.608228331 +0100
-@@ -75,9 +75,9 @@
- 
- # 64-bit builds require a larger thread stack size.
- ifeq ($(ARCH_DATA_MODEL), 32)
--  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=768
-+  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1024
- else
--  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1536
-+  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=2048
- endif
- JAVAC_JVM_FLAGS    += $(JAVA_TOOLS_FLAGS:%=-J%)
- 
--- a/patches/hotspot/hs20/sparc-buildfixes.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
---- openjdk.orig/hotspot/make/linux/makefiles/defs.make	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/defs.make	2011-01-28 01:21:25.609237228 +0000
-@@ -58,7 +58,7 @@
- endif
- 
- # sparc
--ifeq ($(ARCH), sparc64)
-+ifneq (,$(filter $(ARCH), sparc sparc64))
-   ifeq ($(ARCH_DATA_MODEL), 64)
-     ARCH_DATA_MODEL  = 64
-     MAKE_ARGS        += LP64=1
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-01-28 01:14:57.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-01-28 01:21:25.609237228 +0000
-@@ -64,6 +64,10 @@
- PICFLAG = -fpic
- endif
- 
-+ifneq ($(filter sparc sparcv9,$(BUILDARCH)),)
-+PICFLAG = -fPIC
-+endif
-+
- VM_PICFLAG/LIBJVM = $(PICFLAG)
- VM_PICFLAG/AOUT   =
- VM_PICFLAG        = $(VM_PICFLAG/$(LINK_INTO))
--- a/patches/hotspot/hs20/systemtap.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp openjdk/hotspot/src/share/vm/utilities/dtrace.hpp
---- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp	2011-01-28 02:39:02.052518309 +0000
-@@ -1,5 +1,6 @@
- /*
-  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright 2009 Red Hat, Inc.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -25,7 +26,7 @@
- #ifndef SHARE_VM_UTILITIES_DTRACE_HPP
- #define SHARE_VM_UTILITIES_DTRACE_HPP
- 
--#if defined(SOLARIS) && defined(DTRACE_ENABLED)
-+#if defined(DTRACE_ENABLED)
- 
- #include <sys/sdt.h>
- 
-@@ -36,7 +37,7 @@
- #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \
-   do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0)
- 
--#else // ndef SOLARIS || ndef DTRACE_ENABLED
-+#else // ndef DTRACE_ENABLED
- 
- #define DTRACE_ONLY(x)
- #define NOT_DTRACE(x) x
-@@ -47,11 +48,18 @@
- #define DTRACE_PROBE3(a,b,c,d,e) {;}
- #define DTRACE_PROBE4(a,b,c,d,e,f) {;}
- #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;}
-+#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;}
-+#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;}
-+#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;}
-+#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;}
-+#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;}
- 
- #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
- 
- #endif
- 
-+#if defined(SOLARIS)
-+// Solaris dtrace needs actual extern function decls.
- #define HS_DTRACE_PROBE_FN(provider,name)\
-   __dtrace_##provider##___##name
- 
-@@ -59,6 +67,11 @@
-   DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args)
- #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \
-   DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args)
-+#else
-+// Systemtap dtrace compatible probes on GNU/Linux don't.
-+#define HS_DTRACE_PROBE_DECL_N(provider,name,args)
-+#define HS_DTRACE_PROBE_CDECL_N(provider,name,args)
-+#endif 
- 
- /* Dtrace probe declarations */
- #define HS_DTRACE_PROBE_DECL(provider,name) \
-@@ -97,6 +110,8 @@
-     uintptr_t,uintptr_t,uintptr_t))
- 
- /* Dtrace probe definitions */
-+#if defined(SOLARIS)
-+// Solaris dtrace uses actual function calls.
- #define HS_DTRACE_PROBE_N(provider,name, args) \
-   DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args)
- 
-@@ -132,5 +147,31 @@
-   HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
-     (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\
-     (uintptr_t)a8,(uintptr_t)a9))
-+#else
-+// Systemtap dtrace compatible probes on GNU/Linux use direct macros.
-+#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name)
-+#define HS_DTRACE_PROBE0(provider,name)\
-+  DTRACE_PROBE(provider,name)
-+#define HS_DTRACE_PROBE1(provider,name,a0)\
-+  DTRACE_PROBE1(provider,name,a0)
-+#define HS_DTRACE_PROBE2(provider,name,a0,a1)\
-+  DTRACE_PROBE2(provider,name,a0,a1)
-+#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\
-+  DTRACE_PROBE3(provider,name,a0,a1,a2)
-+#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\
-+  DTRACE_PROBE4(provider,name,a0,a1,a2,a3)
-+#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\
-+  DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)
-+#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\
-+  DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)
-+#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\
-+  DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)
-+#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\
-+  DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)
-+#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
-+  DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
-+#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
-+  DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
-+#endif
- 
- #endif // SHARE_VM_UTILITIES_DTRACE_HPP
--- a/patches/hotspot/hs20/text-relocations.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-01-28 00:32:20.817556386 +0000
-@@ -58,7 +58,11 @@
- # Compiler flags
- 
- # position-independent code
-+ifneq ($(filter alpha parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),)
- PICFLAG = -fPIC
-+else
-+PICFLAG = -fpic
-+endif
- 
- VM_PICFLAG/LIBJVM = $(PICFLAG)
- VM_PICFLAG/AOUT   =
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/rules.make openjdk/hotspot/make/linux/makefiles/rules.make
---- openjdk.orig/hotspot/make/linux/makefiles/rules.make	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/rules.make	2011-01-28 00:32:52.857892660 +0000
-@@ -146,20 +146,10 @@
- include $(GAMMADIR)/make/pic.make
- endif
- 
--# The non-PIC object files are only generated for 32 bit platforms.
--ifdef LP64
- %.o: %.cpp
- 	@echo Compiling $<
- 	$(QUIETLY) $(REMOVE_TARGET)
- 	$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
--else
--%.o: %.cpp
--	@echo Compiling $<
--	$(QUIETLY) $(REMOVE_TARGET)
--	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
--	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
--	   $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
--endif
- 
- %.o: %.s
- 	@echo Assembling $<
-diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/rules.make openjdk/hotspot/make/solaris/makefiles/rules.make
---- openjdk.orig/hotspot/make/solaris/makefiles/rules.make	2011-01-25 22:57:24.000000000 +0000
-+++ openjdk/hotspot/make/solaris/makefiles/rules.make	2011-01-28 00:33:15.158126725 +0000
-@@ -146,20 +146,10 @@
- include $(GAMMADIR)/make/pic.make
- endif
- 
--# Sun compiler for 64 bit Solaris does not support building non-PIC object files.
--ifdef LP64
- %.o: %.cpp
- 	@echo Compiling $<
- 	$(QUIETLY) $(REMOVE_TARGET)
- 	$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
--else
--%.o: %.cpp
--	@echo Compiling $<
--	$(QUIETLY) $(REMOVE_TARGET)
--	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
--	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
--	   $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
--endif
- 
- %.o: %.s
- 	@echo Assembling $<
--- a/patches/hotspot/original/7032388-work_without_cmov_instruction.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/assembler_x86.cpp openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp
---- openjdk.orig/hotspot/src/cpu/x86/vm/assembler_x86.cpp	2011-02-28 16:03:14.000000000 +0000
-+++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp	2011-03-31 03:28:54.031901634 +0100
-@@ -7643,6 +7643,28 @@
-   }
- }
- 
-+void MacroAssembler::cmov32(Condition cc, Register dst, Address src) {
-+  if (VM_Version::supports_cmov()) {
-+    cmovl(cc, dst, src);
-+  } else {
-+    Label L;
-+    jccb(negate_condition(cc), L);
-+    movl(dst, src);
-+    bind(L);
-+  }
-+}
-+
-+void MacroAssembler::cmov32(Condition cc, Register dst, Register src) {
-+  if (VM_Version::supports_cmov()) {
-+    cmovl(cc, dst, src);
-+  } else {
-+    Label L;
-+    jccb(negate_condition(cc), L);
-+    movl(dst, src);
-+    bind(L);
-+  }
-+}
-+
- void MacroAssembler::verify_oop(Register reg, const char* s) {
-   if (!VerifyOops) return;
- 
-@@ -8559,14 +8581,7 @@
-   movl(result, cnt1);
-   subl(cnt1, cnt2);
-   push(cnt1);
--  if (VM_Version::supports_cmov()) {
--    cmovl(Assembler::lessEqual, cnt2, result);
--  } else {
--    Label GT_LABEL;
--    jccb(Assembler::greater, GT_LABEL);
--    movl(cnt2, result);
--    bind(GT_LABEL);
--  }
-+  cmov32(Assembler::lessEqual, cnt2, result);
- 
-   // Is the minimum length zero?
-   testl(cnt2, cnt2);
-diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/assembler_x86.hpp openjdk/hotspot/src/cpu/x86/vm/assembler_x86.hpp
---- openjdk.orig/hotspot/src/cpu/x86/vm/assembler_x86.hpp	2011-02-28 16:03:14.000000000 +0000
-+++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.hpp	2011-03-31 03:28:54.031901634 +0100
-@@ -2174,10 +2174,13 @@
- 
-   // Data
- 
--  void cmov(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
-+  void cmov32( Condition cc, Register dst, Address  src);
-+  void cmov32( Condition cc, Register dst, Register src);
- 
--  void cmovptr(Condition cc, Register dst, Address src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
--  void cmovptr(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
-+  void cmov(   Condition cc, Register dst, Register src) { cmovptr(cc, dst, src); }
-+
-+  void cmovptr(Condition cc, Register dst, Address  src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmov32(cc, dst, src)); }
-+  void cmovptr(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmov32(cc, dst, src)); }
- 
-   void movoop(Register dst, jobject obj);
-   void movoop(Address dst, jobject obj);
-diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp openjdk/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
---- openjdk.orig/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	2011-02-28 16:03:14.000000000 +0000
-+++ openjdk/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	2011-03-31 03:28:54.035901697 +0100
-@@ -559,24 +559,13 @@
-   __ lea    (rdi, Address(rdi, rcx, Address::times_2, arrayOopDesc::base_offset_in_bytes(T_CHAR)));
- 
-   // compute minimum length (in rax) and difference of lengths (on top of stack)
--  if (VM_Version::supports_cmov()) {
--    __ movl     (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
--    __ movl     (rax, Address(rax, java_lang_String::count_offset_in_bytes()));
--    __ mov      (rcx, rbx);
--    __ subptr   (rbx, rax); // subtract lengths
--    __ push     (rbx);      // result
--    __ cmov     (Assembler::lessEqual, rax, rcx);
--  } else {
--    Label L;
--    __ movl     (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
--    __ movl     (rcx, Address(rax, java_lang_String::count_offset_in_bytes()));
--    __ mov      (rax, rbx);
--    __ subptr   (rbx, rcx);
--    __ push     (rbx);
--    __ jcc      (Assembler::lessEqual, L);
--    __ mov      (rax, rcx);
--    __ bind (L);
--  }
-+  __ movl  (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
-+  __ movl  (rax, Address(rax, java_lang_String::count_offset_in_bytes()));
-+  __ mov   (rcx, rbx);
-+  __ subptr(rbx, rax); // subtract lengths
-+  __ push  (rbx);      // result
-+  __ cmov  (Assembler::lessEqual, rax, rcx);
-+
-   // is minimum length 0?
-   Label noLoop, haveResult;
-   __ testptr (rax, rax);
-diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp openjdk/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp
---- openjdk.orig/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp	2011-02-28 16:03:14.000000000 +0000
-+++ openjdk/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp	2011-03-31 03:28:54.035901697 +0100
-@@ -1931,18 +1931,10 @@
-     __ movl(temp, Address(array, h, Address::times_8, 0*wordSize));
-     __ bswapl(temp);
-     __ cmpl(key, temp);
--    if (VM_Version::supports_cmov()) {
--      __ cmovl(Assembler::less        , j, h);   // j = h if (key <  array[h].fast_match())
--      __ cmovl(Assembler::greaterEqual, i, h);   // i = h if (key >= array[h].fast_match())
--    } else {
--      Label set_i, end_of_if;
--      __ jccb(Assembler::greaterEqual, set_i);     // {
--      __ mov(j, h);                                //   j = h;
--      __ jmp(end_of_if);                           // }
--      __ bind(set_i);                              // else {
--      __ mov(i, h);                                //   i = h;
--      __ bind(end_of_if);                          // }
--    }
-+    // j = h if (key <  array[h].fast_match())
-+    __ cmov32(Assembler::less        , j, h);
-+    // i = h if (key >= array[h].fast_match())
-+    __ cmov32(Assembler::greaterEqual, i, h);
-     // while (i+1 < j)
-     __ bind(entry);
-     __ leal(h, Address(i, 1));                   // i+1
-@@ -3463,22 +3455,14 @@
- 
-   // find a free slot in the monitor block (result in rdx)
-   { Label entry, loop, exit;
--    __ movptr(rcx, monitor_block_top);            // points to current entry, starting with top-most entry
--    __ lea(rbx, monitor_block_bot);               // points to word before bottom of monitor block
-+    __ movptr(rcx, monitor_block_top);           // points to current entry, starting with top-most entry
-+
-+    __ lea(rbx, monitor_block_bot);              // points to word before bottom of monitor block
-     __ jmpb(entry);
- 
-     __ bind(loop);
-     __ cmpptr(Address(rcx, BasicObjectLock::obj_offset_in_bytes()), (int32_t)NULL_WORD);  // check if current entry is used
--
--// TODO - need new func here - kbt
--    if (VM_Version::supports_cmov()) {
--      __ cmov(Assembler::equal, rdx, rcx);       // if not used then remember entry in rdx
--    } else {
--      Label L;
--      __ jccb(Assembler::notEqual, L);
--      __ mov(rdx, rcx);                          // if not used then remember entry in rdx
--      __ bind(L);
--    }
-+    __ cmovptr(Assembler::equal, rdx, rcx);      // if not used then remember entry in rdx
-     __ cmpptr(rax, Address(rcx, BasicObjectLock::obj_offset_in_bytes()));   // check if current entry is for same object
-     __ jccb(Assembler::equal, exit);             // if same object then stop searching
-     __ addptr(rcx, entry_size);                  // otherwise advance to next entry
--- a/patches/hotspot/original/arm.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-diff -Nru openjdk.orig/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp openjdk/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp
---- openjdk.orig/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp	2010-05-28 11:10:30.000000000 +0100
-+++ openjdk/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp	2010-06-17 17:28:49.000000000 +0100
-@@ -1,6 +1,7 @@
- /*
-  * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
-  * Copyright 2009 Red Hat, Inc.
-+ * Copyright 2009 Edward Nevill
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -23,4 +24,42 @@
-  *
-  */
- 
--// This file is intentionally empty
-+#ifdef HOTSPOT_ASM
-+#define _iaccess_0      ((Bytecodes::Code)0xdb)
-+#define _iaccess_1      ((Bytecodes::Code)0xdc)
-+#define _iaccess_2      ((Bytecodes::Code)0xdd)
-+#define _iaccess_3      ((Bytecodes::Code)0xde)
-+
-+#define _invokeresolved         ((Bytecodes::Code)0xdf)
-+#define _invokespecialresolved  ((Bytecodes::Code)0xe0)
-+#define _invokestaticresolved   ((Bytecodes::Code)0xe1)
-+
-+#define _iload_iload    ((Bytecodes::Code)0xe3)
-+#define _iload_iload_N  ((Bytecodes::Code)0xe4)
-+
-+#define _dmac           ((Bytecodes::Code)0xe6)
-+
-+        _iload_0_iconst_N       ,       // 231
-+        _iload_1_iconst_N       ,       // 232
-+        _iload_2_iconst_N       ,       // 233
-+        _iload_3_iconst_N       ,       // 234
-+        _iload_iconst_N         ,       // 235
-+        _iadd_istore_N          ,       // 236
-+        _isub_istore_N          ,       // 237
-+        _iand_istore_N          ,       // 238
-+        _ior_istore_N           ,       // 239
-+        _ixor_istore_N          ,       // 240
-+        _iadd_u4store           ,       // 241
-+        _isub_u4store           ,       // 242
-+        _iand_u4store           ,       // 243
-+        _ior_u4store            ,       // 244
-+        _ixor_u4store           ,       // 245
-+        _iload_0_iload          ,       // 246
-+        _iload_1_iload          ,       // 247
-+        _iload_2_iload          ,       // 248
-+        _iload_3_iload          ,       // 249
-+        _iload_0_iload_N        ,       // 250
-+        _iload_1_iload_N        ,       // 251
-+        _iload_2_iload_N        ,       // 252
-+        _iload_3_iload_N        ,       // 253
-+#endif // HOTSPOT_ASM
--- a/patches/hotspot/original/gcc-suffix.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-diff -Nru openjdk.orig/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile
---- openjdk.orig/hotspot/agent/src/os/linux/Makefile	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/agent/src/os/linux/Makefile	2010-09-19 14:09:17.907131214 +0100
-@@ -23,7 +23,7 @@
- #
- 
- ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
--GCC      = gcc
-+GCC      = gcc$(GCC_SUFFIX)
- 
- JAVAH    = ${JAVA_HOME}/bin/javah
- 
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2010-09-19 14:07:15.000000000 +0100
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2010-09-19 14:09:58.015272246 +0100
-@@ -26,11 +26,11 @@
- # CC, CPP & AS
- 
- ifdef ALT_COMPILER_PATH
--CPP = $(ALT_COMPILER_PATH)/g++
--CC  = $(ALT_COMPILER_PATH)/gcc
-+CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX)
-+CC  = $(ALT_COMPILER_PATH)/gcc$(GCC_SUFFIX)
- else
--CPP = g++
--CC  = gcc
-+CPP = g++$(GCC_SUFFIX)
-+CC  = gcc$(GCC_SUFFIX)
- endif
- 
- AS  = $(CC) -c
--- a/patches/hotspot/original/ia64-fix.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
---- 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
- }
- 
- //=============================================================================
--- a/patches/hotspot/original/no-precompiled-headers.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
---- openjdk/hotspot/make/linux/makefiles/gcc.make~	2009-10-30 11:54:26.000000000 +0100
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2009-10-30 11:55:34.000000000 +0100
-@@ -34,13 +34,14 @@
- CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1)
- CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
- 
-+ifeq (,$(DISABLE_PRECOMPILED_HEADER))
- # check for precompiled headers support
- ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
- USE_PRECOMPILED_HEADER=1
- PRECOMPILED_HEADER_DIR=.
- PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch
- endif
--
-+endif
- 
- #------------------------------------------------------------------------
- # Compiler flags
---- openjdk/hotspot/make/solaris/makefiles/gcc.make~	2009-10-30 11:54:26.000000000 +0100
-+++ openjdk/hotspot/make/solaris/makefiles/gcc.make	2009-10-30 11:56:05.000000000 +0100
-@@ -45,12 +45,14 @@
- $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
- 
- 
-+ifeq (,$(DISABLE_PRECOMPILED_HEADER))
- # check for precompiled headers support
- ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
- USE_PRECOMPILED_HEADER=1
- PRECOMPILED_HEADER_DIR=.
- PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch
- endif
-+endif
- 
- 
- #------------------------------------------------------------------------
--- a/patches/hotspot/original/params-cast-size_t.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	2010-09-19 16:07:14.939307365 +0100
-@@ -2619,7 +2619,7 @@
-   if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
-     size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
-     n_blks +=  CMSOldPLABReactivityFactor*multiple*n_blks;
--    n_blks = MIN2(n_blks, CMSOldPLABMax);
-+    n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax);
-   }
-   assert(n_blks > 0, "Error");
-   _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2010-09-19 16:07:14.915307286 +0100
-@@ -967,7 +967,7 @@
-   if (free_percentage < desired_free_percentage) {
-     size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
-     assert(desired_capacity >= capacity(), "invalid expansion size");
--    expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes);
-+    expand_bytes = MAX2((long unsigned int) (desired_capacity - capacity()), (long unsigned int) MinHeapDeltaBytes);
-   }
-   if (expand_bytes > 0) {
-     if (PrintGCDetails && Verbose) {
-@@ -6191,7 +6191,7 @@
-     HeapWord* curAddr = _markBitMap.startWord();
-     while (curAddr < _markBitMap.endWord()) {
-       size_t remaining  = pointer_delta(_markBitMap.endWord(), curAddr);
--      MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining));
-+      MemRegion chunk(curAddr, MIN2((size_t) CMSBitMapYieldQuantum, remaining));
-       _markBitMap.clear_large_range(chunk);
-       if (ConcurrentMarkSweepThread::should_yield() &&
-           !foregroundGCIsActive() &&
-@@ -6484,7 +6484,7 @@
-     return;
-   }
-   // Double capacity if possible
--  size_t new_capacity = MIN2(_capacity*2, MarkStackSizeMax);
-+  size_t new_capacity = MIN2((size_t) (_capacity*2), (size_t) MarkStackSizeMax);
-   // Do not give up existing stack until we have managed to
-   // get the double capacity that we desired.
-   ReservedSpace rs(ReservedSpace::allocation_align_size_up(
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	2010-09-19 15:38:16.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	2010-09-19 16:07:14.915307286 +0100
-@@ -452,7 +452,7 @@
-   _regionStack(),
-   // _finger set in set_non_marking_state
- 
--  _max_task_num(MAX2(ParallelGCThreads, (size_t)1)),
-+  _max_task_num(MAX2((size_t)ParallelGCThreads, (size_t)1)),
-   // _active_tasks set in set_non_marking_state
-   // _tasks set inside the constructor
-   _task_queues(new CMTaskQueueSet((int) _max_task_num)),
-@@ -503,7 +503,7 @@
-   SATBMarkQueueSet& satb_qs = JavaThread::satb_mark_queue_set();
-   satb_qs.set_buffer_size(G1SATBBufferSize);
- 
--  int size = (int) MAX2(ParallelGCThreads, (size_t)1);
-+  int size = (int) MAX2((size_t)ParallelGCThreads, (size_t)1);
-   _par_cleanup_thread_state = NEW_C_HEAP_ARRAY(ParCleanupThreadState*, size);
-   for (int i = 0 ; i < size; i++) {
-     _par_cleanup_thread_state[i] = new ParCleanupThreadState;
-@@ -562,7 +562,7 @@
-       _sleep_factor             = sleep_factor;
-       _marking_task_overhead    = marking_task_overhead;
-     } else {
--      _parallel_marking_threads = MAX2((ParallelGCThreads + 2) / 4, (size_t)1);
-+      _parallel_marking_threads = MAX2((size_t)((ParallelGCThreads + 2) / 4), (size_t)1);
-       _sleep_factor             = 0.0;
-       _marking_task_overhead    = 1.0;
-     }
-@@ -689,7 +689,7 @@
- }
- 
- ConcurrentMark::~ConcurrentMark() {
--  int size = (int) MAX2(ParallelGCThreads, (size_t)1);
-+  int size = (int) MAX2((size_t)ParallelGCThreads, (size_t)1);
-   for (int i = 0; i < size; i++) delete _par_cleanup_thread_state[i];
-   FREE_C_HEAP_ARRAY(ParCleanupThreadState*,
-                     _par_cleanup_thread_state);
-@@ -1781,7 +1781,7 @@
-   if (has_aborted()) return;
- 
-   int first = 0;
--  int last = (int)MAX2(ParallelGCThreads, (size_t)1);
-+  int last = (int)MAX2((size_t)ParallelGCThreads, (size_t)1);
-   for (int t = 0; t < last; t++) {
-     UncleanRegionList* list = &_par_cleanup_thread_state[t]->list;
-     assert(list->well_formed(), "Inv");
-@@ -3281,7 +3281,7 @@
-   // of things to do) or totally (at the very end).
-   size_t target_size;
-   if (partially)
--    target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
-+    target_size = MIN2((size_t)_task_queue->max_elems()/3, (size_t)GCDrainStackTargetSize);
-   else
-     target_size = 0;
- 
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	2010-09-19 16:07:14.915307286 +0100
-@@ -1066,7 +1066,7 @@
- // This can be done by either mutator threads together with the
- // concurrent refinement threads or GC threads.
- int HeapRegionRemSet::num_par_rem_sets() {
--  return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
-+  return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), (size_t)ParallelGCThreads);
- }
- 
- HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa,
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2010-09-19 16:07:14.915307286 +0100
-@@ -864,8 +864,8 @@
- void PSParallelCompact::initialize_dead_wood_limiter()
- {
-   const size_t max = 100;
--  _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
--  _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
-+  _dwl_mean = double(MIN2((size_t) ParallelOldDeadWoodLimiterMean, max)) / 100.0;
-+  _dwl_std_dev = double(MIN2((size_t) ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
-   _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev);
-   DEBUG_ONLY(_dwl_initialized = true;)
-   _dwl_adjustment = normal_distribution(1.0);
-diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2010-09-19 16:07:14.915307286 +0100
-@@ -63,7 +63,7 @@
-   _last_used = current_live;
- 
-   // We have different alignment constraints than the rest of the heap.
--  const size_t alignment = MAX2(MinPermHeapExpansion,
-+  const size_t alignment = MAX2((size_t) MinPermHeapExpansion,
-                                 virtual_space()->alignment());
- 
-   // Compute the desired size:
-diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2010-09-19 16:07:14.939307365 +0100
-@@ -297,7 +297,7 @@
-     // yield a size that is too small) and bound it by MaxNewSize above.
-     // Ergonomics plays here by previously calculating the desired
-     // NewSize and MaxNewSize.
--    max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize);
-+    max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize);
-   }
-   assert(max_new_size > 0, "All paths should set max_new_size");
- 
-@@ -324,7 +324,7 @@
-       // generally small compared to the NewRatio calculation.
-       _min_gen0_size = NewSize;
-       desired_new_size = NewSize;
--      max_new_size = MAX2(max_new_size, NewSize);
-+      max_new_size = MAX2(max_new_size, (size_t) NewSize);
-     } else {
-       // For the case where NewSize is the default, use NewRatio
-       // to size the minimum and initial generation sizes.
-@@ -332,10 +332,10 @@
-       // NewRatio is overly large, the resulting sizes can be too
-       // small.
-       _min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()),
--                          NewSize);
-+                          (size_t) NewSize);
-       desired_new_size =
-         MAX2(scale_by_NewRatio_aligned(initial_heap_byte_size()),
--             NewSize);
-+             (size_t) NewSize);
-     }
- 
-     assert(_min_gen0_size > 0, "Sanity check");
-@@ -390,14 +390,14 @@
-       // Adjust gen0 down to accomodate OldSize
-       *gen0_size_ptr = heap_size - min_gen0_size;
-       *gen0_size_ptr =
--        MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()),
-+        MAX2((size_t)align_size_down(*gen0_size_ptr, min_alignment()),
-              min_alignment());
-       assert(*gen0_size_ptr > 0, "Min gen0 is too large");
-       result = true;
-     } else {
-       *gen1_size_ptr = heap_size - *gen0_size_ptr;
-       *gen1_size_ptr =
--        MAX2((uintx)align_size_down(*gen1_size_ptr, min_alignment()),
-+        MAX2((size_t)align_size_down(*gen1_size_ptr, min_alignment()),
-                        min_alignment());
-     }
-   }
-@@ -421,7 +421,7 @@
-   // for setting the gen1 maximum.
-   _max_gen1_size = max_heap_byte_size() - _max_gen0_size;
-   _max_gen1_size =
--    MAX2((uintx)align_size_down(_max_gen1_size, min_alignment()),
-+    MAX2((size_t)align_size_down(_max_gen1_size, min_alignment()),
-          min_alignment());
-   // If no explicit command line flag has been set for the
-   // gen1 size, use what is left for gen1.
-@@ -435,11 +435,11 @@
-       "gen0 has an unexpected minimum size");
-     set_min_gen1_size(min_heap_byte_size() - min_gen0_size());
-     set_min_gen1_size(
--      MAX2((uintx)align_size_down(_min_gen1_size, min_alignment()),
-+      MAX2((size_t)align_size_down(_min_gen1_size, min_alignment()),
-            min_alignment()));
-     set_initial_gen1_size(initial_heap_byte_size() - initial_gen0_size());
-     set_initial_gen1_size(
--      MAX2((uintx)align_size_down(_initial_gen1_size, min_alignment()),
-+      MAX2((size_t)align_size_down(_initial_gen1_size, min_alignment()),
-            min_alignment()));
- 
-   } else {
-diff -Nru openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2010-09-19 16:07:14.939307365 +0100
-@@ -221,7 +221,7 @@
-   size_t init_sz;
- 
-   if (TLABSize > 0) {
--    init_sz = MIN2(TLABSize / HeapWordSize, max_size());
-+    init_sz = MIN2((size_t) (TLABSize / HeapWordSize), max_size());
-   } else if (global_stats() == NULL) {
-     // Startup issue - main thread initialized before heap initialized.
-     init_sz = min_size();
-diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2010-09-19 15:38:15.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2010-09-19 16:07:14.939307365 +0100
-@@ -1073,7 +1073,7 @@
-     // NewSize was set on the command line and it is larger than
-     // preferred_max_new_size.
-     if (!FLAG_IS_DEFAULT(NewSize)) {   // NewSize explicitly set at command-line
--      FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size));
-+      FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t) NewSize, preferred_max_new_size));
-     } else {
-       FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
-     }
-@@ -1092,7 +1092,7 @@
-     // there was no obvious reason.  Also limit to the case where
-     // MaxNewSize has not been set.
- 
--    FLAG_SET_ERGO(intx, NewRatio, MAX2(NewRatio, new_ratio));
-+    FLAG_SET_ERGO(intx, NewRatio, MAX2((intx) NewRatio, new_ratio));
- 
-     // Code along this path potentially sets NewSize and OldSize
- 
-@@ -1134,8 +1134,8 @@
-       // Unless explicitly requested otherwise, make young gen
-       // at least min_new, and at most preferred_max_new_size.
-       if (FLAG_IS_DEFAULT(NewSize)) {
--        FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new));
--        FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
-+	FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t) NewSize, min_new));
-+        FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize));
-         if (PrintGCDetails && Verbose) {
-           // Too early to use gclog_or_tty
-           tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize);
-@@ -1146,7 +1146,7 @@
-       // later NewRatio will decide how it grows; see above.
-       if (FLAG_IS_DEFAULT(OldSize)) {
-         if (max_heap > NewSize) {
--          FLAG_SET_ERGO(uintx, OldSize, MIN2(3*NewSize, max_heap - NewSize));
-+	  FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t) 3*NewSize, max_heap - (size_t) NewSize));
-           if (PrintGCDetails && Verbose) {
-             // Too early to use gclog_or_tty
-             tty->print_cr("Ergo set OldSize: " SIZE_FORMAT, OldSize);
---- openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	2010-10-28 05:45:16.000000000 -0400
-+++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	2010-10-28 05:46:22.000000000 -0400
-@@ -37,7 +37,7 @@ void objArrayKlass::objarray_follow_cont
-   const size_t beg_index = size_t(index);
-   assert(beg_index < len || len == 0, "index too large");
- 
--  const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
-+  const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
-   const size_t end_index = beg_index + stride;
-   T* const base = (T*)a->base();
-   T* const beg = base + beg_index;
-@@ -71,7 +71,7 @@ void objArrayKlass::objarray_follow_cont
-   const size_t beg_index = size_t(index);
-   assert(beg_index < len || len == 0, "index too large");
- 
--  const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
-+  const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
-   const size_t end_index = beg_index + stride;
-   T* const base = (T*)a->base();
-   T* const beg = base + beg_index;
---- openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp~	2010-10-08 20:29:24.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	2010-11-29 07:27:56.000000000 +0000
-@@ -163,7 +163,7 @@
-   const size_t num_overflow_elems = of_stack->size();
-   const size_t space_available = queue->max_elems() - queue->size();
-   const size_t num_take_elems = MIN3(space_available / 4,
--                                     ParGCDesiredObjsFromOverflowList,
-+                                     (size_t) ParGCDesiredObjsFromOverflowList,
-                                      num_overflow_elems);
-   // Transfer the most recent num_take_elems from the overflow
-   // stack to our work queue.
--- a/patches/hotspot/original/sparc-buildfixes.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
---- openjdk/hotspot/make/linux/makefiles/gcc.make.orig	2008-12-04 20:29:08.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2008-12-04 20:32:54.000000000 +0000
-@@ -52,6 +52,10 @@
- PICFLAG = -fpic
- endif
- 
-+ifneq ($(filter sparc sparcv9,$(BUILDARCH)),)
-+PICFLAG = -fPIC
-+endif
-+
- VM_PICFLAG/LIBJVM = $(PICFLAG)
- VM_PICFLAG/AOUT   =
- VM_PICFLAG        = $(VM_PICFLAG/$(LINK_INTO))
---- openjdk/hotspot/make/linux/makefiles/defs.make.orig	2008-12-04 20:29:04.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/defs.make	2008-12-04 20:32:54.000000000 +0000
-@@ -59,7 +59,7 @@
- endif
- 
- # sparc
--ifeq ($(ARCH), sparc64)
-+ifneq (,$(filter $(ARCH), sparc sparc64))
-   ifeq ($(ARCH_DATA_MODEL), 64)
-     ARCH_DATA_MODEL  = 64
-     MAKE_ARGS        += LP64=1
---- openjdk/hotspot/src/cpu/sparc/vm/frame_sparc.hpp.orig	2008-12-04 20:32:19.000000000 +0000
-+++ openjdk/hotspot/src/cpu/sparc/vm/frame_sparc.hpp	2008-12-04 20:32:54.000000000 +0000
-@@ -264,7 +264,7 @@
- 
-  private:
- 
--  constantPoolCacheOop* frame::interpreter_frame_cpoolcache_addr() const;
-+  constantPoolCacheOop* interpreter_frame_cpoolcache_addr() const;
- 
- #ifndef CC_INTERP
- 
--- a/patches/hotspot/original/systemtap.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp openjdk/hotspot/src/share/vm/utilities/dtrace.hpp
---- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp	2010-08-27 20:30:52.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp	2010-08-27 22:38:19.569540300 +0100
-@@ -1,5 +1,6 @@
- /*
-  * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright 2009 Red Hat, Inc.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -22,7 +23,7 @@
-  *
-  */
- 
--#if defined(SOLARIS) && defined(DTRACE_ENABLED)
-+#if defined(DTRACE_ENABLED)
- 
- #include <sys/sdt.h>
- 
-@@ -33,7 +34,7 @@
- #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \
-   do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0)
- 
--#else // ndef SOLARIS || ndef DTRACE_ENABLED
-+#else // ndef DTRACE_ENABLED
- 
- #define DTRACE_ONLY(x)
- #define NOT_DTRACE(x) x
-@@ -44,11 +45,18 @@
- #define DTRACE_PROBE3(a,b,c,d,e) {;}
- #define DTRACE_PROBE4(a,b,c,d,e,f) {;}
- #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;}
-+#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;}
-+#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;}
-+#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;}
-+#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;}
-+#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;}
- 
- #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
- 
- #endif
- 
-+#if defined(SOLARIS)
-+// Solaris dtrace needs actual extern function decls.
- #define HS_DTRACE_PROBE_FN(provider,name)\
-   __dtrace_##provider##___##name
- 
-@@ -56,6 +64,11 @@
-   DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args)
- #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \
-   DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args)
-+#else
-+// Systemtap dtrace compatible probes on GNU/Linux don't.
-+#define HS_DTRACE_PROBE_DECL_N(provider,name,args)
-+#define HS_DTRACE_PROBE_CDECL_N(provider,name,args)
-+#endif 
- 
- /* Dtrace probe declarations */
- #define HS_DTRACE_PROBE_DECL(provider,name) \
-@@ -94,6 +107,8 @@
-     uintptr_t,uintptr_t,uintptr_t))
- 
- /* Dtrace probe definitions */
-+#if defined(SOLARIS)
-+// Solaris dtrace uses actual function calls.
- #define HS_DTRACE_PROBE_N(provider,name, args) \
-   DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args)
- 
-@@ -129,3 +144,29 @@
-   HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
-     (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\
-     (uintptr_t)a8,(uintptr_t)a9))
-+#else
-+// Systemtap dtrace compatible probes on GNU/Linux use direct macros.
-+#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name)
-+#define HS_DTRACE_PROBE0(provider,name)\
-+  DTRACE_PROBE(provider,name)
-+#define HS_DTRACE_PROBE1(provider,name,a0)\
-+  DTRACE_PROBE1(provider,name,a0)
-+#define HS_DTRACE_PROBE2(provider,name,a0,a1)\
-+  DTRACE_PROBE2(provider,name,a0,a1)
-+#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\
-+  DTRACE_PROBE3(provider,name,a0,a1,a2)
-+#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\
-+  DTRACE_PROBE4(provider,name,a0,a1,a2,a3)
-+#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\
-+  DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)
-+#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\
-+  DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)
-+#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\
-+  DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)
-+#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\
-+  DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)
-+#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
-+  DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
-+#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
-+  DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
-+#endif
--- a/patches/hotspot/original/text-relocations.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2008-07-17 08:40:27.000000000 +0100
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2008-07-21 23:10:50.000000000 +0100
-@@ -46,7 +46,11 @@
- # Compiler flags
- 
- # position-independent code
-+ifneq ($(filter alpha parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),)
- PICFLAG = -fPIC
-+else
-+PICFLAG = -fpic
-+endif
- 
- VM_PICFLAG/LIBJVM = $(PICFLAG)
- VM_PICFLAG/AOUT   =
---- rules.make.orig	2008-12-12 11:23:31.000000000 -0500
-+++ openjdk/hotspot/make/linux/makefiles/rules.make	2008-12-12 11:32:26.000000000 -0500
-@@ -138,20 +138,10 @@
- include $(GAMMADIR)/make/pic.make
- endif
- 
--# The non-PIC object files are only generated for 32 bit platforms.
--ifdef LP64
- %.o: %.cpp
- 	@echo Compiling $<
- 	$(QUIETLY) $(REMOVE_TARGET)
- 	$(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
--else
--%.o: %.cpp
--	@echo Compiling $<
--	$(QUIETLY) $(REMOVE_TARGET)
--	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
--	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \
--	   $(COMPILE.CC) -o $@ $< $(COMPILE_DONE))
--endif
- 
- %.o: %.s
- 	@echo Assembling $<
---- rules.make.orig	2008-12-12 11:42:55.000000000 -0500
-+++ openjdk/hotspot/make/solaris/makefiles/rules.make	2008-12-12 11:44:01.000000000 -0500
-@@ -138,20 +138,10 @@
- include $(GAMMADIR)/make/pic.make
- endif
- 
--# Sun compiler for 64 bit Solaris does not support building non-PIC object files.
--ifdef LP64
- %.o: %.cpp
- 	@echo Compiling $<
- 	$(QUIETLY) $(REMOVE_TARGET)
- 	$(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
--else
--%.o: %.cpp
--	@echo Compiling $<
--	$(QUIETLY) $(REMOVE_TARGET)
--	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
--         $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \
--         $(COMPILE.CC) -o $@ $< $(COMPILE_DONE))
--endif
- 
- %.o: %.s
- 	@echo Assembling $<
--- a/patches/hotspot/original/too-many-args.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
---- openjdk/hotspot/make/linux/makefiles/sa.make.orig	2010-06-21 23:12:13.000000000 +0200
-+++ openjdk/hotspot/make/linux/makefiles/sa.make	2010-06-28 01:11:27.022322578 +0200
-@@ -45,6 +45,9 @@
- AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
- AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
- 
-+AGENT_FILES1_LIST := $(TOPDIR)/../agent1.classes.list
-+AGENT_FILES2_LIST := $(TOPDIR)/../agent2.classes.list
-+
- SA_CLASSDIR = $(GENERATED)/saclasses
- 
- SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
-@@ -59,7 +62,7 @@
- 	   $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
- 	fi
- 
--$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
-+$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) agent_files_preclean
- 	$(QUIETLY) echo "Making $@"
- 	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
- 	  echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
-@@ -74,8 +77,11 @@
- 	  mkdir -p $(SA_CLASSDIR);        \
- 	fi
- 
--	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1)
--	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2)
-+	$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
-+	$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
-+
-+	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
-+	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
- 
- 	$(QUIETLY) $(REMOTE) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
- 	$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
-@@ -92,6 +98,10 @@
- 	$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
- 	$(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext
- 
-+agent_files_preclean:
-+	rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
-+
- clean:
- 	rm -rf $(SA_CLASSDIR)
- 	rm -rf $(GENERATED)/sa-jdi.jar
-+	rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ia64-fix.patch	Wed May 18 22:49:21 2011 +0100
@@ -0,0 +1,15 @@
+--- 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
+ }
+ 
+ //=============================================================================
--- a/patches/openjdk/6599601-mark_sun_toolkit_privileged_code.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-# HG changeset patch
-# User ptisnovs
-# Date 1305021522 -7200
-# Node ID fe6a8ddfe33d460fe19867c6625ee6390934e4b7
-# Parent  593007922695685523c0730db47e379c26490967
-6599601: Permissions/AWTWindowTest and Permissions/DFLoadTest failed in PIT 7.0 B20 on Windows Vista
-Summary: Correction of checking sun.awt.nativedebug flag.
-Reviewed-by: ohair
-
-diff -r 593007922695 -r fe6a8ddfe33d src/share/classes/sun/awt/SunToolkit.java
---- openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	Tue Jan 11 12:36:43 2011 -0500
-+++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	Tue May 10 11:58:42 2011 +0200
-@@ -70,8 +70,7 @@
- 
-     /* Load debug settings for native code */
-     static {
--        String nativeDebug = System.getProperty("sun.awt.nativedebug");
--        if ("true".equalsIgnoreCase(nativeDebug)) {
-+        if (AccessController.doPrivileged(new GetBooleanAction("sun.awt.nativedebug"))) {
-             DebugSettings.init();
-         }
-     };
--- a/patches/openjdk/6633275-shaped_translucent_windows.patch	Wed May 18 15:46:37 2011 +0100
+++ b/patches/openjdk/6633275-shaped_translucent_windows.patch	Wed May 18 22:49:21 2011 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk.orig/jdk/make/sun/awt/FILES_c_windows.gmk openjdk/jdk/make/sun/awt/FILES_c_windows.gmk
---- openjdk.orig/jdk/make/sun/awt/FILES_c_windows.gmk	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/FILES_c_windows.gmk	2011-02-16 01:27:24.988327481 +0000
+--- openjdk.orig/jdk/make/sun/awt/FILES_c_windows.gmk	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/make/sun/awt/FILES_c_windows.gmk	2011-05-18 16:12:18.052791528 +0100
 @@ -1,5 +1,5 @@
  #
 -# Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -19,8 +19,8 @@
  FILES_cpp = \
  	CmdIDList.cpp \
 diff -Nru openjdk.orig/jdk/make/sun/awt/make.depend openjdk/jdk/make/sun/awt/make.depend
---- openjdk.orig/jdk/make/sun/awt/make.depend	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/make.depend	2011-02-16 01:27:25.000326551 +0000
+--- openjdk.orig/jdk/make/sun/awt/make.depend	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/make/sun/awt/make.depend	2011-05-18 16:12:18.068791794 +0100
 @@ -16,7 +16,7 @@
  
  $(OBJDIR)/awt_AWTEvent.obj::	$(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Unicode.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
@@ -107,8 +107,8 @@
  $(OBJDIR)/UnicowsLoader.obj::	../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
  
 diff -Nru openjdk.orig/jdk/make/sun/awt/Makefile openjdk/jdk/make/sun/awt/Makefile
---- openjdk.orig/jdk/make/sun/awt/Makefile	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/Makefile	2011-02-16 01:27:24.996326861 +0000
+--- openjdk.orig/jdk/make/sun/awt/Makefile	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/make/sun/awt/Makefile	2011-05-18 16:12:18.076791927 +0100
 @@ -1,5 +1,5 @@
  #
 -# Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -125,8 +125,8 @@
  vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
  vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
 diff -Nru openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers openjdk/jdk/make/sun/awt/mapfile-mawt-vers
---- openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/mapfile-mawt-vers	2011-02-16 01:27:25.000326551 +0000
+--- openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/make/sun/awt/mapfile-mawt-vers	2011-05-18 16:12:18.088792126 +0100
 @@ -291,6 +291,7 @@
  		Java_sun_awt_X11GraphicsConfig_createBackBuffer;
  		Java_sun_awt_X11GraphicsConfig_destroyBackBuffer;
@@ -136,8 +136,8 @@
  		Java_sun_awt_X11GraphicsDevice_getDisplay;
  		Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
 diff -Nru openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux openjdk/jdk/make/sun/awt/mapfile-vers-linux
---- openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/mapfile-vers-linux	2011-02-16 01:27:25.000326551 +0000
+--- openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/make/sun/awt/mapfile-vers-linux	2011-05-18 16:12:18.088792126 +0100
 @@ -406,6 +406,7 @@
  		Java_sun_awt_X11GraphicsConfig_getNumColors;
  		Java_sun_awt_X11GraphicsConfig_getXResolution;
@@ -147,8 +147,8 @@
  		Java_sun_awt_X11GraphicsDevice_getDisplay;
  		Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
 diff -Nru openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers
---- openjdk.orig/jdk/make/sun/xawt/mapfile-vers	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/make/sun/xawt/mapfile-vers	2011-02-16 01:27:25.000326551 +0000
+--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/mapfile-vers	2011-05-18 16:12:18.088792126 +0100
 @@ -216,6 +216,7 @@
          Java_sun_awt_X11GraphicsConfig_createBackBuffer;
  	Java_sun_awt_X11GraphicsConfig_destroyBackBuffer;
@@ -158,8 +158,8 @@
          Java_java_awt_KeyboardFocusManager_initIDs;
          Java_java_awt_Font_initIDs;
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java
---- openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2011-02-16 01:27:25.000326551 +0000
+--- openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2011-05-18 15:58:48.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2011-05-18 16:12:18.088792126 +0100
 @@ -26,17 +26,37 @@
  package com.sun.awt;
  
@@ -545,15 +545,8 @@
       * Sets a 'mixing-cutout' shape for the given component.
       *
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Component.java openjdk/jdk/src/share/classes/java/awt/Component.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Component.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/Component.java	2011-02-16 02:00:18.147235768 +0000
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
+--- openjdk.orig/jdk/src/share/classes/java/awt/Component.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Component.java	2011-05-18 16:12:18.088792126 +0100
 @@ -806,18 +806,27 @@
              }
      }
@@ -663,8 +656,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Container.java openjdk/jdk/src/share/classes/java/awt/Container.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Container.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/Container.java	2011-02-16 01:27:25.004326241 +0000
+--- openjdk.orig/jdk/src/share/classes/java/awt/Container.java	2011-05-18 15:58:48.000000000 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Container.java	2011-05-18 16:12:18.092792193 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -683,8 +676,8 @@
       * JDK 1.1 serialVersionUID
       */
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java
---- openjdk.orig/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2011-02-16 01:27:25.004326241 +0000
+--- openjdk.orig/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2011-05-18 15:58:48.000000000 +0100
++++ openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2011-05-18 16:12:18.092792193 +0100
 @@ -480,7 +480,7 @@
                  // that a Component outside of the focused Window receives a
                  // FOCUS_GAINED event. We synthesize a WINDOW_GAINED_FOCUS
@@ -695,8 +688,8 @@
                  if (newFocusedWindow != null &&
                      newFocusedWindow != currentFocusedWindow)
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/GraphicsConfiguration.java openjdk/jdk/src/share/classes/java/awt/GraphicsConfiguration.java
---- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsConfiguration.java	2011-01-20 23:54:13.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/GraphicsConfiguration.java	2011-02-16 01:27:25.004326241 +0000
+--- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsConfiguration.java	2011-01-07 21:32:53.000000000 +0000
++++ openjdk/jdk/src/share/classes/java/awt/GraphicsConfiguration.java	2011-05-18 16:12:18.092792193 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -726,8 +719,8 @@
      }
 +}
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/GraphicsDevice.java openjdk/jdk/src/share/classes/java/awt/GraphicsDevice.java
---- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsDevice.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/GraphicsDevice.java	2011-02-16 01:27:25.004326241 +0000
+--- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsDevice.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/share/classes/java/awt/GraphicsDevice.java	2011-05-18 16:12:18.092792193 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -896,8 +889,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/KeyboardFocusManager.java openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java
---- openjdk.orig/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2011-02-16 01:27:25.004326241 +0000
+--- openjdk.orig/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2011-05-18 15:58:48.000000000 +0100
++++ openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2011-05-18 16:12:18.092792193 +0100
 @@ -2210,7 +2210,7 @@
                                                    boolean temporary, boolean focusedWindowChangeAllowed,
                                                    long time)
@@ -939,8 +932,8 @@
              return false;
          }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/peer/WindowPeer.java openjdk/jdk/src/share/classes/java/awt/peer/WindowPeer.java
---- openjdk.orig/jdk/src/share/classes/java/awt/peer/WindowPeer.java	2011-01-20 23:54:15.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/peer/WindowPeer.java	2011-02-16 01:27:25.004326241 +0000
+--- openjdk.orig/jdk/src/share/classes/java/awt/peer/WindowPeer.java	2011-01-07 21:32:53.000000000 +0000
++++ openjdk/jdk/src/share/classes/java/awt/peer/WindowPeer.java	2011-05-18 16:12:18.096792260 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -985,8 +978,8 @@
 +    void updateWindow(BufferedImage backBuffer);
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Window.java openjdk/jdk/src/share/classes/java/awt/Window.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Window.java	2011-01-20 23:54:14.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/Window.java	2011-02-16 01:27:25.004326241 +0000
+--- openjdk.orig/jdk/src/share/classes/java/awt/Window.java	2011-01-07 21:32:53.000000000 +0000
++++ openjdk/jdk/src/share/classes/java/awt/Window.java	2011-05-18 16:12:18.096792260 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -1328,8 +1321,8 @@
  
  
 diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/RepaintManager.java openjdk/jdk/src/share/classes/javax/swing/RepaintManager.java
---- openjdk.orig/jdk/src/share/classes/javax/swing/RepaintManager.java	2011-01-20 23:54:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/javax/swing/RepaintManager.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/share/classes/javax/swing/RepaintManager.java	2011-01-07 21:32:57.000000000 +0000
++++ openjdk/jdk/src/share/classes/javax/swing/RepaintManager.java	2011-05-18 16:12:18.096792260 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -1402,8 +1395,8 @@
  
          for (Component dirty : tmpDirtyComponents.keySet()) {
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2011-02-16 01:43:59.459209438 +0000
+--- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2011-05-18 15:58:48.000000000 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2011-05-18 16:12:18.096792260 +0100
 @@ -59,10 +59,29 @@
       * An interface of accessor for the java.awt.Component class.
       */
@@ -1518,8 +1511,8 @@
 +
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/EmbeddedFrame.java openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/EmbeddedFrame.java	2011-01-20 23:54:24.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/share/classes/sun/awt/EmbeddedFrame.java	2011-01-07 21:32:58.000000000 +0000
++++ openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java	2011-05-18 16:12:18.096792260 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
@@ -1542,8 +1535,8 @@
 +     }
  } // class EmbeddedFrame
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java	2011-05-18 15:58:48.000000000 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	2011-05-18 16:12:18.096792260 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -1574,7 +1567,7 @@
  import sun.awt.image.*;
  import sun.security.action.GetPropertyAction;
  import sun.security.action.GetBooleanAction;
-@@ -825,16 +820,31 @@
+@@ -824,16 +819,31 @@
      }
  
      /**
@@ -1614,7 +1607,7 @@
      }
  
      /**
-@@ -1973,6 +1983,18 @@
+@@ -1972,6 +1982,18 @@
          AWTAutoShutdown.getInstance().dumpPeers(aLog);
      }
  
@@ -1633,7 +1626,7 @@
      private static Boolean sunAwtDisableMixing = null;
  
      /**
-@@ -1996,6 +2018,73 @@
+@@ -1995,6 +2017,73 @@
      public boolean isNativeGTKAvailable() {
          return false;
      }
@@ -1709,7 +1702,7 @@
  
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/utility/rect.c openjdk/jdk/src/share/native/sun/awt/utility/rect.c
 --- openjdk.orig/jdk/src/share/native/sun/awt/utility/rect.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/share/native/sun/awt/utility/rect.c	2011-02-16 01:27:25.008325931 +0000
++++ openjdk/jdk/src/share/native/sun/awt/utility/rect.c	2011-05-18 16:12:18.096792260 +0100
 @@ -0,0 +1,102 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -1814,8 +1807,8 @@
 +}
 +#endif
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	2011-01-20 23:54:40.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	2011-01-07 21:33:04.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	2011-05-18 16:12:18.100792327 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -1841,8 +1834,8 @@
                          pw.println("\t\tlog.finest(\"Creating\");");
                      }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	2011-01-20 23:54:40.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	2011-01-07 21:33:04.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	2011-05-18 16:12:18.100792327 +0100
 @@ -750,6 +750,7 @@
      pixelStride int
      color_data pointer ColorData
@@ -1852,8 +1845,8 @@
  AwtScreenData
      numConfigs int
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java	2011-01-20 23:54:40.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java	2011-01-07 21:33:04.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java	2011-05-18 16:12:18.100792327 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -1884,8 +1877,8 @@
          if (!active()) {
              return false;
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2011-01-20 23:54:40.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2011-01-07 21:33:04.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2011-05-18 16:12:18.100792327 +0100
 @@ -2181,4 +2181,35 @@
          return new XDesktopPeer();
      }
@@ -1923,8 +1916,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java	2011-01-20 23:54:40.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java	2011-01-07 21:33:04.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java	2011-05-18 16:12:18.100792327 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2038,8 +2031,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2011-05-18 16:12:18.100792327 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2062,8 +2055,8 @@
 +    private native boolean isTranslucencyCapable(long x11ConfigData);
  }
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c	2011-01-20 23:54:42.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c	2011-05-18 16:12:18.100792327 +0100
 @@ -323,6 +323,48 @@
      return NULL;
  }
@@ -2200,8 +2193,8 @@
   * Method:    isDBESupported
   * Signature: ()Z
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h openjdk/jdk/src/solaris/native/sun/awt/awt_p.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h	2011-01-20 23:54:42.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_p.h	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_p.h	2011-05-18 16:12:18.100792327 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2005, Oracle and/or its affiliates. All rights reserved.
@@ -2218,8 +2211,8 @@
  
  typedef AwtGraphicsConfigData* AwtGraphicsConfigDataPtr;
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2011-02-16 01:27:25.008325931 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2011-05-18 16:12:18.100792327 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2241,8 +2234,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2011-05-18 16:12:18.104792394 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2250,9 +2243,9 @@
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
-@@ -379,4 +379,11 @@
-     private static void dwmCompositionChanged(boolean enabled) {
-         isDWMCompositionEnabled = enabled;
+@@ -384,4 +384,11 @@
+     public boolean isDisplayLocal() {
+         return true;
      }
 +
 +    /**
@@ -2264,7 +2257,7 @@
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java openjdk/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
 --- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	2011-02-16 01:27:25.012325621 +0000
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	2011-05-18 16:12:18.104792394 +0100
 @@ -0,0 +1,398 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -2665,8 +2658,8 @@
 +    }
 +}
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java	2011-01-20 23:54:43.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java	2011-05-18 16:12:18.104792394 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2714,8 +2707,8 @@
          super.print(g);
      }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2011-05-18 16:12:18.104792394 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2842,8 +2835,8 @@
              shapeLog.finer(
                      "*** INFO: Setting shape: PEER: " + this
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java	2011-01-20 23:54:43.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java	2011-05-18 16:12:18.104792394 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2863,8 +2856,8 @@
 +    public void updateWindow(java.awt.image.BufferedImage backBuffer) {}
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java	2011-01-20 23:54:43.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java	2011-05-18 16:12:18.104792394 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2884,8 +2877,8 @@
 +    public void updateWindow(java.awt.image.BufferedImage backBuffer) {}
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WToolkit.java openjdk/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2011-05-18 16:12:18.104792394 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2929,8 +2922,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java	2011-01-20 23:54:43.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java	2011-05-18 16:12:18.104792394 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -3177,8 +3170,8 @@
       * Static inner class, listens for 'activeWindow' KFM property changes and
       * updates the list of active windows per AppContext, so the latest active
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java openjdk/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java
---- openjdk.orig/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2011-05-18 16:12:18.112792526 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3211,8 +3204,8 @@
              return null;
          }
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/awt/utility/rect.h openjdk/jdk/src/windows/native/sun/awt/utility/rect.h
---- openjdk.orig/jdk/src/windows/native/sun/awt/utility/rect.h	2011-01-20 23:54:44.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/awt/utility/rect.h	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/awt/utility/rect.h	2011-01-07 21:33:08.000000000 +0000
++++ openjdk/jdk/src/windows/native/sun/awt/utility/rect.h	2011-05-18 16:12:18.112792526 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
@@ -3237,8 +3230,8 @@
  
  #endif // _AWT_RECT_H
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp openjdk/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp
---- openjdk.orig/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2011-05-18 16:12:18.112792526 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3270,8 +3263,8 @@
      // hBitmap is released in UpdateWindow
  
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c openjdk/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c
---- openjdk.orig/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2011-05-18 16:12:18.112792526 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3301,8 +3294,8 @@
      // hBitmap is released in UpdateWindow
  
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp	2011-01-20 23:54:44.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp	2011-01-07 21:33:08.000000000 +0000
++++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp	2011-05-18 16:12:18.112792526 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
@@ -3549,8 +3542,8 @@
 +                bitmapBitsPtr, NULL, 0);
 +}
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h	2011-01-20 23:54:44.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h	2011-01-07 21:33:08.000000000 +0000
++++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h	2011-05-18 16:12:18.112792526 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
@@ -3592,8 +3585,8 @@
  
  #endif
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp	2011-02-16 01:27:25.012325621 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp	2011-05-18 16:12:18.112792526 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -3656,8 +3649,8 @@
              // If all the params are zeros, the shape must be simply reset.
              // Otherwise, convert it into a region.
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.h openjdk/jdk/src/windows/native/sun/windows/awt_Component.h
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.h	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.h	2011-02-16 01:27:25.016325311 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.h	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.h	2011-05-18 16:12:18.120792659 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3689,8 +3682,8 @@
  private:
      BOOL m_bSubclassed;
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.cpp openjdk/jdk/src/windows/native/sun/windows/awt_Window.cpp
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.cpp	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.cpp	2011-02-16 01:27:25.016325311 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.cpp	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.cpp	2011-05-18 16:12:18.120792659 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -4164,8 +4157,8 @@
  
  } /* extern "C" */
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.h openjdk/jdk/src/windows/native/sun/windows/awt_Window.h
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.h	2011-02-16 00:40:21.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.h	2011-02-16 01:27:25.016325311 +0000
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.h	2011-05-18 15:58:49.000000000 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.h	2011-05-18 16:12:18.120792659 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -4239,7 +4232,7 @@
      int m_screenNum;
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java openjdk/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java	2011-02-16 01:27:25.016325311 +0000
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java	2011-05-18 16:12:18.120792659 +0100
 @@ -0,0 +1,103 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -4346,7 +4339,7 @@
 +}
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form	2011-02-16 01:27:25.016325311 +0000
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form	2011-05-18 16:12:18.120792659 +0100
 @@ -0,0 +1,230 @@
 +<?xml version="1.0" encoding="UTF-8" ?>
 +
@@ -4580,7 +4573,7 @@
 +</Form>
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java	2011-02-16 01:27:25.016325311 +0000
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java	2011-05-18 16:12:18.120792659 +0100
 @@ -0,0 +1,359 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -4943,7 +4936,7 @@
 +}
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java	2011-02-16 01:27:25.016325311 +0000
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java	2011-05-18 16:12:18.120792659 +0100
 @@ -0,0 +1,306 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -5253,7 +5246,7 @@
 +}
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/WindowOpacity.java openjdk/jdk/test/com/sun/awt/Translucency/WindowOpacity.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	2011-02-16 01:27:25.016325311 +0000
++++ openjdk/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	2011-05-18 16:12:18.120792659 +0100
 @@ -0,0 +1,461 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -5718,7 +5711,7 @@
 +}// TestDialog  class
 diff -Nru openjdk.orig/jdk/test/sun/java2d/pipe/RegionOps.java openjdk/jdk/test/sun/java2d/pipe/RegionOps.java
 --- openjdk.orig/jdk/test/sun/java2d/pipe/RegionOps.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/sun/java2d/pipe/RegionOps.java	2011-02-16 01:27:25.016325311 +0000
++++ openjdk/jdk/test/sun/java2d/pipe/RegionOps.java	2011-05-18 16:12:18.120792659 +0100
 @@ -0,0 +1,533 @@
 +/*
 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
--- a/patches/openjdk/6997495-test_correction_6857159.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-# HG changeset patch
-# User ptisnovs
-# Date 1288875792 -3600
-# Node ID 086898a88056cd9f7de4475b7ebf4cc6c65f2b5e
-# Parent  68d6141ea19de3a9ba98ef753f0da41a61f736a0
-6997495: correction of regression test compiler/6857159/Test6857159
-Summary: Testcase correction.
-Reviewed-by: never
-
-diff -r 68d6141ea19d -r 086898a88056 test/compiler/6857159/Test6857159.java
---- openjdk.old/hotspot/test/compiler/6857159/Test6857159.java	2010-10-08 22:29:24.000000000 +0200
-+++ openjdk/hotspot/test/compiler/6857159/Test6857159.java	2010-11-04 15:27:47.000000000 +0100
-@@ -54,7 +54,7 @@
-     }
- 
-     public static void main(String[] args) throws Exception {
--        for (int i = 0; i < 100000; i++) {
-+        for (int i = 0; i < 20000; i++) {
-             Thread t = null;
-             switch (i % 3) {
-               case 0: t = new ct0(); break;
--- a/patches/openjdk/7029905-demo_applet_html_files.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-# HG changeset patch
-# User ohair
-# Date 1301955066 25200
-# Node ID 9d1f5ad258f89cde283c7c468bfd4d04f91f9c29
-# Parent  aa13e7702cd9d8aca9aa38f1227f966990866944
-7029905: demo applets missing some html files
-Reviewed-by: omajid, mchung, igor
-
-diff -r aa13e7702cd9 -r 9d1f5ad258f8 make/mkdemo/jfc/Font2DTest/Makefile
---- openjdk/jdk/make/mkdemo/jfc/Font2DTest/Makefile	Tue Mar 29 20:19:55 2011 -0700
-+++ openjdk/jdk/make/mkdemo/jfc/Font2DTest/Makefile	Mon Apr 04 15:11:06 2011 -0700
-@@ -33,7 +33,7 @@
- include $(BUILDDIR)/common/Defs.gmk
- 
- DEMO_ROOT       = $(SHARE_SRC)/demo/jfc/$(DEMONAME)
--DEMO_TOPFILES   = ./README.txt
-+DEMO_TOPFILES   = ./README.txt ./$(DEMONAME).html
- DEMO_MAINCLASS  = $(DEMONAME)
- DEMO_DESTDIR    = $(DEMODIR)/jfc/$(DEMONAME)
- 
-diff -r aa13e7702cd9 -r 9d1f5ad258f8 make/mkdemo/jfc/Java2D/Makefile
---- openjdk/jdk/make/mkdemo/jfc/Java2D/Makefile	Tue Mar 29 20:19:55 2011 -0700
-+++ openjdk/jdk/make/mkdemo/jfc/Java2D/Makefile	Mon Apr 04 15:11:06 2011 -0700
-@@ -33,7 +33,7 @@
- include $(BUILDDIR)/common/Defs.gmk
- 
- DEMO_ROOT       = $(CLOSED_SRC)/share/demo/jfc/Java2D
--DEMO_TOPFILES   = ./Java2Demo.html ./README.txt
-+DEMO_TOPFILES   = ./README.txt ./$(DEMONAME).html
- DEMO_MAINCLASS  = java2d.Java2Demo
- DEMO_DESTDIR    = $(DEMODIR)/jfc/Java2D
- 
-diff -r aa13e7702cd9 -r 9d1f5ad258f8 make/mkdemo/jfc/SwingApplet/Makefile
---- openjdk/jdk/make/mkdemo/jfc/SwingApplet/Makefile	Tue Mar 29 20:19:55 2011 -0700
-+++ openjdk/jdk/make/mkdemo/jfc/SwingApplet/Makefile	Mon Apr 04 15:11:06 2011 -0700
-@@ -33,7 +33,7 @@
- include $(BUILDDIR)/common/Defs.gmk
- 
- DEMO_ROOT       = $(SHARE_SRC)/demo/jfc/$(DEMONAME)
--DEMO_TOPFILES   = ./README.txt
-+DEMO_TOPFILES   = ./README.txt ./$(DEMONAME).html
- DEMO_MAINCLASS  = $(DEMONAME)
- DEMO_DESTDIR    = $(DEMODIR)/jfc/$(DEMONAME)
- 
-diff -r aa13e7702cd9 -r 9d1f5ad258f8 make/mkdemo/jfc/SwingSet2/Makefile
---- openjdk/jdk/make/mkdemo/jfc/SwingSet2/Makefile	Tue Mar 29 20:19:55 2011 -0700
-+++ openjdk/jdk/make/mkdemo/jfc/SwingSet2/Makefile	Mon Apr 04 15:11:06 2011 -0700
-@@ -33,7 +33,7 @@
- include $(BUILDDIR)/common/Defs.gmk
- 
- DEMO_ROOT       = $(CLOSED_SRC)/share/demo/jfc/$(DEMONAME)
--DEMO_TOPFILES   = ./README.txt
-+DEMO_TOPFILES   = ./README.txt ./$(DEMONAME).html
- DEMO_MAINCLASS  = $(DEMONAME)
- DEMO_MANIFEST_ATTR = SplashScreen-Image: resources/images/splash.png
- DEMO_DESTDIR    = $(DEMODIR)/jfc/$(DEMONAME)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/7032388-work_without_cmov_instruction.patch	Wed May 18 22:49:21 2011 +0100
@@ -0,0 +1,178 @@
+--- openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp	2011-03-30 11:31:16.408872134 -0700
++++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.cpp	2011-03-30 11:31:16.084614406 -0700
+@@ -7769,6 +7769,28 @@
+   }
+ }
+ 
++void MacroAssembler::cmov32(Condition cc, Register dst, Address src) {
++  if (VM_Version::supports_cmov()) {
++    cmovl(cc, dst, src);
++  } else {
++    Label L;
++    jccb(negate_condition(cc), L);
++    movl(dst, src);
++    bind(L);
++  }
++}
++
++void MacroAssembler::cmov32(Condition cc, Register dst, Register src) {
++  if (VM_Version::supports_cmov()) {
++    cmovl(cc, dst, src);
++  } else {
++    Label L;
++    jccb(negate_condition(cc), L);
++    movl(dst, src);
++    bind(L);
++  }
++}
++
+ void MacroAssembler::verify_oop(Register reg, const char* s) {
+   if (!VerifyOops) return;
+ 
+@@ -9019,14 +9041,7 @@
+   movl(result, cnt1);
+   subl(cnt1, cnt2);
+   push(cnt1);
+-  if (VM_Version::supports_cmov()) {
+-    cmovl(Assembler::lessEqual, cnt2, result);
+-  } else {
+-    Label GT_LABEL;
+-    jccb(Assembler::greater, GT_LABEL);
+-    movl(cnt2, result);
+-    bind(GT_LABEL);
+-  }
++  cmov32(Assembler::lessEqual, cnt2, result);
+ 
+   // Is the minimum length zero?
+   testl(cnt2, cnt2);
+--- openjdk/hotspot/src/cpu/x86/vm/assembler_x86.hpp	2011-03-30 11:31:17.757655562 -0700
++++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86.hpp	2011-03-30 11:31:17.553920606 -0700
+@@ -2244,10 +2244,13 @@
+ 
+   // Data
+ 
+-  void cmov(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
++  void cmov32( Condition cc, Register dst, Address  src);
++  void cmov32( Condition cc, Register dst, Register src);
+ 
+-  void cmovptr(Condition cc, Register dst, Address src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
+-  void cmovptr(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmovl(cc, dst, src)); }
++  void cmov(   Condition cc, Register dst, Register src) { cmovptr(cc, dst, src); }
++
++  void cmovptr(Condition cc, Register dst, Address  src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmov32(cc, dst, src)); }
++  void cmovptr(Condition cc, Register dst, Register src) { LP64_ONLY(cmovq(cc, dst, src)) NOT_LP64(cmov32(cc, dst, src)); }
+ 
+   void movoop(Register dst, jobject obj);
+   void movoop(Address dst, jobject obj);
+--- openjdk/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	2011-03-30 11:31:18.743456717 -0700
++++ openjdk/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	2011-03-30 11:31:18.541656202 -0700
+@@ -23,6 +23,7 @@
+  */
+ 
+ #include "precompiled.hpp"
++#include "asm/assembler.hpp"
+ #include "c1/c1_Compilation.hpp"
+ #include "c1/c1_LIRAssembler.hpp"
+ #include "c1/c1_MacroAssembler.hpp"
+@@ -569,24 +570,13 @@
+   __ lea          (rdi, Address(rdi, rcx, Address::times_2, arrayOopDesc::base_offset_in_bytes(T_CHAR)));
+ 
+   // compute minimum length (in rax) and difference of lengths (on top of stack)
+-  if (VM_Version::supports_cmov()) {
+-    __ movl     (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
+-    __ movl     (rax, Address(rax, java_lang_String::count_offset_in_bytes()));
+-    __ mov      (rcx, rbx);
+-    __ subptr   (rbx, rax); // subtract lengths
+-    __ push     (rbx);      // result
+-    __ cmov     (Assembler::lessEqual, rax, rcx);
+-  } else {
+-    Label L;
+-    __ movl     (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
+-    __ movl     (rcx, Address(rax, java_lang_String::count_offset_in_bytes()));
+-    __ mov      (rax, rbx);
+-    __ subptr   (rbx, rcx);
+-    __ push     (rbx);
+-    __ jcc      (Assembler::lessEqual, L);
+-    __ mov      (rax, rcx);
+-    __ bind (L);
+-  }
++  __ movl  (rbx, Address(rbx, java_lang_String::count_offset_in_bytes()));
++  __ movl  (rax, Address(rax, java_lang_String::count_offset_in_bytes()));
++  __ mov   (rcx, rbx);
++  __ subptr(rbx, rax); // subtract lengths
++  __ push  (rbx);      // result
++  __ cmov  (Assembler::lessEqual, rax, rcx);
++
+   // is minimum length 0?
+   Label noLoop, haveResult;
+   __ testptr (rax, rax);
+--- openjdk/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp	2011-03-30 11:31:19.824124145 -0700
++++ openjdk/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp	2011-03-30 11:31:19.606167752 -0700
+@@ -23,6 +23,7 @@
+  */
+ 
+ #include "precompiled.hpp"
++#include "asm/assembler.hpp"
+ #include "c1/c1_Defs.hpp"
+ #include "c1/c1_MacroAssembler.hpp"
+ #include "c1/c1_Runtime1.hpp"
+--- openjdk/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp	2011-03-30 11:31:20.910918826 -0700
++++ openjdk/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp	2011-03-30 11:31:20.703693030 -0700
+@@ -23,6 +23,7 @@
+  */
+ 
+ #include "precompiled.hpp"
++#include "asm/assembler.hpp"
+ #include "interpreter/interpreter.hpp"
+ #include "interpreter/interpreterRuntime.hpp"
+ #include "interpreter/templateTable.hpp"
+@@ -1939,18 +1940,10 @@
+     __ movl(temp, Address(array, h, Address::times_8, 0*wordSize));
+     __ bswapl(temp);
+     __ cmpl(key, temp);
+-    if (VM_Version::supports_cmov()) {
+-      __ cmovl(Assembler::less        , j, h);   // j = h if (key <  array[h].fast_match())
+-      __ cmovl(Assembler::greaterEqual, i, h);   // i = h if (key >= array[h].fast_match())
+-    } else {
+-      Label set_i, end_of_if;
+-      __ jccb(Assembler::greaterEqual, set_i);     // {
+-      __ mov(j, h);                                //   j = h;
+-      __ jmp(end_of_if);                           // }
+-      __ bind(set_i);                              // else {
+-      __ mov(i, h);                                //   i = h;
+-      __ bind(end_of_if);                          // }
+-    }
++    // j = h if (key <  array[h].fast_match())
++    __ cmov32(Assembler::less        , j, h);
++    // i = h if (key >= array[h].fast_match())
++    __ cmov32(Assembler::greaterEqual, i, h);
+     // while (i+1 < j)
+     __ bind(entry);
+     __ leal(h, Address(i, 1));                   // i+1
+@@ -3478,22 +3471,14 @@
+ 
+   // find a free slot in the monitor block (result in rdx)
+   { Label entry, loop, exit;
+-    __ movptr(rcx, monitor_block_top);            // points to current entry, starting with top-most entry
+-    __ lea(rbx, monitor_block_bot);               // points to word before bottom of monitor block
++    __ movptr(rcx, monitor_block_top);           // points to current entry, starting with top-most entry
++
++    __ lea(rbx, monitor_block_bot);              // points to word before bottom of monitor block
+     __ jmpb(entry);
+ 
+     __ bind(loop);
+     __ cmpptr(Address(rcx, BasicObjectLock::obj_offset_in_bytes()), (int32_t)NULL_WORD);  // check if current entry is used
+-
+-// TODO - need new func here - kbt
+-    if (VM_Version::supports_cmov()) {
+-      __ cmov(Assembler::equal, rdx, rcx);       // if not used then remember entry in rdx
+-    } else {
+-      Label L;
+-      __ jccb(Assembler::notEqual, L);
+-      __ mov(rdx, rcx);                          // if not used then remember entry in rdx
+-      __ bind(L);
+-    }
++    __ cmovptr(Assembler::equal, rdx, rcx);      // if not used then remember entry in rdx
+     __ cmpptr(rax, Address(rcx, BasicObjectLock::obj_offset_in_bytes()));   // check if current entry is for same object
+     __ jccb(Assembler::equal, exit);             // if same object then stop searching
+     __ addptr(rcx, entry_size);                  // otherwise advance to next entry
--- a/patches/openjdk/7042040-no_disk_space_check.patch	Wed May 18 15:46:37 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-# HG changeset patch
-# User andrew
-# Date 1305128024 14400
-# Node ID 6b74421f46b04f8cbe898ed4d8896b46be70becf
-# Parent  fe6a8ddfe33d460fe19867c6625ee6390934e4b7
-7042040: Remove disk space sanity check
-Summary: Remove outdated disk space checks using df
-Reviewed-by: ohair, omajid
-
-diff -r fe6a8ddfe33d -r 6b74421f46b0 make/common/shared/Platform.gmk
---- openjdk/jdk/make/common/shared/Platform.gmk	Tue May 10 11:58:42 2011 +0200
-+++ openjdk/jdk/make/common/shared/Platform.gmk	Wed May 11 11:33:44 2011 -0400
-@@ -75,7 +75,6 @@
- #     USING_CYGWIN                windows only: true or false
- #     WINDOWS_NT_VERSION_STRING   windows only: long version name
- #     REQUIRED_OS_VERSION         required OS version, e.g. 5.10, 2.4
--#     REQUIRED_FREE_SPACE         minimum disk space needed for outputdir
- #     ISHIELD_TEMP_MIN            windows only: minimum disk space in temp area
- #     REQUIRED_ZIP_VER            required version of zip
- #     REQUIRED_UNZIP_VER          required version of unzip
-@@ -171,13 +170,6 @@
-   else
-     REQUIRED_OS_VERSION = 5.8
-   endif
--  # Minimum disk space needed as determined by running 'du -sk' on 
--  #    a fully built workspace.
--  ifeq ($(ARCH_FAMILY), sparc)
--    REQUIRED_FREE_SPACE=1300000
--  else
--    REQUIRED_FREE_SPACE=1040000
--  endif
-   # How much RAM does this machine have:
-   MB_OF_MEMORY=$(shell /etc/prtconf | fgrep 'Memory size:' | expand | cut -d' ' -f3)
- endif
-@@ -247,9 +239,6 @@
- 
-   # Suffix for file bundles used in previous release
-   BUNDLE_FILE_SUFFIX=.tar.gz
--  # Minimum disk space needed as determined by running 'du -sk' on 
--  #    a fully built workspace.
--  REQUIRED_FREE_SPACE=1460000
-   LINUX_VERSION_INFO = /etc/redhat-release
-   ifeq ($(ARCH_DATA_MODEL), 32)
-     REQUIRED_LINUX_VER = Advanced Server
-@@ -371,9 +360,6 @@
-   ARCH_VM_SUBDIR=jre/bin
-   # Suffix for file bundles used in previous release
-   BUNDLE_FILE_SUFFIX=.tar
--  # Minimum disk space needed as determined by running 'du -sk' on 
--  #    a fully built workspace.
--  REQUIRED_FREE_SPACE=500000
-   # ISHIELD_TEMP_MIN is the difference of an empty C:\TEMP vs. one after a
-   #     bundles build on windows.
-   ISHIELD_TEMP_MIN=250000
-diff -r fe6a8ddfe33d -r 6b74421f46b0 make/common/shared/Sanity-Settings.gmk
---- openjdk/jdk/make/common/shared/Sanity-Settings.gmk	Tue May 10 11:58:42 2011 +0200
-+++ openjdk/jdk/make/common/shared/Sanity-Settings.gmk	Wed May 11 11:33:44 2011 -0400
-@@ -189,8 +189,6 @@
- endif
- ALL_SETTINGS+=$(call addRequiredVersionSetting,OS_VERSION)
- ALL_SETTINGS+=$(call addRequiredSetting,OS_NAME)
--ALL_SETTINGS+=$(call addRequiredSetting,TEMP_FREE_SPACE)
--ALL_SETTINGS+=$(call addRequiredSetting,FREE_SPACE)
- ALL_SETTINGS+=$(call addRequiredSetting,MB_OF_MEMORY)
- 
- 
-diff -r fe6a8ddfe33d -r 6b74421f46b0 make/common/shared/Sanity.gmk
---- openjdk/jdk/make/common/shared/Sanity.gmk	Tue May 10 11:58:42 2011 +0200
-+++ openjdk/jdk/make/common/shared/Sanity.gmk	Wed May 11 11:33:44 2011 -0400
-@@ -46,8 +46,6 @@
- # Settings and rules to validate the JDK build environment.
- 
- ifeq ($(PLATFORM), solaris)
--  FREE_SPACE := $(shell $(DF) -b $(OUTPUTDIR) | $(TAIL) -1 | $(NAWK) '{print $$2;}')
--  TEMP_FREE_SPACE := $(shell $(DF) -b $(TEMP_DISK) | $(TAIL) -1 | $(NAWK) '{print $$2;}')
-   REQ_PATCH_LIST = $(JDK_TOPDIR)/make/PatchList.solaris
-   ifeq ($(ARCH_FAMILY), sparc)
-     PATCH_POSITION = $$4
-@@ -57,8 +55,6 @@
- endif
- 
- ifeq ($(PLATFORM), linux)
--  FREE_SPACE := $(shell $(DF) --sync -kP $(OUTPUTDIR) | $(TAIL) -1 | $(NAWK) '{print $$4;}')
--  TEMP_FREE_SPACE := $(shell $(DF) --sync -kP $(TEMP_DISK) | $(TAIL) -1 | $(NAWK) '{print $$4;}')
-   ifeq ($(ARCH), amd64)
-     LINUX_VERSION := $(shell \
-         if [ -r "$(LINUX_VERSION_INFO)" ] ; then \
-@@ -82,8 +78,6 @@
- endif
- 
- ifeq ($(PLATFORM), windows)
--  FREE_SPACE := $(shell $(DF) -kP $(OUTPUTDIR) | $(TAIL) -1 | $(NAWK) '{print $$4;}')
--  TEMP_FREE_SPACE := $(shell $(DF) -kP $(TEMP_DISK) | $(TAIL) -1 | $(NAWK) '{print $$4;}')
-   # Localized systeminfo has localized labels, but not localized values.
-   _WINDOWS_VERSION := \
-     $(shell systeminfo 2> $(DEV_NULL) | grep 'Microsoft' | grep 'Windows' | \
-@@ -675,18 +669,6 @@
- 	    "      Either obtain these permissions or set ALT_OUTPUTDIR. \n" \
- 	    "" >> $(ERROR_FILE) ; \
- 	fi
--	@#
--	@# OUTPUTDIR must have enough free space...
--	@#
--	@if [ $(FREE_SPACE) -lt $(REQUIRED_FREE_SPACE) ]; then \
--	  $(ECHO) "WARNING: You may not have enough free space in your OUTPUTDIR. The \n" \
--	    "        current value of OUTPUTDIR is \n" \
--	    "            $(OUTPUTDIR) \n" \
--	    "        You need "$(REQUIRED_FREE_SPACE)" Kbytes free on this device to build \n" \
--	    "        and it appears that only "$(FREE_SPACE)" Kbytes are free. \n" \
--	    "        Either obtain more space or set ALT_OUTPUTDIR to a larger disk. \n" \
--	    "" >> $(WARNING_FILE) ; \
--	fi
- 
- ######################################################
- # if specified, ALT_BOOTDIR must point to non-relative path if set
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/params-cast-size_t.patch	Wed May 18 22:49:21 2011 +0100
@@ -0,0 +1,270 @@
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	2011-01-28 01:06:11.887088930 +0000
+@@ -2645,7 +2645,7 @@
+   if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
+     size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
+     n_blks +=  CMSOldPLABReactivityFactor*multiple*n_blks;
+-    n_blks = MIN2(n_blks, CMSOldPLABMax);
++    n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax);
+   }
+   assert(n_blks > 0, "Error");
+   _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -955,7 +955,7 @@
+   if (free_percentage < desired_free_percentage) {
+     size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
+     assert(desired_capacity >= capacity(), "invalid expansion size");
+-    expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes);
++    expand_bytes = MAX2((long unsigned int) (desired_capacity - capacity()), (long unsigned int) MinHeapDeltaBytes);
+   }
+   if (expand_bytes > 0) {
+     if (PrintGCDetails && Verbose) {
+@@ -6238,7 +6238,7 @@
+     HeapWord* curAddr = _markBitMap.startWord();
+     while (curAddr < _markBitMap.endWord()) {
+       size_t remaining  = pointer_delta(_markBitMap.endWord(), curAddr);
+-      MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining));
++      MemRegion chunk(curAddr, MIN2((size_t) CMSBitMapYieldQuantum, remaining));
+       _markBitMap.clear_large_range(chunk);
+       if (ConcurrentMarkSweepThread::should_yield() &&
+           !foregroundGCIsActive() &&
+@@ -6533,7 +6533,7 @@
+     return;
+   }
+   // Double capacity if possible
+-  size_t new_capacity = MIN2(_capacity*2, MarkStackSizeMax);
++  size_t new_capacity = MIN2((size_t) (_capacity*2), (size_t) MarkStackSizeMax);
+   // Do not give up existing stack until we have managed to
+   // get the double capacity that we desired.
+   ReservedSpace rs(ReservedSpace::allocation_align_size_up(
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	2011-01-28 00:50:00.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -471,7 +471,7 @@
+   _regionStack(),
+   // _finger set in set_non_marking_state
+ 
+-  _max_task_num(MAX2(ParallelGCThreads, (size_t)1)),
++  _max_task_num(MAX2((size_t)ParallelGCThreads, (size_t)1)),
+   // _active_tasks set in set_non_marking_state
+   // _tasks set inside the constructor
+   _task_queues(new CMTaskQueueSet((int) _max_task_num)),
+@@ -575,7 +575,7 @@
+       _sleep_factor             = sleep_factor;
+       _marking_task_overhead    = marking_task_overhead;
+     } else {
+-      _parallel_marking_threads = MAX2((ParallelGCThreads + 2) / 4, (size_t)1);
++      _parallel_marking_threads = MAX2((size_t)((ParallelGCThreads + 2) / 4), (size_t)1);
+       _sleep_factor             = 0.0;
+       _marking_task_overhead    = 1.0;
+     }
+@@ -3371,7 +3371,7 @@
+   // of things to do) or totally (at the very end).
+   size_t target_size;
+   if (partially)
+-    target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
++    target_size = MIN2((size_t)_task_queue->max_elems()/3, (size_t)GCDrainStackTargetSize);
+   else
+     target_size = 0;
+ 
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -1074,7 +1074,7 @@
+ // This can be done by either mutator threads together with the
+ // concurrent refinement threads or GC threads.
+ int HeapRegionRemSet::num_par_rem_sets() {
+-  return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
++  return (int)MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), (size_t)ParallelGCThreads);
+ }
+ 
+ HeapRegionRemSet::HeapRegionRemSet(G1BlockOffsetSharedArray* bosa,
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -895,8 +895,8 @@
+ void PSParallelCompact::initialize_dead_wood_limiter()
+ {
+   const size_t max = 100;
+-  _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
+-  _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
++  _dwl_mean = double(MIN2((size_t) ParallelOldDeadWoodLimiterMean, max)) / 100.0;
++  _dwl_std_dev = double(MIN2((size_t) ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
+   _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev);
+   DEBUG_ONLY(_dwl_initialized = true;)
+   _dwl_adjustment = normal_distribution(1.0);
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -69,7 +69,7 @@
+   _last_used = current_live;
+ 
+   // We have different alignment constraints than the rest of the heap.
+-  const size_t alignment = MAX2(MinPermHeapExpansion,
++  const size_t alignment = MAX2((size_t) MinPermHeapExpansion,
+                                 virtual_space()->alignment());
+ 
+   // Compute the desired size:
+diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	2011-01-28 01:06:11.895089019 +0000
+@@ -188,7 +188,7 @@
+   const size_t num_overflow_elems = of_stack->size();
+   const size_t space_available = queue->max_elems() - queue->size();
+   const size_t num_take_elems = MIN3(space_available / 4,
+-                                     ParGCDesiredObjsFromOverflowList,
++                                     (size_t) ParGCDesiredObjsFromOverflowList,
+                                      num_overflow_elems);
+   // Transfer the most recent num_take_elems from the overflow
+   // stack to our work queue.
+diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
+--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -328,7 +328,7 @@
+     // yield a size that is too small) and bound it by MaxNewSize above.
+     // Ergonomics plays here by previously calculating the desired
+     // NewSize and MaxNewSize.
+-    max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize);
++    max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize);
+   }
+   assert(max_new_size > 0, "All paths should set max_new_size");
+ 
+@@ -355,7 +355,7 @@
+       // generally small compared to the NewRatio calculation.
+       _min_gen0_size = NewSize;
+       desired_new_size = NewSize;
+-      max_new_size = MAX2(max_new_size, NewSize);
++      max_new_size = MAX2(max_new_size, (size_t) NewSize);
+     } else {
+       // For the case where NewSize is the default, use NewRatio
+       // to size the minimum and initial generation sizes.
+@@ -363,10 +363,10 @@
+       // NewRatio is overly large, the resulting sizes can be too
+       // small.
+       _min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()),
+-                          NewSize);
++                          (size_t) NewSize);
+       desired_new_size =
+         MAX2(scale_by_NewRatio_aligned(initial_heap_byte_size()),
+-             NewSize);
++             (size_t) NewSize);
+     }
+ 
+     assert(_min_gen0_size > 0, "Sanity check");
+@@ -421,14 +421,14 @@
+       // Adjust gen0 down to accomodate OldSize
+       *gen0_size_ptr = heap_size - min_gen0_size;
+       *gen0_size_ptr =
+-        MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()),
++        MAX2((size_t)align_size_down(*gen0_size_ptr, min_alignment()),
+              min_alignment());
+       assert(*gen0_size_ptr > 0, "Min gen0 is too large");
+       result = true;
+     } else {
+       *gen1_size_ptr = heap_size - *gen0_size_ptr;
+       *gen1_size_ptr =
+-        MAX2((uintx)align_size_down(*gen1_size_ptr, min_alignment()),
++        MAX2((size_t)align_size_down(*gen1_size_ptr, min_alignment()),
+                        min_alignment());
+     }
+   }
+@@ -452,7 +452,7 @@
+   // for setting the gen1 maximum.
+   _max_gen1_size = max_heap_byte_size() - _max_gen0_size;
+   _max_gen1_size =
+-    MAX2((uintx)align_size_down(_max_gen1_size, min_alignment()),
++    MAX2((size_t)align_size_down(_max_gen1_size, min_alignment()),
+          min_alignment());
+   // If no explicit command line flag has been set for the
+   // gen1 size, use what is left for gen1.
+@@ -466,11 +466,11 @@
+       "gen0 has an unexpected minimum size");
+     set_min_gen1_size(min_heap_byte_size() - min_gen0_size());
+     set_min_gen1_size(
+-      MAX2((uintx)align_size_down(_min_gen1_size, min_alignment()),
++      MAX2((size_t)align_size_down(_min_gen1_size, min_alignment()),
+            min_alignment()));
+     set_initial_gen1_size(initial_heap_byte_size() - initial_gen0_size());
+     set_initial_gen1_size(
+-      MAX2((uintx)align_size_down(_initial_gen1_size, min_alignment()),
++      MAX2((size_t)align_size_down(_initial_gen1_size, min_alignment()),
+            min_alignment()));
+ 
+   } else {
+diff -Nru openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
+--- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -240,7 +240,7 @@
+   size_t init_sz;
+ 
+   if (TLABSize > 0) {
+-    init_sz = MIN2(TLABSize / HeapWordSize, max_size());
++    init_sz = MIN2((size_t) (TLABSize / HeapWordSize), max_size());
+   } else if (global_stats() == NULL) {
+     // Startup issue - main thread initialized before heap initialized.
+     init_sz = min_size();
+diff -Nru openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
+--- openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	2011-01-28 01:06:11.891088974 +0000
+@@ -46,7 +46,7 @@
+   const size_t beg_index = size_t(index);
+   assert(beg_index < len || len == 0, "index too large");
+ 
+-  const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
++  const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
+   const size_t end_index = beg_index + stride;
+   T* const base = (T*)a->base();
+   T* const beg = base + beg_index;
+@@ -80,7 +80,7 @@
+   const size_t beg_index = size_t(index);
+   assert(beg_index < len || len == 0, "index too large");
+ 
+-  const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
++  const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
+   const size_t end_index = beg_index + stride;
+   T* const base = (T*)a->base();
+   T* const beg = base + beg_index;
+diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
+--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2011-01-28 00:49:59.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2011-01-28 01:06:11.891088974 +0000
+@@ -1161,7 +1161,7 @@
+     // NewSize was set on the command line and it is larger than
+     // preferred_max_new_size.
+     if (!FLAG_IS_DEFAULT(NewSize)) {   // NewSize explicitly set at command-line
+-      FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size));
++      FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t) NewSize, preferred_max_new_size));
+     } else {
+       FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
+     }
+@@ -1180,7 +1180,7 @@
+     // there was no obvious reason.  Also limit to the case where
+     // MaxNewSize has not been set.
+ 
+-    FLAG_SET_ERGO(intx, NewRatio, MAX2(NewRatio, new_ratio));
++    FLAG_SET_ERGO(intx, NewRatio, MAX2((intx) NewRatio, new_ratio));
+ 
+     // Code along this path potentially sets NewSize and OldSize
+ 
+@@ -1222,8 +1222,8 @@
+       // Unless explicitly requested otherwise, make young gen
+       // at least min_new, and at most preferred_max_new_size.
+       if (FLAG_IS_DEFAULT(NewSize)) {
+-        FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new));
+-        FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
++	FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t) NewSize, min_new));
++        FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize));
+         if (PrintGCDetails && Verbose) {
+           // Too early to use gclog_or_tty
+           tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize);
+@@ -1234,7 +1234,7 @@
+       // later NewRatio will decide how it grows; see above.
+       if (FLAG_IS_DEFAULT(OldSize)) {
+         if (max_heap > NewSize) {
+-          FLAG_SET_ERGO(uintx, OldSize, MIN2(3*NewSize, max_heap - NewSize));
++	  FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t) 3*NewSize, max_heap - (size_t) NewSize));
+           if (PrintGCDetails && Verbose) {
+             // Too early to use gclog_or_tty
+             tty->print_cr("Ergo set OldSize: " SIZE_FORMAT, OldSize);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/powerpc-stacksize.patch	Wed May 18 22:49:21 2011 +0100
@@ -0,0 +1,42 @@
+--- openjdk/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp~	2011-02-22 17:51:24.000000000 +0100
++++ openjdk/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	2011-02-24 18:58:27.758228950 +0100
+@@ -32,7 +32,11 @@
+ //
+ 
+ define_pd_global(bool,  DontYieldALot,           false);
++#ifdef __powerpc64__
++define_pd_global(intx,  ThreadStackSize,         2048);
++#else
+ define_pd_global(intx,  ThreadStackSize,         1536);
++#endif
+ #ifdef _LP64
+ define_pd_global(intx,  VMThreadStackSize,       1024);
+ #else
+--- openjdk/corba/make/common/shared/Defs-java.gmk~	2011-02-24 18:56:20.278228999 +0100
++++ openjdk/corba/make/common/shared/Defs-java.gmk	2011-02-24 19:01:47.938229001 +0100
+@@ -68,9 +68,9 @@
+ 
+ # 64-bit builds require a larger thread stack size.
+ ifeq ($(ARCH_DATA_MODEL), 32)
+-  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=768
++  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1024
+ else
+-  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1536
++  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=2048
+ endif
+ JAVAC_JVM_FLAGS    += $(JAVA_TOOLS_FLAGS:%=-J%)
+ 
+--- openjdk/jdk/make/common/shared/Defs-java.gmk~	2011-02-24 20:10:20.598229000 +0100
++++ openjdk/jdk/make/common/shared/Defs-java.gmk	2011-02-24 20:11:45.608228331 +0100
+@@ -75,9 +75,9 @@
+ 
+ # 64-bit builds require a larger thread stack size.
+ ifeq ($(ARCH_DATA_MODEL), 32)
+-  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=768
++  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1024
+ else
+-  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1536
++  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=2048
+ endif
+ JAVAC_JVM_FLAGS    += $(JAVA_TOOLS_FLAGS:%=-J%)
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/sparc-buildfixes.patch	Wed May 18 22:49:21 2011 +0100
@@ -0,0 +1,26 @@
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
+--- openjdk.orig/hotspot/make/linux/makefiles/defs.make	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/make/linux/makefiles/defs.make	2011-01-28 01:21:25.609237228 +0000
+@@ -58,7 +58,7 @@
+ endif
+ 
+ # sparc
+-ifeq ($(ARCH), sparc64)
++ifneq (,$(filter $(ARCH), sparc sparc64))
+   ifeq ($(ARCH_DATA_MODEL), 64)
+     ARCH_DATA_MODEL  = 64
+     MAKE_ARGS        += LP64=1
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-01-28 01:14:57.000000000 +0000
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-01-28 01:21:25.609237228 +0000
+@@ -64,6 +64,10 @@
+ PICFLAG = -fpic
+ endif
+ 
++ifneq ($(filter sparc sparcv9,$(BUILDARCH)),)
++PICFLAG = -fPIC
++endif
++
+ VM_PICFLAG/LIBJVM = $(PICFLAG)
+ VM_PICFLAG/AOUT   =
+ VM_PICFLAG        = $(VM_PICFLAG/$(LINK_INTO))
--- a/patches/systemtap.patch	Wed May 18 15:46:37 2011 +0100
+++ b/patches/systemtap.patch	Wed May 18 22:49:21 2011 +0100
@@ -60,3 +60,103 @@
  #ifdef ASSERT
      } else if (match_option(option, "-XX:+FullGCALot", &tail)) {
        FLAG_SET_CMDLINE(bool, FullGCALot, true);
+diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp openjdk/hotspot/src/share/vm/utilities/dtrace.hpp
+--- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp	2011-01-28 02:39:02.052518309 +0000
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
++ * Copyright 2009 Red Hat, Inc.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -25,7 +26,7 @@
+ #ifndef SHARE_VM_UTILITIES_DTRACE_HPP
+ #define SHARE_VM_UTILITIES_DTRACE_HPP
+ 
+-#if defined(SOLARIS) && defined(DTRACE_ENABLED)
++#if defined(DTRACE_ENABLED)
+ 
+ #include <sys/sdt.h>
+ 
+@@ -36,7 +37,7 @@
+ #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \
+   do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0)
+ 
+-#else // ndef SOLARIS || ndef DTRACE_ENABLED
++#else // ndef DTRACE_ENABLED
+ 
+ #define DTRACE_ONLY(x)
+ #define NOT_DTRACE(x) x
+@@ -47,11 +48,18 @@
+ #define DTRACE_PROBE3(a,b,c,d,e) {;}
+ #define DTRACE_PROBE4(a,b,c,d,e,f) {;}
+ #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;}
++#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;}
++#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;}
++#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;}
++#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;}
++#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;}
+ 
+ #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
+ 
+ #endif
+ 
++#if defined(SOLARIS)
++// Solaris dtrace needs actual extern function decls.
+ #define HS_DTRACE_PROBE_FN(provider,name)\
+   __dtrace_##provider##___##name
+ 
+@@ -59,6 +67,11 @@
+   DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args)
+ #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \
+   DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args)
++#else
++// Systemtap dtrace compatible probes on GNU/Linux don't.
++#define HS_DTRACE_PROBE_DECL_N(provider,name,args)
++#define HS_DTRACE_PROBE_CDECL_N(provider,name,args)
++#endif 
+ 
+ /* Dtrace probe declarations */
+ #define HS_DTRACE_PROBE_DECL(provider,name) \
+@@ -97,6 +110,8 @@
+     uintptr_t,uintptr_t,uintptr_t))
+ 
+ /* Dtrace probe definitions */
++#if defined(SOLARIS)
++// Solaris dtrace uses actual function calls.
+ #define HS_DTRACE_PROBE_N(provider,name, args) \
+   DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args)
+ 
+@@ -132,5 +147,31 @@
+   HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
+     (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\
+     (uintptr_t)a8,(uintptr_t)a9))
++#else
++// Systemtap dtrace compatible probes on GNU/Linux use direct macros.
++#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name)
++#define HS_DTRACE_PROBE0(provider,name)\
++  DTRACE_PROBE(provider,name)
++#define HS_DTRACE_PROBE1(provider,name,a0)\
++  DTRACE_PROBE1(provider,name,a0)
++#define HS_DTRACE_PROBE2(provider,name,a0,a1)\
++  DTRACE_PROBE2(provider,name,a0,a1)
++#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\
++  DTRACE_PROBE3(provider,name,a0,a1,a2)
++#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\
++  DTRACE_PROBE4(provider,name,a0,a1,a2,a3)
++#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\
++  DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)
++#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\
++  DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)
++#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\
++  DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)
++#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\
++  DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)
++#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
++  DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
++#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
++  DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
++#endif
+ 
+ #endif // SHARE_VM_UTILITIES_DTRACE_HPP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/text-relocations.patch	Wed May 18 22:49:21 2011 +0100
@@ -0,0 +1,63 @@
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-01-28 00:32:20.817556386 +0000
+@@ -58,7 +58,11 @@
+ # Compiler flags
+ 
+ # position-independent code
++ifneq ($(filter alpha parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),)
+ PICFLAG = -fPIC
++else
++PICFLAG = -fpic
++endif
+ 
+ VM_PICFLAG/LIBJVM = $(PICFLAG)
+ VM_PICFLAG/AOUT   =
+diff -Nru openjdk.orig/hotspot/make/linux/makefiles/rules.make openjdk/hotspot/make/linux/makefiles/rules.make
+--- openjdk.orig/hotspot/make/linux/makefiles/rules.make	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/make/linux/makefiles/rules.make	2011-01-28 00:32:52.857892660 +0000
+@@ -146,20 +146,10 @@
+ include $(GAMMADIR)/make/pic.make
+ endif
+ 
+-# The non-PIC object files are only generated for 32 bit platforms.
+-ifdef LP64
+ %.o: %.cpp
+ 	@echo Compiling $<
+ 	$(QUIETLY) $(REMOVE_TARGET)
+ 	$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
+-else
+-%.o: %.cpp
+-	@echo Compiling $<
+-	$(QUIETLY) $(REMOVE_TARGET)
+-	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
+-	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
+-	   $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
+-endif
+ 
+ %.o: %.s
+ 	@echo Assembling $<
+diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/rules.make openjdk/hotspot/make/solaris/makefiles/rules.make
+--- openjdk.orig/hotspot/make/solaris/makefiles/rules.make	2011-01-25 22:57:24.000000000 +0000
++++ openjdk/hotspot/make/solaris/makefiles/rules.make	2011-01-28 00:33:15.158126725 +0000
+@@ -146,20 +146,10 @@
+ include $(GAMMADIR)/make/pic.make
+ endif
+ 
+-# Sun compiler for 64 bit Solaris does not support building non-PIC object files.
+-ifdef LP64
+ %.o: %.cpp
+ 	@echo Compiling $<
+ 	$(QUIETLY) $(REMOVE_TARGET)
+ 	$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
+-else
+-%.o: %.cpp
+-	@echo Compiling $<
+-	$(QUIETLY) $(REMOVE_TARGET)
+-	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
+-	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
+-	   $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
+-endif
+ 
+ %.o: %.s
+ 	@echo Assembling $<