RFR (M): 7163191 G1: introduce a "heap spanning table" abstraction
Thomas Schatzl
thomas.schatzl at oracle.com
Thu Aug 29 20:08:41 UTC 2013
Hi all,
can I have reviews for the following change?
It implements a generic class that allows mapping of subdivision of the
Java heap to single elements of an array. It provides a biased pointer
for fast access and some convenience functions.
Possible applications are mappings from heap addresses to HeapRegion
instances (the heap spanning table), the "fast CSet" tables to detect
whether a region is in the collection set and others.
This change implements the heap spanning table using this new "biased
array" instead of manual management/setup of the array.
John Cuthbertson already had a stab at it, polishing a change from Tony
Printezis. This change is mostly a rewrite, as internal discussion found
that moving some functionality of HeapRegionSeq, the watermark, into
that generic "biased array" was undesirable.
The original mail thread starts here:
http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2013-February/005937.html
The main change is in the new file G1BiasedArray.hpp, providing the new
functionality. Everything else is use of that new data structure (an
instance of G1BiasedMappedArray<HeapRegion*>) in the HeapRegionSeq
class, and resulting cleanup.
bugs.sun.com
http://bugs.sun.com/view_bug.do?bug_id=7163191
Webrev:
http://cr.openjdk.java.net/~tschatzl/7163191/webrev/
Testing:
jprt, dacapo benchmarks
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list