diff options
| author | 2011-08-27 15:59:07 -0700 | |
|---|---|---|
| committer | 2011-08-27 15:59:07 -0700 | |
| commit | 439c4fa0db980fb19e4a585723a64a3461e4c278 (patch) | |
| tree | b8173fa296eaf53b5b1bc2b2fd743998446fcfb1 /src/compiler/codegen/arm/MethodCodegenDriver.cc | |
| parent | e6d6196822952a9ccbb6ac2a97f4e3ae5e59705b (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.cc | 5 |
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) { |