Fix the mutex diagnostics, and other targets of opportunity.
Three changes for the price of one:
1. Fix the mutex diagnostics so they work right during startup and shutdown.
2. Fix a memory leak in common_test.
3. Fix memory corruption in the compiler; we were calling memset(3) on a struct
with non-POD members.
Thanks, as usual, to valgrind(1) for the latter two (and several bugs in
earlier attempts at the former).
Change-Id: I15e1ffb01e73e4c56a5bbdcaa7233a4b5221e08a
diff --git a/src/compiler/CompilerUtility.h b/src/compiler/CompilerUtility.h
index 41f6cf1..f7b9b0e 100644
--- a/src/compiler/CompilerUtility.h
+++ b/src/compiler/CompilerUtility.h
@@ -43,11 +43,14 @@
void oatArenaReset(CompilationUnit *cUnit);
struct GrowableList {
- size_t numAllocated;
- size_t numUsed;
- intptr_t *elemList;
+ GrowableList() : numAllocated(0), numUsed(0), elemList(NULL) {
+ }
+
+ size_t numAllocated;
+ size_t numUsed;
+ intptr_t* elemList;
#ifdef WITH_MEMSTATS
- oatListKind kind;
+ oatListKind kind;
#endif
};