diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
--- openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	2009-12-08 23:12:17.000000000 +0000
+++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	2010-01-11 20:44:32.000000000 +0000
@@ -95,7 +95,7 @@
 
 // Heap related flags
 define_pd_global(uintx,PermSize,    ScaleForWordSize(16*M));
-define_pd_global(uintx,MaxPermSize, ScaleForWordSize(64*M));
+define_pd_global(uintx,MaxPermSize, ScaleForWordSize(128*M));
 
 // Ergonomics related flags
 define_pd_global(bool, NeverActAsServerClassMachine, false);
diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp openjdk/hotspot/src/share/vm/runtime/globals.hpp
--- openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp	2009-12-08 23:12:17.000000000 +0000
+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2010-01-11 20:45:17.000000000 +0000
@@ -2809,7 +2809,7 @@
   product(uintx, InitialHeapSize, 0,                                        \
           "Initial heap size (in bytes); zero means OldSize + NewSize")     \
                                                                             \
-  product(uintx, MaxHeapSize, ScaleForWordSize(96*M),                       \
+  product(uintx, MaxHeapSize, ScaleForWordSize(512*M),                      \
           "Maximum heap size (in bytes)")                                   \
                                                                             \
   product(uintx, OldSize, ScaleForWordSize(4*M),                            \
