Quick compiler: various bug fixes
o Use appropriate size immediate for placeholder Values.
o Turn unexpected MOVE_RESULT into a warning for x86 (still need to
implement this)
o Use the correct iput value to determine value type.
o I've identified a bug with SSA renaming that shows up in three methods
while doing a full build. Disable bitcode conversion for them until
the fix is in place.
Change-Id: I2762c913d83ef53b8b68dcde51fbe8463f209591
diff --git a/src/compiler/Frontend.cc b/src/compiler/Frontend.cc
index 3924f45..236ab86 100644
--- a/src/compiler/Frontend.cc
+++ b/src/compiler/Frontend.cc
@@ -763,9 +763,17 @@
cUnit->numRegs = code_item->registers_size_ - cUnit->numIns;
cUnit->numOuts = code_item->outs_size_;
#if defined(ART_USE_QUICK_COMPILER)
-#if defined(TARGET_ARM)
- cUnit->genBitcode = true;
-#endif
+ // TODO: fix bug and remove this workaround
+ std::string methodName = PrettyMethod(method_idx, dex_file);
+ if ((methodName.find("gdata2.AndroidGDataClient.createAndExecuteMethod")
+ != std::string::npos) || (methodName.find("hG.a") != std::string::npos)
+ || (methodName.find("hT.a(hV, java.lang.String, java.lang.String, java")
+ != std::string::npos) || (methodName.find("AndroidHttpTransport.exchange")
+ != std::string::npos)) {
+ LOG(INFO) << "Skipping bitcode generation for " << methodName;
+ } else {
+ cUnit->genBitcode = true;
+ }
#endif
/* Adjust this value accordingly once inlining is performed */
cUnit->numDalvikRegisters = code_item->registers_size_;