Pulled out instrumentation into its own class separate from trace.

This is in preparation for Ian's debugger changes. The instrumentation
still needs support for debugging, which I'll add later.

Change-Id: I29ce0af1ff2eaec8f6d2f54963263381363ebf72
diff --git a/src/class_linker.cc b/src/class_linker.cc
index ce9b37b..689b928 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1577,12 +1577,12 @@
   for (size_t i = 0; it.HasNextDirectMethod(); i++, it.Next()) {
     AbstractMethod* method = klass->GetDirectMethod(i);
     if (Runtime::Current()->IsMethodTracingActive()) {
-      Trace* tracer = Runtime::Current()->GetTracer();
-      if (tracer->GetSavedCodeFromMap(method) == trampoline) {
+      Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation();
+      if (instrumentation->GetSavedCodeFromMap(method) == trampoline) {
         const void* code = oat_class->GetOatMethod(method_index).GetCode();
-        tracer->ResetSavedCode(method);
+        instrumentation->ResetSavedCode(method);
         method->SetCode(code);
-        tracer->SaveAndUpdateCode(method);
+        instrumentation->SaveAndUpdateCode(method);
       }
     } else if (method->GetCode() == trampoline) {
       const void* code = oat_class->GetOatMethod(method_index).GetCode();
@@ -1618,8 +1618,8 @@
   }
 
   if (Runtime::Current()->IsMethodTracingActive()) {
-    Trace* tracer = Runtime::Current()->GetTracer();
-    tracer->SaveAndUpdateCode(method.get());
+    Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation();
+    instrumentation->SaveAndUpdateCode(method.get());
   }
 }