From a7c12688da57ea052e127776ad3043ca5079488d Mon Sep 17 00:00:00 2001 From: buzbee Date: Mon, 19 Mar 2012 13:13:53 -0700 Subject: Restore card marking, minor tuning Restore GC card marks that were mistakenly dropped during an earlier retructuring. Add debugging to code to gather opcode frequency statics. Minor tuning for code size. Change-Id: I117f62c29e29250277166e7f005706e27998f77a --- src/compiler/codegen/GenCommon.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/compiler/codegen/GenCommon.cc') diff --git a/src/compiler/codegen/GenCommon.cc b/src/compiler/codegen/GenCommon.cc index 52ff3d79a1..cc0d624099 100644 --- a/src/compiler/codegen/GenCommon.cc +++ b/src/compiler/codegen/GenCommon.cc @@ -1049,6 +1049,9 @@ void genIPut(CompilationUnit* cUnit, MIR* mir, OpSize size, RegLocation rlSrc, if (isVolatile) { oatGenMemBarrier(cUnit, kSY); } + if (isObject) { + markGCCard(cUnit, rlSrc.lowReg, rlObj.lowReg); + } } } else { int setterOffset = isLongOrDouble ? OFFSETOF_MEMBER(Thread, pSet64Instance) : @@ -1434,6 +1437,7 @@ void genArrayObjPut(CompilationUnit* cUnit, MIR* mir, RegLocation rlArray, } storeBaseIndexed(cUnit, regPtr, rlIndex.lowReg, rlSrc.lowReg, scale, kWord); + markGCCard(cUnit, rlSrc.lowReg, rlArray.lowReg); } /* -- cgit v1.2.3-59-g8ed1b