summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/GenCommon.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2012-07-10 15:18:31 -0700
committer buzbee <buzbee@google.com> 2012-07-10 19:19:27 -0700
commitf1f863695b28f630abb772f50170fefaddc2fb91 (patch)
tree9a5bdda08897530e998484a2a400ac34ff7962f4 /src/compiler/codegen/GenCommon.cc
parentdcfdd2b03af29dcaf234d062a79acb919f130435 (diff)
Quick compiler - fix run-test 019
Two problems: 1. Was treating an array object store as a regular array store 2. Codegen bug that (somewhat disturbingly) existed in the non-quick code. I'm a little surprised that it hadn't shown up before now, but it would tend to be masked if the array base register in question was promoted. Change-Id: I62bcb866174538ceedcc1309edcf22261237840a
Diffstat (limited to 'src/compiler/codegen/GenCommon.cc')
-rw-r--r--src/compiler/codegen/GenCommon.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/codegen/GenCommon.cc b/src/compiler/codegen/GenCommon.cc
index 40c0f22fa9..9082a49ad3 100644
--- a/src/compiler/codegen/GenCommon.cc
+++ b/src/compiler/codegen/GenCommon.cc
@@ -1439,7 +1439,7 @@ void genArrayObjPut(CompilationUnit* cUnit, int optFlags, RegLocation rlArray,
int regLen = INVALID_REG;
if (needsRangeCheck) {
regLen = rARG1;
- loadWordDisp(cUnit, rlArray.lowReg, lenOffset, regLen); // Get len
+ loadWordDisp(cUnit, rArray, lenOffset, regLen); // Get len
}
/* rPtr -> array data */
int rPtr = oatAllocTemp(cUnit);