Revision: 15716
http://jikesrvm.svn.sourceforge.net/jikesrvm/?rev=15716&view=revAuthor: dframpton-oss
Date: 2009-06-27 04:53:58 +0000 (Sat, 27 Jun 2009)
Log Message:
-----------
Fix for RVM-833. Modify check was broken for long/double values.
Modified Paths:
--------------
rvmroot/trunk/rvm/src/org/jikesrvm/compilers/baseline/ia32/BaselineCompilerImpl.java
Modified: rvmroot/trunk/rvm/src/org/jikesrvm/compilers/baseline/ia32/BaselineCompilerImpl.java
===================================================================
--- rvmroot/trunk/rvm/src/org/jikesrvm/compilers/baseline/ia32/BaselineCompilerImpl.java 2009-06-23 12:08:56 UTC (rev 15715)
+++ rvmroot/trunk/rvm/src/org/jikesrvm/compilers/baseline/ia32/BaselineCompilerImpl.java 2009-06-27 04:53:58 UTC (rev 15716)
@@ -754,7 +754,7 @@
*/
@Override
protected final void emit_lastore() {
- Barriers.compileModifyCheck(asm, 3*WORDSIZE);
+ Barriers.compileModifyCheck(asm, 12);
if (VM.BuildFor32Addr) {
if (SSE2_BASE) {
asm.emitMOVQ_Reg_RegInd(XMM0,SP); // XMM0 is the value
@@ -2850,6 +2850,7 @@
*/
@Override
protected final void emit_unresolved_putfield(FieldReference fieldRef) {
+ Barriers.compileModifyCheck(asm, fieldRef.getNumberOfStackSlots() * WORDSIZE);
TypeReference fieldType = fieldRef.getFieldContentsType();
emitDynamicLinkingSequence(asm, T0, fieldRef, true);
if (fieldType.isReferenceType()) {
@@ -2920,9 +2921,9 @@
*/
@Override
protected final void emit_resolved_putfield(FieldReference fieldRef) {
+ Barriers.compileModifyCheck(asm, fieldRef.getNumberOfStackSlots() * WORDSIZE);
RVMField field = fieldRef.peekResolvedField();
Offset fieldOffset = field.getOffset();
- Barriers.compileModifyCheck(asm, 4);
if (field.isReferenceType()) {
// 32/64bit reference store
if (MemoryManagerConstants.NEEDS_WRITE_BARRIER && !field.isUntraced()) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
Jikesrvm-commits mailing list
Jikesrvm-commits@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-commits