This disables verification of RegisterMap contents and compressed
output, as well as a GC-time check that double-checked the validity of a
register known to hold a reference.
For internal bug
1896437.
# "-O2" is redundant for device (release) but useful for sim (debug)
#LOCAL_CFLAGS += -O2 -Winline
#LOCAL_CFLAGS += -DWITH_EXTRA_OBJECT_VALIDATION
- LOCAL_CFLAGS += -DWITH_EXTRA_GC_CHECKS=1
LOCAL_CFLAGS += -DDVM_SHOW_EXCEPTION=1
# if you want to try with assertions on the device, add:
#LOCAL_CFLAGS += -UNDEBUG -DDEBUG=1 -DLOG_NDEBUG=1 -DWITH_DALVIK_ASSERT
} else if (strcmp(argv[i], "-Xgenregmap") == 0) {
gDvm.generateRegisterMaps = true;
- LOGD("Register maps will be generated during verification\n");
+ LOGV("Register maps will be generated during verification\n");
} else if (strncmp(argv[i], "-Xgc:", 5) == 0) {
if (strcmp(argv[i] + 5, "precise") == 0)
* if it's present -- but if it's enabled it means we're
* unexpectedly falling back on a conservative scan, so it's
* worth yelling a little.
- *
- * TODO: we should be able to remove this for production --
- * no need to keep banging on the global.
*/
if (gDvm.preciseGc) {
- LOGV("PGC: no map for %s.%s\n",
+ LOGVV("PGC: no map for %s.%s\n",
method->clazz->descriptor, method->name);
}
regVector = NULL;
#include <stddef.h>
/* double-check the compression */
-#define REGISTER_MAP_VERIFY true
+#define REGISTER_MAP_VERIFY false
/* verbose logging */
#define REGISTER_MAP_VERBOSE false
LOGV("mapData=%p pMap=%p bufSize=%d\n", mapData, pMap, bufSize);
assert(mapData - (const u1*) pMap == bufSize);
-#if 1
- if (!verifyMap(vdata, pMap))
+ if (REGISTER_MAP_VERIFY && !verifyMap(vdata, pMap))
goto bail;
-#endif
#ifdef REGISTER_MAP_STATS
computeMapStats(pMap, vdata->method);
#endif