summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/MethodCodegenDriver.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2011-08-27 15:59:07 -0700
committer buzbee <buzbee@google.com> 2011-08-27 15:59:07 -0700
commit439c4fa0db980fb19e4a585723a64a3461e4c278 (patch)
treeb8173fa296eaf53b5b1bc2b2fd743998446fcfb1 /src/compiler/codegen/arm/MethodCodegenDriver.cc
parente6d6196822952a9ccbb6ac2a97f4e3ae5e59705b (diff)
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
Diffstat (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc')
-rw-r--r--src/compiler/codegen/arm/MethodCodegenDriver.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index 1cf37664d4..4106e1ddeb 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -25,6 +25,11 @@ static void genNewArray(CompilationUnit* cUnit, MIR* mir, RegLocation rlDest,
RegLocation rlSrc)
{
oatFlushAllRegs(cUnit); /* All temps to home location */
+ UNIMPLEMENTED(WARNING) << "Need to handle unresolved";
+ /*
+ * Need new routine that passes Method*, type index, length.
+ * This is unconditional - always go this way.
+ */
Class* classPtr = cUnit->method->GetDeclaringClass()->GetDexCache()->
GetResolvedType(mir->dalvikInsn.vC);
if (classPtr == NULL) {