Enable virtual invokes, use new alloc, misc

Make use of the new alloc routines.  Extended the filter to allow
simple virtual invoke test to get through.  Fixed a register allocation
problem.

Note that the invoke sequeces are still the verbose & long path.
Will start using the new CodeandDirectMethods mechanism in upcoming CL

Change-Id: I8ff79f6392ff3da14d7679dcf65029ae48f18eba
diff --git a/src/compiler/Frontend.cc b/src/compiler/Frontend.cc
index 0fb6636..954f685 100644
--- a/src/compiler/Frontend.cc
+++ b/src/compiler/Frontend.cc
@@ -187,7 +187,7 @@
 void oatDumpCFG(CompilationUnit* cUnit, const char* dirPrefix)
 {
     FILE* file;
-    std::string name = art::PrettyMethod(cUnit->method, true);
+    std::string name = art::PrettyMethod(cUnit->method);
     char startOffset[80];
     sprintf(startOffset, "_%x", cUnit->entryBlock->fallThrough->startOffset);
     char* fileName = (char *) oatNew(
@@ -699,16 +699,25 @@
 {
     bool compiling = true;
     if (!method->IsStatic()) {
-        compiling = false;
+        compiling = false;  // assume skip
+        if (PrettyMethod(method).find("virtualCall") != std::string::npos) {
+            compiling = true;
+        }
+        if (PrettyMethod(method).find("IntMath.<init>") != std::string::npos) {
+            compiling = true;
+        }
+        if (PrettyMethod(method).find("java.lang.Object.<init>") != std::string::npos) {
+            compiling = true;
+        }
     } else if ( (method->GetName()->ToModifiedUtf8().find("foo") != std::string::npos) ||
         (method->GetName()->ToModifiedUtf8().find("main") != std::string::npos)) {
         compiling = false;
     }
 
     if (compiling) {
-        LOG(INFO) << "Compiling " << PrettyMethod(method, true);
+        LOG(INFO) << "Compiling " << PrettyMethod(method);
     } else {
-        LOG(INFO) << "not compiling " << PrettyMethod(method, true);
+        LOG(INFO) << "not compiling " << PrettyMethod(method);
         return false;
     }