From 439c4fa0db980fb19e4a585723a64a3461e4c278 Mon Sep 17 00:00:00 2001 From: buzbee Date: Sat, 27 Aug 2011 15:59:07 -0700 Subject: 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 --- src/compiler/codegen/arm/MethodCodegenDriver.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc') 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) { -- cgit v1.2.3-59-g8ed1b