summaryrefslogtreecommitdiffstats
path: root/vm/oo/Class.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vm/oo/Class.cpp')
-rw-r--r--vm/oo/Class.cpp302
1 files changed, 151 insertions, 151 deletions
diff --git a/vm/oo/Class.cpp b/vm/oo/Class.cpp
index d4c98b55a..191c847f5 100644
--- a/vm/oo/Class.cpp
+++ b/vm/oo/Class.cpp
@@ -205,7 +205,7 @@ static void logClassLoadWithTime(char type, ClassObject* clazz, u8 time) {
pid_t pid = getpid();
unsigned int tid = (unsigned int) pthread_self();
- LOG(LOG_INFO, "PRELOAD", "%c%d:%d:%d:%s:%d:%s:%lld\n", type, ppid, pid, tid,
+ LOG(LOG_INFO, "PRELOAD", "%c%d:%d:%d:%s:%d:%s:%lld", type, ppid, pid, tid,
get_process_name(), (int) clazz->classLoader, clazz->descriptor,
time);
}
@@ -274,13 +274,13 @@ static void linearAllocTests()
dvmLinearReadOnly(NULL, (char*)fiddle);
char* str = (char*)dvmLinearStrdup(NULL, "This is a test!");
- LOGI("GOT: '%s'\n", str);
+ LOGI("GOT: '%s'", str);
/* try to check the bounds; allocator may round allocation size up */
fiddle = (char*)dvmLinearAlloc(NULL, 12);
- LOGI("Should be 1: %d\n", dvmLinearAllocContains(fiddle, 12));
- LOGI("Should be 0: %d\n", dvmLinearAllocContains(fiddle, 13));
- LOGI("Should be 0: %d\n", dvmLinearAllocContains(fiddle - 128*1024, 1));
+ LOGI("Should be 1: %d", dvmLinearAllocContains(fiddle, 12));
+ LOGI("Should be 0: %d", dvmLinearAllocContains(fiddle, 13));
+ LOGI("Should be 0: %d", dvmLinearAllocContains(fiddle - 128*1024, 1));
dvmLinearAllocDump(NULL);
dvmLinearFree(NULL, (char*)str);
@@ -314,7 +314,7 @@ ClassObject* dvmFindPrimitiveClass(char type)
case PRIM_FLOAT: return gDvm.typeFloat;
case PRIM_DOUBLE: return gDvm.typeDouble;
default: {
- LOGW("Unknown primitive type '%c'\n", type);
+ LOGW("Unknown primitive type '%c'", type);
return NULL;
}
}
@@ -354,7 +354,7 @@ static bool createPrimitiveType(PrimitiveType primitiveType, ClassObject** pClas
/* don't need to set newClass->objectSize */
- LOGVV("Constructed class for primitive type '%s'\n", newClass->descriptor);
+ LOGVV("Constructed class for primitive type '%s'", newClass->descriptor);
*pClass = newClass;
dvmReleaseTrackedAlloc((Object*) newClass, NULL);
@@ -380,7 +380,7 @@ static bool createInitialClasses() {
SET_CLASS_FLAG(clazz, ACC_PUBLIC | ACC_FINAL | CLASS_ISCLASS);
clazz->descriptor = "Ljava/lang/Class;";
gDvm.classJavaLangClass = clazz;
- LOGVV("Constructed the class Class.\n");
+ LOGVV("Constructed the class Class.");
/*
* Initialize the classes representing primitive types. These are
@@ -410,7 +410,7 @@ bool dvmClassStartup()
{
/* make this a requirement -- don't currently support dirs in path */
if (strcmp(gDvm.bootClassPathStr, ".") == 0) {
- LOGE("ERROR: must specify non-'.' bootclasspath\n");
+ LOGE("ERROR: must specify non-'.' bootclasspath");
return false;
}
@@ -515,7 +515,7 @@ static void dumpClassPath(const ClassPathEntry* cpe)
default: kindStr = "???"; break;
}
- LOGI(" %2d: type=%s %s %p\n", idx, kindStr, cpe->fileName, cpe->ptr);
+ LOGI(" %2d: type=%s %s %p", idx, kindStr, cpe->fileName, cpe->ptr);
if (CALC_CACHE_STATS && cpe->kind == kCpeJar) {
JarFile* pJarFile = (JarFile*) cpe->ptr;
DvmDex* pDvmDex = dvmGetJarFileDex(pJarFile);
@@ -599,7 +599,7 @@ static bool prepareCpe(ClassPathEntry* cpe, bool isBootstrap)
cc = stat(cpe->fileName, &sb);
if (cc < 0) {
- LOGD("Unable to stat classpath element '%s'\n", cpe->fileName);
+ LOGD("Unable to stat classpath element '%s'", cpe->fileName);
return false;
}
if (S_ISDIR(sb.st_mode)) {
@@ -631,7 +631,7 @@ static bool prepareCpe(ClassPathEntry* cpe, bool isBootstrap)
return true;
}
- LOGD("Unable to process classpath element '%s'\n", cpe->fileName);
+ LOGD("Unable to process classpath element '%s'", cpe->fileName);
return false;
}
@@ -696,7 +696,7 @@ static ClassPathEntry* processClassPath(const char* pathStr, bool isBootstrap)
} else {
if (isBootstrap &&
dvmPathToAbsolutePortion(cp) == NULL) {
- LOGE("Non-absolute bootclasspath entry '%s'\n", cp);
+ LOGE("Non-absolute bootclasspath entry '%s'", cp);
free(cpe);
cpe = NULL;
goto bail;
@@ -729,13 +729,13 @@ static ClassPathEntry* processClassPath(const char* pathStr, bool isBootstrap)
}
assert(idx <= count);
if (idx == 0 && !gDvm.optimizing) {
- LOGE("No valid entries found in bootclasspath '%s'\n", pathStr);
+ LOGE("No valid entries found in bootclasspath '%s'", pathStr);
free(cpe);
cpe = NULL;
goto bail;
}
- LOGVV(" (filled %d of %d slots)\n", idx, count);
+ LOGVV(" (filled %d of %d slots)", idx, count);
/* put end marker in over-alloc slot */
cpe[idx].kind = kCpeLastEntry;
@@ -764,15 +764,15 @@ static DvmDex* searchBootPathForClass(const char* descriptor,
const DexClassDef* pFoundDef = NULL;
DvmDex* pFoundFile = NULL;
- LOGVV("+++ class '%s' not yet loaded, scanning bootclasspath...\n",
+ LOGVV("+++ class '%s' not yet loaded, scanning bootclasspath...",
descriptor);
while (cpe->kind != kCpeLastEntry) {
- //LOGV("+++ checking '%s' (%d)\n", cpe->fileName, cpe->kind);
+ //LOGV("+++ checking '%s' (%d)", cpe->fileName, cpe->kind);
switch (cpe->kind) {
case kCpeDir:
- LOGW("Directory entries ('%s') not supported in bootclasspath\n",
+ LOGW("Directory entries ('%s') not supported in bootclasspath",
cpe->fileName);
break;
case kCpeJar:
@@ -808,7 +808,7 @@ static DvmDex* searchBootPathForClass(const char* descriptor,
}
break;
default:
- LOGE("Unknown kind %d\n", cpe->kind);
+ LOGE("Unknown kind %d", cpe->kind);
assert(false);
break;
}
@@ -884,7 +884,7 @@ StringObject* dvmGetBootPathResource(const char* name, int idx)
const ClassPathEntry* cpe = gDvm.bootClassPath;
StringObject* urlObj = NULL;
- LOGV("+++ searching for resource '%s' in %d(%s)\n",
+ LOGV("+++ searching for resource '%s' in %d(%s)",
name, idx, cpe[idx].fileName);
/* we could use direct array index, but I don't entirely trust "idx" */
@@ -912,14 +912,14 @@ StringObject* dvmGetBootPathResource(const char* name, int idx)
}
break;
case kCpeDex:
- LOGV("No resources in DEX files\n");
+ LOGV("No resources in DEX files");
goto bail;
default:
assert(false);
goto bail;
}
- LOGV("+++ using URL='%s'\n", urlBuf);
+ LOGV("+++ using URL='%s'", urlBuf);
urlObj = dvmCreateStringFromCstr(urlBuf);
bail:
@@ -983,7 +983,7 @@ bool dvmLoaderInInitiatingList(const ClassObject* clazz, const Object* loader)
int i;
for (i = loaderList->initiatingLoaderCount-1; i >= 0; --i) {
if (loaderList->initiatingLoaders[i] == loader) {
- //LOGI("+++ found initiating match %p in %s\n",
+ //LOGI("+++ found initiating match %p in %s",
// loader, clazz->descriptor);
return true;
}
@@ -1006,7 +1006,7 @@ void dvmAddInitiatingLoader(ClassObject* clazz, Object* loader)
if (loader != clazz->classLoader) {
assert(loader != NULL);
- LOGVV("Adding %p to '%s' init list\n", loader, clazz->descriptor);
+ LOGVV("Adding %p to '%s' init list", loader, clazz->descriptor);
dvmHashTableLock(gDvm.loadedClasses);
/*
@@ -1015,7 +1015,7 @@ void dvmAddInitiatingLoader(ClassObject* clazz, Object* loader)
* checking before every add, so we may not want to do this.
*/
//if (dvmLoaderInInitiatingList(clazz, loader)) {
- // LOGW("WOW: simultaneous add of initiating class loader\n");
+ // LOGW("WOW: simultaneous add of initiating class loader");
// goto bail_unlock;
//}
@@ -1041,7 +1041,7 @@ void dvmAddInitiatingLoader(ClassObject* clazz, Object* loader)
}
loaderList->initiatingLoaders = newList;
- //LOGI("Expanded init list to %d (%s)\n",
+ //LOGI("Expanded init list to %d (%s)",
// loaderList->initiatingLoaderCount+kInitLoaderInc,
// clazz->descriptor);
}
@@ -1078,7 +1078,7 @@ static int hashcmpClassByCrit(const void* vclazz, const void* vcrit)
(pCrit->loader != NULL &&
dvmLoaderInInitiatingList(clazz, pCrit->loader)) ));
//if (match)
- // LOGI("+++ %s %p matches existing %s %p\n",
+ // LOGI("+++ %s %p matches existing %s %p",
// pCrit->descriptor, pCrit->loader,
// clazz->descriptor, clazz->classLoader);
return !match;
@@ -1131,7 +1131,7 @@ ClassObject* dvmLookupClass(const char* descriptor, Object* loader,
crit.loader = loader;
hash = dvmComputeUtf8Hash(descriptor);
- LOGVV("threadid=%d: dvmLookupClass searching for '%s' %p\n",
+ LOGVV("threadid=%d: dvmLookupClass searching for '%s' %p",
dvmThreadSelf()->threadId, descriptor, loader);
dvmHashTableLock(gDvm.loadedClasses);
@@ -1148,7 +1148,7 @@ ClassObject* dvmLookupClass(const char* descriptor, Object* loader,
* the wait-for-class code centralized.
*/
if (found && !unprepOkay && !dvmIsClassLinked((ClassObject*)found)) {
- LOGV("Ignoring not-yet-ready %s, using slow path\n",
+ LOGV("Ignoring not-yet-ready %s, using slow path",
((ClassObject*)found)->descriptor);
found = NULL;
}
@@ -1180,7 +1180,7 @@ bool dvmAddClassToHash(ClassObject* clazz)
hashcmpClassByClass, true);
dvmHashTableUnlock(gDvm.loadedClasses);
- LOGV("+++ dvmAddClassToHash '%s' %p (isnew=%d) --> %p\n",
+ LOGV("+++ dvmAddClassToHash '%s' %p (isnew=%d) --> %p",
clazz->descriptor, clazz->classLoader,
(found == (void*) clazz), clazz);
@@ -1216,13 +1216,13 @@ void dvmCheckClassTablePerf()
*/
static void removeClassFromHash(ClassObject* clazz)
{
- LOGV("+++ removeClassFromHash '%s'\n", clazz->descriptor);
+ LOGV("+++ removeClassFromHash '%s'", clazz->descriptor);
u4 hash = dvmComputeUtf8Hash(clazz->descriptor);
dvmHashTableLock(gDvm.loadedClasses);
if (!dvmHashTableRemove(gDvm.loadedClasses, hash, clazz))
- LOGW("Hash table remove failed on class '%s'\n", clazz->descriptor);
+ LOGW("Hash table remove failed on class '%s'", clazz->descriptor);
dvmHashTableUnlock(gDvm.loadedClasses);
}
@@ -1290,7 +1290,7 @@ ClassObject* dvmFindClassNoInit(const char* descriptor,
assert(descriptor != NULL);
//assert(loader != NULL);
- LOGVV("FindClassNoInit '%s' %p\n", descriptor, loader);
+ LOGVV("FindClassNoInit '%s' %p", descriptor, loader);
if (*descriptor == '[') {
/*
@@ -1318,7 +1318,7 @@ ClassObject* dvmFindClassNoInit(const char* descriptor,
static ClassObject* findClassFromLoaderNoInit(const char* descriptor,
Object* loader)
{
- //LOGI("##### findClassFromLoaderNoInit (%s,%p)\n",
+ //LOGI("##### findClassFromLoaderNoInit (%s,%p)",
// descriptor, loader);
Thread* self = dvmThreadSelf();
@@ -1337,10 +1337,10 @@ static ClassObject* findClassFromLoaderNoInit(const char* descriptor,
*/
ClassObject* clazz = dvmLookupClass(descriptor, loader, false);
if (clazz != NULL) {
- LOGVV("Already loaded: %s %p\n", descriptor, loader);
+ LOGVV("Already loaded: %s %p", descriptor, loader);
return clazz;
} else {
- LOGVV("Not already loaded: %s %p\n", descriptor, loader);
+ LOGVV("Not already loaded: %s %p", descriptor, loader);
}
char* dotName = NULL;
@@ -1366,7 +1366,7 @@ static ClassObject* findClassFromLoaderNoInit(const char* descriptor,
* implementation eventually calls VMClassLoader.loadClass to see if
* the bootstrap class loader can find it before doing its own load.
*/
- LOGVV("--- Invoking loadClass(%s, %p)\n", dotName, loader);
+ LOGVV("--- Invoking loadClass(%s, %p)", dotName, loader);
{
const Method* loadClass =
loader->clazz->vtable[gDvm.voffJavaLangClassLoader_loadClass];
@@ -1378,7 +1378,7 @@ static ClassObject* findClassFromLoaderNoInit(const char* descriptor,
Object* excep = dvmGetException(self);
if (excep != NULL) {
#if DVM_SHOW_EXCEPTION >= 2
- LOGD("NOTE: loadClass '%s' %p threw exception %s\n",
+ LOGD("NOTE: loadClass '%s' %p threw exception %s",
dotName, loader, excep->clazz->descriptor);
#endif
dvmAddTrackedAlloc(excep, self);
@@ -1388,7 +1388,7 @@ static ClassObject* findClassFromLoaderNoInit(const char* descriptor,
clazz = NULL;
goto bail;
} else if (clazz == NULL) {
- LOGW("ClassLoader returned NULL w/o exception pending\n");
+ LOGW("ClassLoader returned NULL w/o exception pending");
dvmThrowNullPointerException("ClassLoader returned null");
goto bail;
}
@@ -1398,7 +1398,7 @@ static ClassObject* findClassFromLoaderNoInit(const char* descriptor,
dvmAddInitiatingLoader(clazz, loader);
- LOGVV("--- Successfully loaded %s %p (thisldr=%p clazz=%p)\n",
+ LOGVV("--- Successfully loaded %s %p (thisldr=%p clazz=%p)",
descriptor, clazz->classLoader, loader, clazz);
bail:
@@ -1480,7 +1480,7 @@ static ClassObject* findClassNoInit(const char* descriptor, Object* loader,
bool profilerNotified = false;
if (loader != NULL) {
- LOGVV("#### findClassNoInit(%s,%p,%p)\n", descriptor, loader,
+ LOGVV("#### findClassNoInit(%s,%p,%p)", descriptor, loader,
pDvmDex->pDexFile);
}
@@ -1567,7 +1567,7 @@ static ClassObject* findClassNoInit(const char* descriptor, Object* loader,
*
* (Yes, this happens.)
*/
- //LOGW("WOW: somebody loaded %s simultaneously\n", descriptor);
+ //LOGW("WOW: somebody loaded %s simultaneously", descriptor);
clazz->initThreadId = 0;
dvmUnlockObject(self, (Object*) clazz);
@@ -1606,7 +1606,7 @@ static ClassObject* findClassNoInit(const char* descriptor, Object* loader,
dvmUnlockObject(self, (Object*) clazz);
#if LOG_CLASS_LOADING
- LOG(LOG_INFO, "DVMLINK FAILED FOR CLASS ", "%s in %s\n",
+ LOG(LOG_INFO, "DVMLINK FAILED FOR CLASS ", "%s in %s",
clazz->descriptor, get_process_name());
/*
@@ -1619,9 +1619,9 @@ static ClassObject* findClassNoInit(const char* descriptor, Object* loader,
clazz = NULL;
if (gDvm.optimizing) {
/* happens with "external" libs */
- LOGV("Link of class '%s' failed\n", descriptor);
+ LOGV("Link of class '%s' failed", descriptor);
} else {
- LOGW("Link of class '%s' failed\n", descriptor);
+ LOGW("Link of class '%s' failed", descriptor);
}
goto bail;
}
@@ -1678,13 +1678,13 @@ got_class:
if (!dvmIsClassLinked(clazz) &&
clazz->initThreadId == self->threadId)
{
- LOGW("Recursive link on class %s\n", clazz->descriptor);
+ LOGW("Recursive link on class %s", clazz->descriptor);
dvmUnlockObject(self, (Object*) clazz);
dvmThrowClassCircularityError(clazz->descriptor);
clazz = NULL;
goto bail;
}
- //LOGI("WAITING for '%s' (owner=%d)\n",
+ //LOGI("WAITING for '%s' (owner=%d)",
// clazz->descriptor, clazz->initThreadId);
while (!dvmIsClassLinked(clazz) && clazz->status != CLASS_ERROR) {
dvmObjectWait(self, (Object*) clazz, 0, 0, false);
@@ -1709,7 +1709,7 @@ got_class:
assert(dvmIsClassObject(clazz));
assert(clazz == gDvm.classJavaLangObject || clazz->super != NULL);
if (!dvmIsInterfaceClass(clazz)) {
- //LOGI("class=%s vtableCount=%d, virtualMeth=%d\n",
+ //LOGI("class=%s vtableCount=%d, virtualMeth=%d",
// clazz->descriptor, clazz->vtableCount,
// clazz->virtualMethodCount);
assert(clazz->vtableCount >= clazz->virtualMethodCount);
@@ -1743,7 +1743,7 @@ static ClassObject* loadClassFromDex0(DvmDex* pDvmDex,
* runtime state.
*/
if ((pClassDef->accessFlags & ~EXPECTED_FILE_FLAGS) != 0) {
- LOGW("Invalid file flags in class %s: %04x\n",
+ LOGW("Invalid file flags in class %s: %04x",
descriptor, pClassDef->accessFlags);
return NULL;
}
@@ -1876,7 +1876,7 @@ static ClassObject* loadClassFromDex0(DvmDex* pDvmDex,
if (classMapData != NULL &&
pHeader->directMethodsSize + pHeader->virtualMethodsSize != numMethods)
{
- LOGE("ERROR: in %s, direct=%d virtual=%d, maps have %d\n",
+ LOGE("ERROR: in %s, direct=%d virtual=%d, maps have %d",
newClass->descriptor, pHeader->directMethodsSize,
pHeader->virtualMethodsSize, numMethods);
assert(false);
@@ -1961,7 +1961,7 @@ static ClassObject* loadClassFromDex(DvmDex* pDvmDex,
pDexFile = pDvmDex->pDexFile;
if (gDvm.verboseClass) {
- LOGV("CLASS: loading '%s'...\n",
+ LOGV("CLASS: loading '%s'...",
dexGetClassDescriptor(pDexFile, pClassDef));
}
@@ -1978,7 +1978,7 @@ static ClassObject* loadClassFromDex(DvmDex* pDvmDex,
classLoader);
if (gDvm.verboseClass && (result != NULL)) {
- LOGI("[Loaded %s from DEX %p (cl=%p)]\n",
+ LOGI("[Loaded %s from DEX %p (cl=%p)]",
result->descriptor, pDvmDex, classLoader);
}
@@ -2134,8 +2134,8 @@ static void freeMethodInnards(Method* meth)
static void cloneMethod(Method* dst, const Method* src)
{
if (src->registerMap != NULL) {
- LOGE("GLITCH: only expected abstract methods here\n");
- LOGE(" cloning %s.%s\n", src->clazz->descriptor, src->name);
+ LOGE("GLITCH: only expected abstract methods here");
+ LOGE(" cloning %s.%s", src->clazz->descriptor, src->name);
dvmAbort();
}
memcpy(dst, src, sizeof(Method));
@@ -2238,7 +2238,7 @@ void dvmMakeCodeReadWrite(Method* meth)
assert(!dvmIsNativeMethod(meth) && !dvmIsAbstractMethod(meth));
size_t dexCodeSize = dexGetDexCodeSize(methodDexCode);
- LOGD("Making a copy of %s.%s code (%d bytes)\n",
+ LOGD("Making a copy of %s.%s code (%d bytes)",
meth->clazz->descriptor, meth->name, dexCodeSize);
DexCode* newCode =
@@ -2258,7 +2258,7 @@ void dvmMakeCodeReadWrite(Method* meth)
void dvmMakeCodeReadOnly(Method* meth)
{
DexCode* methodDexCode = (DexCode*) dvmGetMethodCode(meth);
- LOGV("+++ marking %p read-only\n", methodDexCode);
+ LOGV("+++ marking %p read-only", methodDexCode);
dvmLinearReadOnly(meth->clazz->classLoader, methodDexCode);
}
#endif
@@ -2427,7 +2427,7 @@ static bool precacheReferenceOffsets(ClassObject* clazz)
}
dvmLinearReadOnly(clazz->classLoader, clazz->ifields);
if (i == clazz->ifieldRefCount) {
- LOGE("Unable to reorder 'referent' in %s\n", clazz->descriptor);
+ LOGE("Unable to reorder 'referent' in %s", clazz->descriptor);
return false;
}
@@ -2436,7 +2436,7 @@ static bool precacheReferenceOffsets(ClassObject* clazz)
* info about the class.
*/
if (!dvmFindReferenceMembers(clazz)) {
- LOGE("Trouble with Reference setup\n");
+ LOGE("Trouble with Reference setup");
return false;
}
@@ -2514,7 +2514,7 @@ bool dvmLinkClass(ClassObject* clazz)
assert(clazz->descriptor != NULL);
assert(clazz->status == CLASS_IDX || clazz->status == CLASS_LOADED);
if (gDvm.verboseClass)
- LOGV("CLASS: linking '%s'...\n", clazz->descriptor);
+ LOGV("CLASS: linking '%s'...", clazz->descriptor);
assert(gDvm.classJavaLangClass != NULL);
assert(clazz->clazz == gDvm.classJavaLangClass);
@@ -2575,10 +2575,10 @@ bool dvmLinkClass(ClassObject* clazz)
assert(dvmCheckException(dvmThreadSelf()));
if (gDvm.optimizing) {
/* happens with "external" libs */
- LOGV("Unable to resolve superclass of %s (%d)\n",
+ LOGV("Unable to resolve superclass of %s (%d)",
clazz->descriptor, superclassIdx);
} else {
- LOGW("Unable to resolve superclass of %s (%d)\n",
+ LOGW("Unable to resolve superclass of %s (%d)",
clazz->descriptor, superclassIdx);
}
goto bail;
@@ -2607,11 +2607,11 @@ bool dvmLinkClass(ClassObject* clazz)
dexStringByTypeIdx(pDexFile, interfaceIdxArray[i]);
if (gDvm.optimizing) {
/* happens with "external" libs */
- LOGV("Failed resolving %s interface %d '%s'\n",
+ LOGV("Failed resolving %s interface %d '%s'",
clazz->descriptor, interfaceIdxArray[i],
classDescriptor);
} else {
- LOGI("Failed resolving %s interface %d '%s'\n",
+ LOGI("Failed resolving %s interface %d '%s'",
clazz->descriptor, interfaceIdxArray[i],
classDescriptor);
}
@@ -2621,12 +2621,12 @@ bool dvmLinkClass(ClassObject* clazz)
/* are we allowed to implement this interface? */
if (!dvmCheckClassAccess(clazz, clazz->interfaces[i])) {
dvmLinearReadOnly(clazz->classLoader, clazz->interfaces);
- LOGW("Interface '%s' is not accessible to '%s'\n",
+ LOGW("Interface '%s' is not accessible to '%s'",
clazz->interfaces[i]->descriptor, clazz->descriptor);
dvmThrowIllegalAccessError("interface not accessible");
goto bail;
}
- LOGVV("+++ found interface '%s'\n",
+ LOGVV("+++ found interface '%s'",
clazz->interfaces[i]->descriptor);
}
dvmLinearReadOnly(clazz->classLoader, clazz->interfaces);
@@ -2663,17 +2663,17 @@ bool dvmLinkClass(ClassObject* clazz)
}
/* verify */
if (dvmIsFinalClass(clazz->super)) {
- LOGW("Superclass of '%s' is final '%s'\n",
+ LOGW("Superclass of '%s' is final '%s'",
clazz->descriptor, clazz->super->descriptor);
dvmThrowIncompatibleClassChangeError("superclass is final");
goto bail;
} else if (dvmIsInterfaceClass(clazz->super)) {
- LOGW("Superclass of '%s' is interface '%s'\n",
+ LOGW("Superclass of '%s' is interface '%s'",
clazz->descriptor, clazz->super->descriptor);
dvmThrowIncompatibleClassChangeError("superclass is an interface");
goto bail;
} else if (!dvmCheckClassAccess(clazz, clazz->super)) {
- LOGW("Superclass of '%s' (%s) is not accessible\n",
+ LOGW("Superclass of '%s' (%s) is not accessible",
clazz->descriptor, clazz->super->descriptor);
dvmThrowIllegalAccessError("superclass not accessible");
goto bail;
@@ -2759,7 +2759,7 @@ bool dvmLinkClass(ClassObject* clazz)
int count = clazz->virtualMethodCount;
if (count != (u2) count) {
- LOGE("Too many methods (%d) in interface '%s'\n", count,
+ LOGE("Too many methods (%d) in interface '%s'", count,
clazz->descriptor);
goto bail;
}
@@ -2772,7 +2772,7 @@ bool dvmLinkClass(ClassObject* clazz)
dvmLinearReadOnly(clazz->classLoader, clazz->virtualMethods);
} else {
if (!createVtable(clazz)) {
- LOGW("failed creating vtable\n");
+ LOGW("failed creating vtable");
goto bail;
}
}
@@ -2803,7 +2803,7 @@ bool dvmLinkClass(ClassObject* clazz)
if ((clazz->classLoader == NULL)
&& (strcmp(clazz->descriptor, "Ljava/lang/ref/Reference;") == 0)) {
if (!precacheReferenceOffsets(clazz)) {
- LOGE("failed pre-caching Reference offsets\n");
+ LOGE("failed pre-caching Reference offsets");
dvmThrowInternalError(NULL);
goto bail;
}
@@ -2825,7 +2825,7 @@ bool dvmLinkClass(ClassObject* clazz)
clazz->status = CLASS_RESOLVED;
okay = true;
if (gDvm.verboseClass)
- LOGV("CLASS: linked '%s'\n", clazz->descriptor);
+ LOGV("CLASS: linked '%s'", clazz->descriptor);
/*
* We send CLASS_PREPARE events to the debugger from here. The
@@ -2870,7 +2870,7 @@ static bool createVtable(ClassObject* clazz)
int i;
if (clazz->super != NULL) {
- //LOGI("SUPER METHODS %d %s->%s\n", clazz->super->vtableCount,
+ //LOGI("SUPER METHODS %d %s->%s", clazz->super->vtableCount,
// clazz->descriptor, clazz->super->descriptor);
}
@@ -2884,7 +2884,7 @@ static bool createVtable(ClassObject* clazz)
*/
assert(strcmp(clazz->descriptor, "Ljava/lang/Object;") == 0);
}
- //LOGD("+++ max vmethods for '%s' is %d\n", clazz->descriptor, maxCount);
+ //LOGD("+++ max vmethods for '%s' is %d", clazz->descriptor, maxCount);
/*
* Over-allocate the table, then realloc it down if necessary. So
@@ -2919,14 +2919,14 @@ static bool createVtable(ClassObject* clazz)
{
/* verify */
if (dvmIsFinalMethod(superMeth)) {
- LOGW("Method %s.%s overrides final %s.%s\n",
+ LOGW("Method %s.%s overrides final %s.%s",
localMeth->clazz->descriptor, localMeth->name,
superMeth->clazz->descriptor, superMeth->name);
goto bail;
}
clazz->vtable[si] = localMeth;
localMeth->methodIndex = (u2) si;
- //LOGV("+++ override %s.%s (slot %d)\n",
+ //LOGV("+++ override %s.%s (slot %d)",
// clazz->descriptor, localMeth->name, si);
break;
}
@@ -2938,13 +2938,13 @@ static bool createVtable(ClassObject* clazz)
localMeth->methodIndex = (u2) actualCount;
actualCount++;
- //LOGV("+++ add method %s.%s\n",
+ //LOGV("+++ add method %s.%s",
// clazz->descriptor, localMeth->name);
}
}
if (actualCount != (u2) actualCount) {
- LOGE("Too many methods (%d) in class '%s'\n", actualCount,
+ LOGE("Too many methods (%d) in class '%s'", actualCount,
clazz->descriptor);
goto bail;
}
@@ -2957,10 +2957,10 @@ static bool createVtable(ClassObject* clazz)
clazz->vtable = (Method **)dvmLinearRealloc(clazz->classLoader,
clazz->vtable, sizeof(*(clazz->vtable)) * actualCount);
if (clazz->vtable == NULL) {
- LOGE("vtable realloc failed\n");
+ LOGE("vtable realloc failed");
goto bail;
} else {
- LOGVV("+++ reduced vtable from %d to %d\n",
+ LOGVV("+++ reduced vtable from %d to %d",
maxCount, actualCount);
}
}
@@ -2970,7 +2970,7 @@ static bool createVtable(ClassObject* clazz)
/* java/lang/Object case */
int count = clazz->virtualMethodCount;
if (count != (u2) count) {
- LOGE("Too many methods (%d) in base class '%s'\n", count,
+ LOGE("Too many methods (%d) in base class '%s'", count,
clazz->descriptor);
goto bail;
}
@@ -3028,7 +3028,7 @@ static bool createIftable(ClassObject* clazz)
for (int i = 0; i < clazz->interfaceCount; i++)
ifCount += clazz->interfaces[i]->iftableCount;
- LOGVV("INTF: class '%s' direct w/supra=%d super=%d total=%d\n",
+ LOGVV("INTF: class '%s' direct w/supra=%d super=%d total=%d",
clazz->descriptor, ifCount - superIfCount, superIfCount, ifCount);
if (ifCount == 0) {
@@ -3061,7 +3061,7 @@ static bool createIftable(ClassObject* clazz)
/* make sure this is still an interface class */
if (!dvmIsInterfaceClass(interf)) {
- LOGW("Class '%s' implements non-interface '%s'\n",
+ LOGW("Class '%s' implements non-interface '%s'",
clazz->descriptor, interf->descriptor);
dvmThrowIncompatibleClassChangeErrorWithClassMessage(
clazz->descriptor);
@@ -3104,7 +3104,7 @@ static bool createIftable(ClassObject* clazz)
if (i == j)
continue;
if (clazz->iftable[i].clazz == clazz->iftable[j].clazz) {
- LOGVV("INTF: redundant interface %s in %s\n",
+ LOGVV("INTF: redundant interface %s in %s",
clazz->iftable[i].clazz->descriptor,
clazz->descriptor);
@@ -3117,7 +3117,7 @@ static bool createIftable(ClassObject* clazz)
}
}
}
- LOGVV("INTF: class '%s' nodupes=%d\n", clazz->descriptor, ifCount);
+ LOGVV("INTF: class '%s' nodupes=%d", clazz->descriptor, ifCount);
} // if (false)
clazz->iftableCount = ifCount;
@@ -3155,14 +3155,14 @@ static bool createIftable(ClassObject* clazz)
* Note it's valid for an interface to have no methods (e.g.
* java/io/Serializable).
*/
- LOGVV("INTF: pool: %d from %s\n",
+ LOGVV("INTF: pool: %d from %s",
clazz->iftable[i].clazz->virtualMethodCount,
clazz->iftable[i].clazz->descriptor);
poolSize += clazz->iftable[i].clazz->virtualMethodCount;
}
if (poolSize == 0) {
- LOGVV("INTF: didn't find any new interfaces with methods\n");
+ LOGVV("INTF: didn't find any new interfaces with methods");
result = true;
goto bail;
}
@@ -3220,7 +3220,7 @@ static bool createIftable(ClassObject* clazz)
IF_LOGVV() {
char* desc = dexProtoCopyMethodDescriptor(&imeth->prototype);
- LOGVV("INTF: matching '%s' '%s'\n", imeth->name, desc);
+ LOGVV("INTF: matching '%s' '%s'", imeth->name, desc);
free(desc);
}
@@ -3228,9 +3228,9 @@ static bool createIftable(ClassObject* clazz)
if (dvmCompareMethodNamesAndProtos(imeth, clazz->vtable[j])
== 0)
{
- LOGVV("INTF: matched at %d\n", j);
+ LOGVV("INTF: matched at %d", j);
if (!dvmIsPublicMethod(clazz->vtable[j])) {
- LOGW("Implementation of %s.%s is not public\n",
+ LOGW("Implementation of %s.%s is not public",
clazz->descriptor, clazz->vtable[j]->name);
dvmThrowIllegalAccessError(
"interface implementation not public");
@@ -3244,7 +3244,7 @@ static bool createIftable(ClassObject* clazz)
IF_LOGV() {
char* desc =
dexProtoCopyMethodDescriptor(&imeth->prototype);
- LOGV("No match for '%s' '%s' in '%s' (creating miranda)\n",
+ LOGV("No match for '%s' '%s' in '%s' (creating miranda)",
imeth->name, desc, clazz->descriptor);
free(desc);
}
@@ -3280,7 +3280,7 @@ static bool createIftable(ClassObject* clazz)
IF_LOGVV() {
char* desc = dexProtoCopyMethodDescriptor(
&imeth->prototype);
- LOGVV("MIRANDA dupe: %s and %s %s%s\n",
+ LOGVV("MIRANDA dupe: %s and %s %s%s",
mirandaList[mir]->clazz->descriptor,
imeth->clazz->descriptor,
imeth->name, desc);
@@ -3293,12 +3293,12 @@ static bool createIftable(ClassObject* clazz)
/* point the iftable at a phantom slot index */
clazz->iftable[i].methodIndexArray[methIdx] =
clazz->vtableCount + mir;
- LOGVV("MIRANDA: %s points at slot %d\n",
+ LOGVV("MIRANDA: %s points at slot %d",
imeth->name, clazz->vtableCount + mir);
/* if non-duplicate among Mirandas, add to Miranda list */
if (mir == mirandaCount) {
- //LOGV("MIRANDA: holding '%s' in slot %d\n",
+ //LOGV("MIRANDA: holding '%s' in slot %d",
// imeth->name, mir);
mirandaList[mirandaCount++] = imeth;
}
@@ -3313,7 +3313,7 @@ static bool createIftable(ClassObject* clazz)
int oldMethodCount, oldVtableCount;
for (int i = 0; i < mirandaCount; i++) {
- LOGVV("MIRANDA %d: %s.%s\n", i,
+ LOGVV("MIRANDA %d: %s.%s", i,
mirandaList[i]->clazz->descriptor, mirandaList[i]->name);
}
if (mirandaCount > kManyMirandas) {
@@ -3324,7 +3324,7 @@ static bool createIftable(ClassObject* clazz)
* massive collection of Miranda methods and a lot of wasted
* space, sometimes enough to blow out the LinearAlloc cap.
*/
- LOGD("Note: class %s has %d unimplemented (abstract) methods\n",
+ LOGD("Note: class %s has %d unimplemented (abstract) methods",
clazz->descriptor, mirandaCount);
}
@@ -3359,7 +3359,7 @@ static bool createIftable(ClassObject* clazz)
* stuff makes it look like the class actually has an abstract
* method declaration in it.
*/
- LOGVV("MIRANDA fixing vtable pointers\n");
+ LOGVV("MIRANDA fixing vtable pointers");
dvmLinearReadWrite(clazz->classLoader, clazz->vtable);
Method* meth = newVirtualMethods;
for (int i = 0; i < clazz->virtualMethodCount; i++, meth++)
@@ -3504,7 +3504,7 @@ static inline void swapField(InstField* pOne, InstField* pTwo)
{
InstField swap;
- LOGVV(" --- swap '%s' and '%s'\n", pOne->name, pTwo->name);
+ LOGVV(" --- swap '%s' and '%s'", pOne->name, pTwo->name);
swap = *pOne;
*pOne = *pTwo;
*pTwo = swap;
@@ -3553,12 +3553,12 @@ static bool computeFieldOffsets(ClassObject* clazz)
else
fieldOffset = OFFSETOF_MEMBER(DataObject, instanceData);
- LOGVV("--- computeFieldOffsets '%s'\n", clazz->descriptor);
+ LOGVV("--- computeFieldOffsets '%s'", clazz->descriptor);
- //LOGI("OFFSETS fieldCount=%d\n", clazz->ifieldCount);
- //LOGI("dataobj, instance: %d\n", offsetof(DataObject, instanceData));
- //LOGI("classobj, access: %d\n", offsetof(ClassObject, accessFlags));
- //LOGI("super=%p, fieldOffset=%d\n", clazz->super, fieldOffset);
+ //LOGI("OFFSETS fieldCount=%d", clazz->ifieldCount);
+ //LOGI("dataobj, instance: %d", offsetof(DataObject, instanceData));
+ //LOGI("classobj, access: %d", offsetof(ClassObject, accessFlags));
+ //LOGI("super=%p, fieldOffset=%d", clazz->super, fieldOffset);
/*
* Start by moving all reference fields to the front.
@@ -3610,7 +3610,7 @@ static bool computeFieldOffsets(ClassObject* clazz)
pField->byteOffset = fieldOffset;
fieldOffset += sizeof(u4);
- LOGVV(" --- offset1 '%s'=%d\n", pField->name,pField->byteOffset);
+ LOGVV(" --- offset1 '%s'=%d", pField->name,pField->byteOffset);
}
/*
@@ -3619,7 +3619,7 @@ static bool computeFieldOffsets(ClassObject* clazz)
* If we can't find one, we'll have to pad it.
*/
if (i != clazz->ifieldCount && (fieldOffset & 0x04) != 0) {
- LOGVV(" +++ not aligned\n");
+ LOGVV(" +++ not aligned");
InstField* pField = &clazz->ifields[i];
char c = pField->signature[0];
@@ -3632,7 +3632,7 @@ static bool computeFieldOffsets(ClassObject* clazz)
pField->byteOffset = fieldOffset;
fieldOffset += sizeof(u4);
i++;
- LOGVV(" --- offset2 '%s'=%d\n",
+ LOGVV(" --- offset2 '%s'=%d",
pField->name, pField->byteOffset);
} else {
/*
@@ -3648,11 +3648,11 @@ static bool computeFieldOffsets(ClassObject* clazz)
if (rc != 'J' && rc != 'D') {
swapField(pField, singleField);
//c = rc;
- LOGVV(" +++ swapped '%s' for alignment\n",
+ LOGVV(" +++ swapped '%s' for alignment",
pField->name);
pField->byteOffset = fieldOffset;
fieldOffset += sizeof(u4);
- LOGVV(" --- offset3 '%s'=%d\n",
+ LOGVV(" --- offset3 '%s'=%d",
pField->name, pField->byteOffset);
found = true;
i++;
@@ -3660,7 +3660,7 @@ static bool computeFieldOffsets(ClassObject* clazz)
}
}
if (!found) {
- LOGV(" +++ inserting pad field in '%s'\n", clazz->descriptor);
+ LOGV(" +++ inserting pad field in '%s'", clazz->descriptor);
fieldOffset += sizeof(u4);
}
}
@@ -3705,7 +3705,7 @@ static bool computeFieldOffsets(ClassObject* clazz)
}
pField->byteOffset = fieldOffset;
- LOGVV(" --- offset4 '%s'=%d\n", pField->name,pField->byteOffset);
+ LOGVV(" --- offset4 '%s'=%d", pField->name,pField->byteOffset);
fieldOffset += sizeof(u4);
if (c == 'J' || c == 'D')
fieldOffset += sizeof(u4);
@@ -3759,7 +3759,7 @@ static bool computeFieldOffsets(ClassObject* clazz)
*/
static void throwEarlierClassFailure(ClassObject* clazz)
{
- LOGI("Rejecting re-init on previously-failed class %s v=%p\n",
+ LOGI("Rejecting re-init on previously-failed class %s v=%p",
clazz->descriptor, clazz->verifyErrorClass);
if (clazz->verifyErrorClass == NULL) {
@@ -3788,7 +3788,7 @@ static void initSFields(ClassObject* clazz)
}
if (clazz->pDvmDex == NULL) {
/* generated class; any static fields should already be set up */
- LOGV("Not initializing static fields in %s\n", clazz->descriptor);
+ LOGV("Not initializing static fields in %s", clazz->descriptor);
return;
}
pDexFile = clazz->pDvmDex->pDexFile;
@@ -4088,7 +4088,7 @@ static bool validateSuperDescriptors(const ClassObject* clazz)
if (meth != clazz->super->vtable[i] &&
!checkMethodDescriptorClasses(meth, clazz->super, clazz))
{
- LOGW("Method mismatch: %s in %s (cl=%p) and super %s (cl=%p)\n",
+ LOGW("Method mismatch: %s in %s (cl=%p) and super %s (cl=%p)",
meth->name, clazz->descriptor, clazz->classLoader,
clazz->super->descriptor, clazz->super->classLoader);
dvmThrowLinkageError(
@@ -4260,14 +4260,14 @@ bool dvmInitClass(ClassObject* clazz)
clazz->classLoader == NULL))
{
/* advance to "verified" state */
- LOGV("+++ not verifying class %s (cl=%p)\n",
+ LOGV("+++ not verifying class %s (cl=%p)",
clazz->descriptor, clazz->classLoader);
clazz->status = CLASS_VERIFIED;
goto noverify;
}
if (!gDvm.optimizing)
- LOGV("+++ late verify on %s\n", clazz->descriptor);
+ LOGV("+++ late verify on %s", clazz->descriptor);
/*
* We're not supposed to optimize an unverified class, but during
@@ -4312,7 +4312,7 @@ noverify:
* system classes, and dexopt runs single-threaded.
*/
if (!IS_CLASS_FLAG_SET(clazz, CLASS_ISOPTIMIZED) && !gDvm.optimizing) {
- LOGV("+++ late optimize on %s (pv=%d)\n",
+ LOGV("+++ late optimize on %s (pv=%d)",
clazz->descriptor, IS_CLASS_FLAG_SET(clazz, CLASS_ISPREVERIFIED));
bool essentialOnly = (gDvm.dexOptMode != OPTIMIZE_MODE_FULL);
dvmOptimizeClass(clazz, essentialOnly);
@@ -4328,12 +4328,12 @@ noverify:
while (clazz->status == CLASS_INITIALIZING) {
/* we caught somebody else in the act; was it us? */
if (clazz->initThreadId == self->threadId) {
- //LOGV("HEY: found a recursive <clinit>\n");
+ //LOGV("HEY: found a recursive <clinit>");
goto bail_unlock;
}
if (dvmCheckException(self)) {
- LOGW("GLITCH: exception pending at start of class init\n");
+ LOGW("GLITCH: exception pending at start of class init");
dvmAbort();
}
@@ -4350,7 +4350,7 @@ noverify:
* was set), bail out.
*/
if (dvmCheckException(self)) {
- LOGI("Class init of '%s' failing with wait() exception\n",
+ LOGI("Class init of '%s' failing with wait() exception",
clazz->descriptor);
/*
* TODO: this is bogus, because it means the two threads have a
@@ -4370,7 +4370,7 @@ noverify:
goto bail_unlock;
}
if (clazz->status == CLASS_INITIALIZING) {
- LOGI("Waiting again for class init\n");
+ LOGI("Waiting again for class init");
continue;
}
assert(clazz->status == CLASS_INITIALIZED ||
@@ -4467,9 +4467,9 @@ noverify:
*/
method = dvmFindDirectMethodByDescriptor(clazz, "<clinit>", "()V");
if (method == NULL) {
- LOGVV("No <clinit> found for %s\n", clazz->descriptor);
+ LOGVV("No <clinit> found for %s", clazz->descriptor);
} else {
- LOGVV("Invoking %s.<clinit>\n", clazz->descriptor);
+ LOGVV("Invoking %s.<clinit>", clazz->descriptor);
JValue unused;
dvmCallMethod(self, method, NULL, &unused);
}
@@ -4480,10 +4480,10 @@ noverify:
* need to throw an ExceptionInInitializerError, but we want to
* tuck the original exception into the "cause" field.
*/
- LOGW("Exception %s thrown while initializing %s\n",
+ LOGW("Exception %s thrown while initializing %s",
(dvmGetException(self)->clazz)->descriptor, clazz->descriptor);
dvmThrowExceptionInInitializerError();
- //LOGW("+++ replaced\n");
+ //LOGW("+++ replaced");
dvmLockObject(self, (Object*) clazz);
clazz->status = CLASS_ERROR;
@@ -4491,7 +4491,7 @@ noverify:
/* success! */
dvmLockObject(self, (Object*) clazz);
clazz->status = CLASS_INITIALIZED;
- LOGVV("Initialized class: %s\n", clazz->descriptor);
+ LOGVV("Initialized class: %s", clazz->descriptor);
/*
* Update alloc counters. TODO: guard with mutex.
@@ -4585,7 +4585,7 @@ void dvmSetRegisterMap(Method* method, const RegisterMap* pMap)
if (method->registerMap != NULL) {
/* unexpected during class loading, okay on first use (uncompress) */
- LOGV("NOTE: registerMap already set for %s.%s\n",
+ LOGV("NOTE: registerMap already set for %s.%s",
method->clazz->descriptor, method->name);
/* keep going */
}
@@ -4671,7 +4671,7 @@ static int dumpClass(void* vclazz, void* varg)
int i;
if (clazz == NULL) {
- LOGI("dumpClass: ignoring request to dump null class\n");
+ LOGI("dumpClass: ignoring request to dump null class");
return 0;
}
@@ -4683,13 +4683,13 @@ static int dumpClass(void* vclazz, void* varg)
initStr = dvmIsClassInitialized(clazz) ? "true" : "false";
if (showInit && showLoader)
- LOGI("%s %p %s\n", clazz->descriptor, clazz->classLoader, initStr);
+ LOGI("%s %p %s", clazz->descriptor, clazz->classLoader, initStr);
else if (showInit)
- LOGI("%s %s\n", clazz->descriptor, initStr);
+ LOGI("%s %s", clazz->descriptor, initStr);
else if (showLoader)
- LOGI("%s %p\n", clazz->descriptor, clazz->classLoader);
+ LOGI("%s %p", clazz->descriptor, clazz->classLoader);
else
- LOGI("%s\n", clazz->descriptor);
+ LOGI("%s", clazz->descriptor);
return 0;
}
@@ -4700,32 +4700,32 @@ static int dumpClass(void* vclazz, void* varg)
else
super = NULL;
- LOGI("----- %s '%s' cl=%p ser=0x%08x -----\n",
+ LOGI("----- %s '%s' cl=%p ser=0x%08x -----",
dvmIsInterfaceClass(clazz) ? "interface" : "class",
clazz->descriptor, clazz->classLoader, clazz->serialNumber);
- LOGI(" objectSize=%d (%d from super)\n", (int) clazz->objectSize,
+ LOGI(" objectSize=%d (%d from super)", (int) clazz->objectSize,
super != NULL ? (int) super->objectSize : -1);
- LOGI(" access=0x%04x.%04x\n", clazz->accessFlags >> 16,
+ LOGI(" access=0x%04x.%04x", clazz->accessFlags >> 16,
clazz->accessFlags & JAVA_FLAGS_MASK);
if (super != NULL)
- LOGI(" super='%s' (cl=%p)\n", super->descriptor, super->classLoader);
+ LOGI(" super='%s' (cl=%p)", super->descriptor, super->classLoader);
if (dvmIsArrayClass(clazz)) {
- LOGI(" dimensions=%d elementClass=%s\n",
+ LOGI(" dimensions=%d elementClass=%s",
clazz->arrayDim, clazz->elementClass->descriptor);
}
if (clazz->iftableCount > 0) {
- LOGI(" interfaces (%d):\n", clazz->iftableCount);
+ LOGI(" interfaces (%d):", clazz->iftableCount);
for (i = 0; i < clazz->iftableCount; i++) {
InterfaceEntry* ent = &clazz->iftable[i];
int j;
- LOGI(" %2d: %s (cl=%p)\n",
+ LOGI(" %2d: %s (cl=%p)",
i, ent->clazz->descriptor, ent->clazz->classLoader);
/* enable when needed */
if (false && ent->methodIndexArray != NULL) {
for (j = 0; j < ent->clazz->virtualMethodCount; j++)
- LOGI(" %2d: %d %s %s\n",
+ LOGI(" %2d: %d %s %s",
j, ent->methodIndexArray[j],
ent->clazz->virtualMethods[j].name,
clazz->vtable[ent->methodIndexArray[j]]->name);
@@ -4733,30 +4733,30 @@ static int dumpClass(void* vclazz, void* varg)
}
}
if (!dvmIsInterfaceClass(clazz)) {
- LOGI(" vtable (%d entries, %d in super):\n", clazz->vtableCount,
+ LOGI(" vtable (%d entries, %d in super):", clazz->vtableCount,
super != NULL ? super->vtableCount : 0);
for (i = 0; i < clazz->vtableCount; i++) {
desc = dexProtoCopyMethodDescriptor(&clazz->vtable[i]->prototype);
- LOGI(" %s%2d: %p %20s %s\n",
+ LOGI(" %s%2d: %p %20s %s",
(i != clazz->vtable[i]->methodIndex) ? "*** " : "",
(u4) clazz->vtable[i]->methodIndex, clazz->vtable[i],
clazz->vtable[i]->name, desc);
free(desc);
}
- LOGI(" direct methods (%d entries):\n", clazz->directMethodCount);
+ LOGI(" direct methods (%d entries):", clazz->directMethodCount);
for (i = 0; i < clazz->directMethodCount; i++) {
desc = dexProtoCopyMethodDescriptor(
&clazz->directMethods[i].prototype);
- LOGI(" %2d: %20s %s\n", i, clazz->directMethods[i].name,
+ LOGI(" %2d: %20s %s", i, clazz->directMethods[i].name,
desc);
free(desc);
}
} else {
- LOGI(" interface methods (%d):\n", clazz->virtualMethodCount);
+ LOGI(" interface methods (%d):", clazz->virtualMethodCount);
for (i = 0; i < clazz->virtualMethodCount; i++) {
desc = dexProtoCopyMethodDescriptor(
&clazz->virtualMethods[i].prototype);
- LOGI(" %2d: %2d %20s %s\n", i,
+ LOGI(" %2d: %2d %20s %s", i,
(u4) clazz->virtualMethods[i].methodIndex,
clazz->virtualMethods[i].name,
desc);
@@ -4764,16 +4764,16 @@ static int dumpClass(void* vclazz, void* varg)
}
}
if (clazz->sfieldCount > 0) {
- LOGI(" static fields (%d entries):\n", clazz->sfieldCount);
+ LOGI(" static fields (%d entries):", clazz->sfieldCount);
for (i = 0; i < clazz->sfieldCount; i++) {
- LOGI(" %2d: %20s %s\n", i, clazz->sfields[i].name,
+ LOGI(" %2d: %20s %s", i, clazz->sfields[i].name,
clazz->sfields[i].signature);
}
}
if (clazz->ifieldCount > 0) {
- LOGI(" instance fields (%d entries):\n", clazz->ifieldCount);
+ LOGI(" instance fields (%d entries):", clazz->ifieldCount);
for (i = 0; i < clazz->ifieldCount; i++) {
- LOGI(" %2d: %20s %s\n", i, clazz->ifields[i].name,
+ LOGI(" %2d: %20s %s", i, clazz->ifields[i].name,
clazz->ifields[i].signature);
}
}
@@ -4817,12 +4817,12 @@ int dvmGetNumLoadedClasses()
*/
void dvmDumpLoaderStats(const char* msg)
{
- LOGV("VM stats (%s): cls=%d/%d meth=%d ifld=%d sfld=%d linear=%d\n",
+ LOGV("VM stats (%s): cls=%d/%d meth=%d ifld=%d sfld=%d linear=%d",
msg, gDvm.numLoadedClasses, dvmHashTableNumEntries(gDvm.loadedClasses),
gDvm.numDeclaredMethods, gDvm.numDeclaredInstFields,
gDvm.numDeclaredStaticFields, gDvm.pBootLoaderAlloc->curOffset);
#ifdef COUNT_PRECISE_METHODS
- LOGI("GC precise methods: %d\n",
+ LOGI("GC precise methods: %d",
dvmPointerSetGetCount(gDvm.preciseMethods));
#endif
}