Review Request: 8011872: Include Bit Map addresses in the hs_err files

Stefan Karlsson stefan.karlsson at oracle.com
Wed Apr 10 14:58:44 UTC 2013


http://cr.openjdk.java.net/~stefank/8011872/webrev.00/

I propose that we start logging the placement of the bitmaps hs_err 
crash files.

This will help identifies bugs where we have memory trashing in the 
bitmaps. Today, we have this kind of information for the card table but 
it's lacking for the bitmaps.

Example outputs:

-XX:+UseParallelOldGC:
Marking Bits: (ParMarkBitMap*) 0x00007ffff73a85e0
  Begin Bits: [0x00007fffe4200000, 0x00007fffe60b8000)
  End Bits:   [0x00007fffe60b8000, 0x00007fffe7f70000)

-XX:+UseG1GC:
Marking Bits (Prev, Next): (CMBitMap*) 0x00007ffff0059628, (CMBitMap*) 
0x00007ffff00596c0
  Prev Bits: [0x00007fffc5290000, 0x00007fffc7148000)
  Next Bits: [0x00007fffa2147000, 0x00007fffa3fff000)

-XX:+UseConcMarkSweepGC:
Marking Bits: (CMSBitMap*) 0x00007ffff00b0ee8
  Bits: [0x00007fffce7f1000, 0x00007fffcfc6e800)

Mod Union Table: (CMSBitMap*) 0x00007ffff00b0f88
  Bits: [0x00007ffff405c000, 0x00007ffff40adf60)

Note that for simplicity this logs the memory used by the low level 
datastructure BitMap, and not the memory allocated in the GC specific 
bitmap data structures (E.g. CMBitMap). What this means is that we 
actually allocate up to about os::vm_allocation_granularity() more memoy 
at the end of the bitmap. If this information is essential we can add it 
later.

thanks,
StefanK



More information about the hotspot-gc-dev mailing list