diff options
author | Elliott Hughes <enh@google.com> | 2011-11-03 14:07:24 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2011-11-03 16:54:44 -0700 |
commit | de68817bdae0ca038d824ba79a70ac17cae405e6 (patch) | |
tree | eec6e28cefe3a4abc9eb802c6cf60f5f086756b7 /vm/interp | |
parent | c4102d6647043591bd89bba75454cc04d23753bd (diff) | |
download | android_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.cpp | 6 |
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; |