From c0fe6c7dcc3d5269d2c7dcffafe8b0741f6b8bca Mon Sep 17 00:00:00 2001 From: buzbee Date: Sun, 18 Sep 2011 20:19:14 -0700 Subject: Fix manyargs test Had the src & dst backwards in the argument copying case > 20 arguments. Change-Id: I0247c4ac2992d4505277a773cfbf65edc7d57695 --- src/compiler/codegen/arm/MethodCodegenDriver.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (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 1b7e4ed1a4..f42237a235 100644 --- a/src/compiler/codegen/arm/MethodCodegenDriver.cc +++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc @@ -830,9 +830,9 @@ static int genDalvikArgsRange(CompilationUnit* cUnit, MIR* mir, int startOffset = cUnit->regLocation[mir->ssaRep->uses[3]].spOffset; int outsOffset = 4 /* Method* */ + (3 * 4); if (numArgs >= 20) { - // Generate memcpy, but first make sure all of - opRegRegImm(cUnit, kOpAdd, r0, rSP, startOffset); - opRegRegImm(cUnit, kOpAdd, r1, rSP, outsOffset); + // Generate memcpy + opRegRegImm(cUnit, kOpAdd, r0, rSP, outsOffset); + opRegRegImm(cUnit, kOpAdd, r1, rSP, startOffset); loadWordDisp(cUnit, rSELF, OFFSETOF_MEMBER(Thread, pMemcpy), rLR); loadConstant(cUnit, r2, (numArgs - 3) * 4); callNoUnwindHelper(cUnit, rLR); -- cgit v1.2.3-59-g8ed1b