diff options
| author | 2013-09-11 14:33:18 +0200 | |
|---|---|---|
| committer | 2013-09-18 09:24:45 +0200 | |
| commit | 3b588e09eac6fb2aff64595e2232e479703850fc (patch) | |
| tree | 6a6608e3fa027631715e3da671859daed222c6f2 /compiler/llvm/compiler_llvm.cc | |
| parent | 3523909c99a27729d9a0d6fe3624f09dfadf351c (diff) | |
Optimize instruction data fetch in interpreter.
The computed goto implementation prevents the compiler from detecting we are
loading the first 16 bits of instruction twice: first one to get the opcode and
second one to fetch first instruction's operand(s) like vA and vB.
We now load the 16 bits into a local variable and decode opcode and operands
from this variable. And do the same in the switch-based implementation for
consistency.
The performance improvement is 5% in average on benchmark applications suite.
Also remove unused "Thread* self" parameter from DoIGetQuick and DoIPutQuick.
Bug: 10703860
Change-Id: I83026ed6e78f642ac3dcdc6edbb6056fe012005f
Diffstat (limited to 'compiler/llvm/compiler_llvm.cc')
0 files changed, 0 insertions, 0 deletions