summaryrefslogtreecommitdiffstats
path: root/runtime/interpreter/mterp/mterp.cc
diff options
context:
space:
mode:
authorSerguei Katkov <serguei.i.katkov@intel.com>2016-02-20 12:55:24 +0600
committerSerguei Katkov <serguei.i.katkov@intel.com>2016-02-20 14:32:56 +0600
commit9fb0ac70e4627be7113533cc126483117bfca068 (patch)
treef5e4c78ef582541dd631cbb7c8441e7ba3228b67 /runtime/interpreter/mterp/mterp.cc
parentea6e7556887716b806f377c018fb6514bdae5bca (diff)
downloadart-9fb0ac70e4627be7113533cc126483117bfca068.tar.gz
art-9fb0ac70e4627be7113533cc126483117bfca068.tar.bz2
art-9fb0ac70e4627be7113533cc126483117bfca068.zip
Enable bytecode tracing in ART FI
Trace bytecode execution in Fast Interpreter similar to other interpreters. Update TraceExecutionEnabled function to switch on tracing. Change-Id: Icabc17871c8198b11cd4c3dbfaa901e4fbf67946 Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Diffstat (limited to 'runtime/interpreter/mterp/mterp.cc')
-rw-r--r--runtime/interpreter/mterp/mterp.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/interpreter/mterp/mterp.cc b/runtime/interpreter/mterp/mterp.cc
index 15745d2731..1a90acd799 100644
--- a/runtime/interpreter/mterp/mterp.cc
+++ b/runtime/interpreter/mterp/mterp.cc
@@ -47,7 +47,9 @@ void CheckMterpAsmConstants() {
void InitMterpTls(Thread* self) {
self->SetMterpDefaultIBase(artMterpAsmInstructionStart);
self->SetMterpAltIBase(artMterpAsmAltInstructionStart);
- self->SetMterpCurrentIBase(artMterpAsmInstructionStart);
+ self->SetMterpCurrentIBase(TraceExecutionEnabled() ?
+ artMterpAsmAltInstructionStart :
+ artMterpAsmInstructionStart);
}
/*
@@ -445,6 +447,7 @@ extern "C" void MterpCheckBefore(Thread* self, ShadowFrame* shadow_frame)
} else {
self->AssertNoPendingException();
}
+ TraceExecution(*shadow_frame, inst, shadow_frame->GetDexPC());
}
extern "C" void MterpLogDivideByZeroException(Thread* self, ShadowFrame* shadow_frame)