aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.c
diff options
context:
space:
mode:
authorbuzbee <buzbee@google.com>2010-09-30 23:30:55 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-30 23:30:55 -0700
commitabdb2ee3757214111110aa570f4c3670e3ecf675 (patch)
treeedbcaeaabd18488bc92a5238faa33a30eafd8f2c /vm/compiler/codegen/arm/CodegenDriver.c
parent8f79fa093f1e63d8eb61c3b71899ab4e92db2eaa (diff)
parent7c1f9b34d49aa7cea9b830226e33e95d7608cf76 (diff)
am 7c1f9b34: resolved conflicts for merge of 6d55b332 to master
Merge commit '7c1f9b34d49aa7cea9b830226e33e95d7608cf76' into dalvik-dev * commit '7c1f9b34d49aa7cea9b830226e33e95d7608cf76': GC Card marking fix for SPUT_OBJECT - use correct object head
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index 44f47b778..2d92d8837 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -1544,20 +1544,20 @@ static bool handleFmt21c_Fmt31c(CompilationUnit *cUnit, MIR *mir)
rlSrc = dvmCompilerGetSrc(cUnit, mir, 0);
rlSrc = loadValue(cUnit, rlSrc, kAnyReg);
- loadConstant(cUnit, tReg, (int) fieldPtr + valOffset);
+ loadConstant(cUnit, tReg, (int) fieldPtr);
if (isSputObject) {
objHead = dvmCompilerAllocTemp(cUnit);
- loadConstant(cUnit, objHead, (intptr_t)method->clazz);
+ loadWordDisp(cUnit, tReg, offsetof(Field, clazz), objHead);
}
HEAP_ACCESS_SHADOW(true);
- storeWordDisp(cUnit, tReg, 0 ,rlSrc.lowReg);
+ storeWordDisp(cUnit, tReg, valOffset ,rlSrc.lowReg);
dvmCompilerFreeTemp(cUnit, tReg);
HEAP_ACCESS_SHADOW(false);
if (isVolatile) {
dvmCompilerGenMemBarrier(cUnit);
}
if (isSputObject) {
- /* NOTE: marking card based object head */
+ /* NOTE: marking card based sfield->clazz */
markCard(cUnit, rlSrc.lowReg, objHead);
dvmCompilerFreeTemp(cUnit, objHead);
}