summaryrefslogtreecommitdiff
path: root/compiler/utils/bit_vector.h
diff options
context:
space:
mode:
author Sebastien Hertz <shertz@google.com> 2013-09-27 11:48:09 +0200
committer Sebastien Hertz <shertz@google.com> 2013-09-30 09:17:23 +0200
commit9ace87b47a756d519e8897d6c1f0f4664ed82f86 (patch)
tree41e805925e7c338ddc8ae97cbc8c0f82fb316a9d /compiler/utils/bit_vector.h
parentc61124bdeaae94f977ffc36ac69535e792c226f2 (diff)
Optimize shadow frame initialization during invoke.
This CL improves the initialization of the new shadow frame (callee) from the current shadow frame (caller) following invoke format (non-range or range). This also removes the use of Instruction::GetArgs for non-range invoke when we can go the fast route (no use of shorty). This avoids decoding arguments into the stack from the instruction and then read these arguments from the stack. We now do both at once. Note the slow path (doing runtime checks) is not modified since it should be rarely used. Performance improved by 3% in average on our benchmarks. Good news it is more important on benchmark doing lots of invokes: - Dhrystone: +11% - DeltaBlue: +7% - CaffeineMark Method: +16% Bug: 10668955 Change-Id: I5c230777b2388a78dca7b3a88189e007c1c2bb7a
Diffstat (limited to 'compiler/utils/bit_vector.h')
0 files changed, 0 insertions, 0 deletions