diff options
| author | buzbee <buzbee@google.com> | 2010-09-30 23:30:55 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2010-09-30 23:30:55 -0700 |
| commit | abdb2ee3757214111110aa570f4c3670e3ecf675 (patch) | |
| tree | edbcaeaabd18488bc92a5238faa33a30eafd8f2c /vm/compiler/codegen | |
| parent | 8f79fa093f1e63d8eb61c3b71899ab4e92db2eaa (diff) | |
| parent | 7c1f9b34d49aa7cea9b830226e33e95d7608cf76 (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')
| -rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.c | 8 |
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); } |
