# HG changeset patch # User Doug Simon # Date 1367871148 -7200 # Node ID 7df076e74e8e9607c00126e5c989872544b15e2d # Parent d84ea522800e93c5cf77dff2e549004158aa525f fixed bug in updating of VerifyOops counter diff -r d84ea522800e -r 7df076e74e8e graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java Mon May 06 22:07:48 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java Mon May 06 22:12:28 2013 +0200 @@ -367,9 +367,8 @@ */ public static Object verifyObject(Object object) { if (verifyOops()) { - // TODO (ds) The counter read is ok but the write causes a segv - find out why - // Word verifyOopCounter = Word.unsigned(verifyOopCounterAddress()); - // verifyOopCounter.writeInt(0, verifyOopCounter.readInt(0) + 1); + Word verifyOopCounter = Word.unsigned(verifyOopCounterAddress()); + verifyOopCounter.writeInt(0, verifyOopCounter.readInt(0) + 1); Pointer oop = Word.fromObject(object); if (object != null) { diff -r d84ea522800e -r 7df076e74e8e src/share/vm/graal/graalCompilerToVM.cpp --- a/src/share/vm/graal/graalCompilerToVM.cpp Mon May 06 22:07:48 2013 +0200 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Mon May 06 22:12:28 2013 +0200 @@ -741,7 +741,7 @@ set_boolean("tlabStats", TLABStats); set_boolean("inlineContiguousAllocationSupported", !CMSIncrementalMode && Universe::heap()->supports_inline_contig_alloc()); - set_long("verifyOopCounterAddress", (jlong)(address) StubRoutines::verify_oop_count_addr); + set_long("verifyOopCounterAddress", (jlong)(address) StubRoutines::verify_oop_count_addr()); set_long("verifyOopMask", Universe::verify_oop_mask()); set_long("verifyOopBits", Universe::verify_oop_bits());