Changed tracer to use an instance to hold state instead of statics.

Change-Id: I2fdcf5de7fbc745273b1a33cb409d13e72d24ab4
diff --git a/src/runtime_support.cc b/src/runtime_support.cc
index cdd773f..2ee64a1 100644
--- a/src/runtime_support.cc
+++ b/src/runtime_support.cc
@@ -141,7 +141,7 @@
 extern "C" void artThrowStackOverflowFromCode(Method* method, Thread* thread, Method** sp) {
   FinishCalleeSaveFrameSetup(thread, sp, Runtime::kSaveAll);
   // Remove extra entry pushed onto second stack during method tracing
-  if (Trace::IsMethodTracingActive()) {
+  if (Runtime::Current()->IsMethodTracingActive()) {
     artTraceMethodUnwindFromCode(thread);
   }
   thread->SetStackEndForStackOverflow();  // Allow space on the stack for constructor to execute
@@ -1183,30 +1183,33 @@
 }
 
 extern "C" const void* artTraceMethodEntryFromCode(Method* method, Thread* self, uintptr_t lr) {
+  Trace* tracer = Runtime::Current()->GetTracer();
   TraceStackFrame trace_frame = TraceStackFrame(method, lr);
   self->PushTraceStackFrame(trace_frame);
 
-  Trace::LogMethodTraceEvent(self, method, Trace::kMethodTraceEnter);
+  tracer->LogMethodTraceEvent(self, method, Trace::kMethodTraceEnter);
 
-  return Trace::GetSavedCodeFromMap(method);
+  return tracer->GetSavedCodeFromMap(method);
 }
 
 extern "C" uintptr_t artTraceMethodExitFromCode() {
+  Trace* tracer = Runtime::Current()->GetTracer();
   TraceStackFrame trace_frame = Thread::Current()->PopTraceStackFrame();
   Method* method = trace_frame.method_;
   uintptr_t lr = trace_frame.return_pc_;
 
-  Trace::LogMethodTraceEvent(Thread::Current(), method, Trace::kMethodTraceExit);
+  tracer->LogMethodTraceEvent(Thread::Current(), method, Trace::kMethodTraceExit);
 
   return lr;
 }
 
 uintptr_t artTraceMethodUnwindFromCode(Thread* self) {
+  Trace* tracer = Runtime::Current()->GetTracer();
   TraceStackFrame trace_frame = self->PopTraceStackFrame();
   Method* method = trace_frame.method_;
   uintptr_t lr = trace_frame.return_pc_;
 
-  Trace::LogMethodTraceEvent(self, method, Trace::kMethodTraceUnwind);
+  tracer->LogMethodTraceEvent(self, method, Trace::kMethodTraceUnwind);
 
   return lr;
 }