summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2010-12-07 16:48:29 -0800
committerCarl Shapiro <cshapiro@google.com>2010-12-07 16:48:29 -0800
commit38cfa8ca8bc67f4342431cea7e35643ddf9254cc (patch)
tree2b5b6cd91b6c81eeb26f2e2bff525295b7c1ef83 /core/jni
parent8c1c1e875e836cfb2377effdf850f5caa1fe6f4d (diff)
downloadframeworks_base-38cfa8ca8bc67f4342431cea7e35643ddf9254cc.zip
frameworks_base-38cfa8ca8bc67f4342431cea7e35643ddf9254cc.tar.gz
frameworks_base-38cfa8ca8bc67f4342431cea7e35643ddf9254cc.tar.bz2
Add a property to set the starting size of a VM.
Change-Id: I3c981417baadfef64990fd90b4a275ed706a0b5b
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/AndroidRuntime.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index e50233e..a21f0ab 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -576,6 +576,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
char dexoptFlagsBuf[PROPERTY_VALUE_MAX];
char enableAssertBuf[sizeof("-ea:")-1 + PROPERTY_VALUE_MAX];
char jniOptsBuf[sizeof("-Xjniopts:")-1 + PROPERTY_VALUE_MAX];
+ char heapstartsizeOptsBuf[sizeof("-Xms")-1 + PROPERTY_VALUE_MAX];
char heapsizeOptsBuf[sizeof("-Xmx")-1 + PROPERTY_VALUE_MAX];
char extraOptsBuf[PROPERTY_VALUE_MAX];
char* stackTraceFile = NULL;
@@ -650,6 +651,11 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
mOptions.add(opt);
//options[curOpt++].optionString = "-verbose:class";
+ strcpy(heapstartsizeOptsBuf, "-Xms");
+ property_get("dalvik.vm.heapstartsize", heapstartsizeOptsBuf+4, "2m");
+ opt.optionString = heapstartsizeOptsBuf;
+ mOptions.add(opt);
+
strcpy(heapsizeOptsBuf, "-Xmx");
property_get("dalvik.vm.heapsize", heapsizeOptsBuf+4, "16m");
//LOGI("Heap size: %s", heapsizeOptsBuf);