summaryrefslogtreecommitdiffstats
path: root/vm/interp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2011-11-03 14:07:24 -0700
committerElliott Hughes <enh@google.com>2011-11-03 16:54:44 -0700
commitde68817bdae0ca038d824ba79a70ac17cae405e6 (patch)
treeeec6e28cefe3a4abc9eb802c6cf60f5f086756b7 /vm/interp
parentc4102d6647043591bd89bba75454cc04d23753bd (diff)
downloadandroid_dalvik-de68817bdae0ca038d824ba79a70ac17cae405e6.tar.gz
android_dalvik-de68817bdae0ca038d824ba79a70ac17cae405e6.tar.bz2
android_dalvik-de68817bdae0ca038d824ba79a70ac17cae405e6.zip
Knock ::self() out of the ParseXml profile.
New profile (>=0.6, which is where the original seems to have cut off): 47 11.0070 dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*) 30 7.0258 dvmChangeStatus(Thread*, ThreadStatus) 29 6.7916 addLocalReference(Thread*, Object*) 26 6.0890 dexDecodeDebugInfo(DexFile const*, DexCode const*, char const*, unsigned int, unsigned int, int (*)(void*, unsigned int, unsigned int), void (*)(void*, unsigned short, unsigned int, unsigned int, char const*, char const*, char const*), void*) 22 5.1522 dalvik_inst 15 3.5129 lockMonitor(Thread*, Monitor*) 14 3.2787 dvmLineNumFromPC 13 3.0445 javaLangString_equals(unsigned int, unsigned int, unsigned int, unsigned int, JValue*) 13 3.0445 scanObject(Object const*, GcMarkContext*) 12 2.8103 ScopedJniThreadState::ScopedJniThreadState(_JNIEnv*) 12 2.8103 common_invokeMethodNoRange 12 2.8103 dvmDecodeIndirectRef(Thread*, _jobject*) 9 2.1077 IndirectRefTable::add(unsigned int, Object*) 9 2.1077 ReleasePrimitiveArrayCritical(_JNIEnv*, _jarray*, void*, int) 9 2.1077 markObjectNonNull(Object const*, GcMarkContext*, bool) 9 2.1077 unpinPrimitiveArray(ArrayObject*) 8 1.8735 getCodeAddrCommon(unsigned short const*, bool) 7 1.6393 dexStringByTypeIdx(DexFile const*, unsigned int) 7 1.6393 dvmHeapSourceAlloc(unsigned int) 6 1.4052 GetPrimitiveArrayCritical(_JNIEnv*, _jarray*, unsigned char*) 6 1.4052 dvmPlatformInvoke 6 1.4052 pinPrimitiveArray(ArrayObject*) 6 1.4052 readUnsignedLeb128(unsigned char const**) 6 1.4052 scanFields(Object const*, GcMarkContext*) 5 1.1710 IndirectRefTable::get(void*) const 5 1.1710 dvmFindInReferenceTable(ReferenceTable const*, Object**, Object*) 4 0.9368 common_returnFromMethod 4 0.9368 dvmAddToReferenceTable(ReferenceTable*, Object*) 4 0.9368 dvmHeapBitmapScanWalk(HeapBitmap*, void (*)(Object*, void*, void*), void*) 4 0.9368 dvmInterpret(Thread*, Method const*, JValue*) 4 0.9368 dvmLockObject 4 0.9368 dvmMalloc(unsigned int, int) 4 0.9368 findPackedSwitchIndex(unsigned short const*, int, int) 4 0.9368 readStringIdx(DexFile const*, unsigned char const**) 4 0.9368 unlockMonitor(Thread*, Monitor*) 3 0.7026 dvmSetFinalizable Change-Id: Ic5c36859f6810413bd0b48aad1d99da7daa6e8ba
Diffstat (limited to 'vm/interp')
-rw-r--r--vm/interp/Stack.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/vm/interp/Stack.cpp b/vm/interp/Stack.cpp
index ad6af823d..49e68f19f 100644
--- a/vm/interp/Stack.cpp
+++ b/vm/interp/Stack.cpp
@@ -462,7 +462,6 @@ void dvmCallMethodV(Thread* self, const Method* method, Object* obj,
verifyCount++;
}
- JNIEnv* env = self->jniEnv;
while (*desc != '\0') {
switch (*(desc++)) {
case 'D': case 'J': {
@@ -484,7 +483,7 @@ void dvmCallMethodV(Thread* self, const Method* method, Object* obj,
assert(obj == NULL || dvmIsHeapAddress(obj));
jobject argObj = reinterpret_cast<jobject>(arg);
if (fromJni)
- *ins++ = (u4) dvmDecodeIndirectRef(env, argObj);
+ *ins++ = (u4) dvmDecodeIndirectRef(self, argObj);
else
*ins++ = (u4) argObj;
verifyCount++;
@@ -565,7 +564,6 @@ void dvmCallMethodA(Thread* self, const Method* method, Object* obj,
verifyCount++;
}
- JNIEnv* env = self->jniEnv;
while (*desc != '\0') {
switch (*desc++) {
case 'D': /* 64-bit quantity; have to use */
@@ -576,7 +574,7 @@ void dvmCallMethodA(Thread* self, const Method* method, Object* obj,
break;
case 'L': /* includes array refs */
if (fromJni)
- *ins++ = (u4) dvmDecodeIndirectRef(env, args->l);
+ *ins++ = (u4) dvmDecodeIndirectRef(self, args->l);
else
*ins++ = (u4) args->l;
break;