OSDN Git Service

Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""
authorBill Buzbee <buzbee@google.com>
Fri, 5 Feb 2016 14:08:10 +0000 (14:08 +0000)
committerbuzbee <buzbee@google.com>
Tue, 9 Feb 2016 15:48:28 +0000 (07:48 -0800)
commit9687f244bdb5dd0b4d9dd804a7c8c7b4a911d364
treea1704a3aab0407a37a7ae407c2e8ed23259901d6
parent27ec302da670ffddaf1278b5b7155b7742aa37fd
Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""

Fixes: missing sign extension in iget template
       Call to wrong branch profiling helper in arm/goto_16 and arm/goto_32
       Missing export PCs
Reworks: Branch handlers to reduce cost of branch profiling.

Re-enables Jit profiling for both Arm and Arm64.

Performance note:
Branch profiling is relatively expensive, though the real
cost will depend on branch frequency.  Taking a very
branch intensive benchmark, CaffeineMark's logic test, we
see the following scores (higher is better):

Mterp  (profiling off) 6187
Mterp  (profiling on)  4305

Switch (profiling off) 3931
Switch (profiling on)  2032

This reverts commit 95717f0010e7a9445450f4d39babfaf3a83e29b5.

Change-Id: Ia2ef8b54ce95bfa86178b89c43f8a703316b2944
22 files changed:
runtime/instrumentation.h
runtime/interpreter/interpreter.cc
runtime/interpreter/mterp/arm/bincmp.S
runtime/interpreter/mterp/arm/footer.S
runtime/interpreter/mterp/arm/header.S
runtime/interpreter/mterp/arm/op_goto.S
runtime/interpreter/mterp/arm/op_goto_16.S
runtime/interpreter/mterp/arm/op_goto_32.S
runtime/interpreter/mterp/arm/op_packed_switch.S
runtime/interpreter/mterp/arm/zcmp.S
runtime/interpreter/mterp/arm64/bincmp.S
runtime/interpreter/mterp/arm64/footer.S
runtime/interpreter/mterp/arm64/header.S
runtime/interpreter/mterp/arm64/op_goto.S
runtime/interpreter/mterp/arm64/op_goto_16.S
runtime/interpreter/mterp/arm64/op_goto_32.S
runtime/interpreter/mterp/arm64/op_iget.S
runtime/interpreter/mterp/arm64/op_packed_switch.S
runtime/interpreter/mterp/arm64/zcmp.S
runtime/interpreter/mterp/mterp.cc
runtime/interpreter/mterp/out/mterp_arm.S
runtime/interpreter/mterp/out/mterp_arm64.S