Move 64-bit multiplication to helper
We're right on the edge for supporting inline 64-bit arithmetic
with our current temp register pool allocation. Moving 64-bit multiplication
out of line to sidestep the problem, and added some temp frees to
3-operand long ops. In the latter case there was a potential problem
if the result long was located in a part of the frame not in the range
of a single base+displacement store.
Change-Id: I6f8e0a11b440ed35e08f2e3457de6cbea89cfccc
diff --git a/src/compiler_test.cc b/src/compiler_test.cc
index 2a47936..6a2f81e 100644
--- a/src/compiler_test.cc
+++ b/src/compiler_test.cc
@@ -172,7 +172,7 @@
TEST_F(CompilerTest, LongOperTest) {
CompileDex(kIntMathDex, "kIntMathDex");
AssertStaticIntMethod("IntMath", "longOperTest", "(JJ)I", 0,
- 70000000000LL, 3);
+ 70000000000LL, -3LL);
}
TEST_F(CompilerTest, LongShiftTest) {
@@ -235,7 +235,7 @@
19, 20LL, 21LL, 22, 23, 24, 25, 26);
}
-#if 0 // White-list needs some work, must allow some virtual methods through
+#if 0 // Need bdc's new Alloc(Method*, type_idx, [length])
TEST_F(CompilerTest, VirtualCall) {
CompileDex(kIntMathDex, "kIntMathDex");
AssertStaticIntMethod("IntMath", "staticCall", "(I)I", 6,