After guarding memory allocation with heap lock, memory usage counting also under heap lock or executed by VM thread during a safepoint. http://cr.openjdk.java.net/~zgu/shenandoah/memory_counting/webrev.00/ Test: specjvm derby with fastdebug. Thanks, -Zhengyu