summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/builder.h
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2014-11-24 23:28:39 -0800
committerAndreas Gampe <agampe@google.com>2014-12-04 17:08:45 +0000
commitd881df5aad7950a185480876951762c1f60ea708 (patch)
tree4609e13b55cf8a4525cb54682eee75ec710bd216 /compiler/optimizing/builder.h
parent8b9a97e8b6ed97ff1991596cbd0f7ce78f004766 (diff)
downloadart-d881df5aad7950a185480876951762c1f60ea708.tar.gz
art-d881df5aad7950a185480876951762c1f60ea708.tar.bz2
art-d881df5aad7950a185480876951762c1f60ea708.zip
ART: Add PackedSwitch support to the optimizing compiler
Add simple packed-switch support through chained IFs. Now enables compiled versions of 015-switch and 095-switch-MAX_INT. Change-Id: I17cc8d659d1dd2d64227851c23998c04367e8cf5
Diffstat (limited to 'compiler/optimizing/builder.h')
-rw-r--r--compiler/optimizing/builder.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h
index 8519bcba60..0e46899d91 100644
--- a/compiler/optimizing/builder.h
+++ b/compiler/optimizing/builder.h
@@ -202,6 +202,10 @@ class HGraphBuilder : public ValueObject {
uint16_t type_index,
uint32_t dex_pc);
+ // Builds an instruction sequence for a packed switch statement. This will punt to the interpreter
+ // for a switch with a full 64k set of cases.
+ bool BuildPackedSwitch(const Instruction& instruction, uint32_t dex_pc);
+
ArenaAllocator* const arena_;
// A list of the size of the dex code holding block information for