From ae2b58ee40424e84dd7d656d5a221c4feee88fcd Mon Sep 17 00:00:00 2001 From: Joel Dice Date: Tue, 27 Mar 2012 18:14:29 -0600 Subject: [PATCH] increase bootimage.cpp heap and code size limits OpenJDK is huge, so building a bootimage out of the whole thing (as opposed to an app shrunk using ProGuard) requires a lot of space. Note that we still can't handle this on ARM or PowerPC due to a limitation in the compiler, but we don't expect people to ship binaries with the entire OpenJDK class library anyway, so it shouldn't be a problem in practice. --- src/bootimage.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bootimage.cpp b/src/bootimage.cpp index 834431f7b4..3447dff69a 100644 --- a/src/bootimage.cpp +++ b/src/bootimage.cpp @@ -25,7 +25,7 @@ using namespace vm; namespace { -const unsigned HeapCapacity = 256 * 1024 * 1024; +const unsigned HeapCapacity = 512 * 1024 * 1024; const unsigned TargetFixieSizeInBytes = 8 + (TargetBytesPerWord * 2); const unsigned TargetFixieSizeInWords = ceiling @@ -1667,7 +1667,11 @@ main(int ac, const char** av) // in a branch instruction for the target architecture (~32MB on // PowerPC and ARM). When that limitation is removed, we'll be able // to specify a capacity as large as we like here: +#if (defined ARCH_x86_64) || (defined ARCH_x86_32) + const unsigned CodeCapacity = 128 * 1024 * 1024; +#else const unsigned CodeCapacity = 30 * 1024 * 1024; +#endif uint8_t* code = static_cast(h->allocate(CodeCapacity)); BootImage image;