diff -r 35baca0e7a2e -r 023eef975703 javaruntimes/starterutils/src.s60/j9starters60.cpp --- a/javaruntimes/starterutils/src.s60/j9starters60.cpp Tue Jul 06 20:36:19 2010 +0300 +++ b/javaruntimes/starterutils/src.s60/j9starters60.cpp Fri Jul 09 16:35:45 2010 +0300 @@ -129,8 +129,15 @@ mJvmArgs.push_back(L"-Xmine16K"); // Minimum size for heap expansion. mJvmArgs.push_back(L"-Xmns64K"); // Initial new space size. Keep this in sync with MemoryLogger.java mJvmArgs.push_back(L"-Xmos64K"); // Initial old space size. Keep this in sync with MemoryLogger.java + +#ifdef __WINSCW__ mJvmArgs.push_back(L"-Xmox16M"); // Maximum old space size. mJvmArgs.push_back(L"-Xmx16M"); // Memory maximum. +#else // __WINSCW__ + mJvmArgs.push_back(L"-Xmox64M"); // Maximum old space size. + mJvmArgs.push_back(L"-Xmx64M"); // Memory maximum. +#endif // __WINSCW__ + mJvmArgs.push_back(L"-Xmco16k"); // ROM class segment increment. mJvmArgs.push_back(L"-Xmr1k"); // Remembered set size. @@ -165,6 +172,24 @@ mJvmArgs.push_back(oldSpace); } + +void J9StarterS60::overrideMaxHeapSize(int heapSize) +{ + JELOG2(EJavaRuntime); + std::wstring heapAsString(JavaCommonUtils::intToWstring(heapSize)); + doOverideHeap(L"-Xmox", heapAsString); + doOverideHeap(L"-Xmx", heapAsString); +} + +void J9StarterS60::doOverideHeap(const std::wstring& arg, const std::wstring& size) +{ + JELOG2(EJavaRuntime); + std::wstring maxHeapArg(arg); + maxHeapArg += size; + maxHeapArg += L"K"; + mJvmArgs.push_back(maxHeapArg); +} + void J9StarterS60::overrideNewHeapSize(int heapSize) { JELOG2(EJavaRuntime);