summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_builder.h
diff options
context:
space:
mode:
authorMingyao Yang <mingyao@google.com>2017-02-03 12:09:57 -0800
committerMingyao Yang <mingyao@google.com>2017-03-08 10:15:06 -0800
commit01b47b046b01ec68696f8ff61b5326cdd3af348e (patch)
treee526306fc89bf6fb04ff914e24343dde0369e98c /compiler/optimizing/instruction_builder.h
parentdcab11d06860ae1e23d03926adb6c31f75404032 (diff)
Inlining a few small methods based on profiling dex2oat with perf.
Test: m test-art-host Change-Id: I6313158e59592d8d132154523be9c82dda3c7eb8
Diffstat (limited to 'compiler/optimizing/instruction_builder.h')
-rw-r--r--compiler/optimizing/instruction_builder.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_builder.h b/compiler/optimizing/instruction_builder.h
index e735a0c46d..7fdc1883ca 100644
--- a/compiler/optimizing/instruction_builder.h
+++ b/compiler/optimizing/instruction_builder.h
@@ -93,6 +93,10 @@ class HInstructionBuilder : public ValueObject {
HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const;
ArenaVector<HInstruction*>* GetLocalsFor(HBasicBlock* block);
+ // Out of line version of GetLocalsFor(), which has a fast path that is
+ // beneficial to get inlined by callers.
+ ArenaVector<HInstruction*>* GetLocalsForWithAllocation(
+ HBasicBlock* block, ArenaVector<HInstruction*>* locals, const size_t vregs);
HInstruction* ValueOfLocalAt(HBasicBlock* block, size_t local);
HInstruction* LoadLocal(uint32_t register_index, Primitive::Type type) const;
HInstruction* LoadNullCheckedLocal(uint32_t register_index, uint32_t dex_pc);