Dex compiler: re-enable method pattern matching
The dex compiler's mechanism to detect simple methods and emit
streamlined code was disabled during the last big restructuring
(there was a question of how to make it useful for Portable as
well as Quick). This CL does not address the Portable question,
but turns the optimization back on for Quick.
See b/9428200
Change-Id: I9f25b41219d7a243ec64efb18278e5a874766f4d
diff --git a/compiler/dex/quick/codegen_util.cc b/compiler/dex/quick/codegen_util.cc
index 630e294..9e9b39e 100644
--- a/compiler/dex/quick/codegen_util.cc
+++ b/compiler/dex/quick/codegen_util.cc
@@ -950,16 +950,13 @@
/* Allocate Registers using simple local allocation scheme */
SimpleRegAlloc();
- //FIXME: re-enable by retrieving from mir_graph
- SpecialCaseHandler special_case = kNoHandler;
-
- if (special_case != kNoHandler) {
+ if (mir_graph_->IsSpecialCase()) {
/*
* Custom codegen for special cases. If for any reason the
* special codegen doesn't succeed, first_lir_insn_ will
* set to NULL;
*/
- SpecialMIR2LIR(special_case);
+ SpecialMIR2LIR(mir_graph_->GetSpecialCase());
}
/* Convert MIR to LIR, etc. */