Various bug fixes.
The most amusing fix was the wierd NaN test failure. After spending way
too much time debugging, it turned out to be a missing comma in the argument
list of the test launcher.
Change-Id: I76253575d7fbe2c2c260f1839a517c1b93dc9224
diff --git a/src/compiler/codegen/arm/Thumb2/Gen.cc b/src/compiler/codegen/arm/Thumb2/Gen.cc
index 2239bd9..992eca6 100644
--- a/src/compiler/codegen/arm/Thumb2/Gen.cc
+++ b/src/compiler/codegen/arm/Thumb2/Gen.cc
@@ -342,7 +342,7 @@
loadValueDirectFixed(cUnit, rlSrc, r0);
loadWordDisp(cUnit, rSELF,
OFFSETOF_MEMBER(Thread, pArtHandleFillArrayDataNoThrow), rLR);
- // Materialize a pointer to the switch table
+ // Materialize a pointer to the fill data image
newLIR3(cUnit, kThumb2AdrST, r1, 0, (intptr_t)tabRec);
opReg(cUnit, kOpBlx, rLR);
oatClobberCallRegs(cUnit);
@@ -1358,11 +1358,6 @@
oatFlushAllRegs(cUnit); /* Send everything to home location */
loadWordDisp(cUnit, rSELF, funcOffset, rLR);
loadValueDirectWideFixed(cUnit, rlSrc1, r0, r1);
- if (rlShift.wide) {
- LOG(WARNING) << "Invalid RegLocation size - dataflow problem";
- LOG(WARNING) << " sReg[" << rlShift.sRegLow << "]";
- rlShift.wide = false;
- }
loadValueDirect(cUnit, rlShift, r2);
opReg(cUnit, kOpBlx, rLR);
oatClobberCallRegs(cUnit);