Support to generate inline long to FP bytecodes for x86
long-to-float and long-to-double are now generated inline instead of calling
a helper routine. The conversion is done by using x87.
Change-Id: I196e526afec1be212898baceca8527549c3655b6
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
diff --git a/compiler/dex/quick/ralloc_util.cc b/compiler/dex/quick/ralloc_util.cc
index eb70d8c..0a65171 100644
--- a/compiler/dex/quick/ralloc_util.cc
+++ b/compiler/dex/quick/ralloc_util.cc
@@ -545,15 +545,19 @@
}
}
+void Mir2Lir::FlushSpecificReg(RegisterInfo* info) {
+ if (info->pair) {
+ FlushRegWide(info->reg, info->partner);
+ } else {
+ FlushReg(info->reg);
+ }
+}
+
// Make sure nothing is live and dirty
void Mir2Lir::FlushAllRegsBody(RegisterInfo* info, int num_regs) {
for (int i = 0; i < num_regs; i++) {
if (info[i].live && info[i].dirty) {
- if (info[i].pair) {
- FlushRegWide(info[i].reg, info[i].partner);
- } else {
- FlushReg(info[i].reg);
- }
+ FlushSpecificReg(&info[i]);
}
}
}