Depth first object copying for all GC?

Jon Masamitsu jon.masamitsu at oracle.com
Thu May 7 18:51:43 UTC 2015



On 05/06/2015 07:56 PM, Tangwei (Euler Architecture & Design Dept) wrote:
>
> Would you help to list the object copying policy for different GC?  Or 
> pointing out where to find such information?
>

For the most part UseParallelGC and UseG1GC has depth-first copying.  
UseConcMarkSweepGC
and UseSerialGC use breadth-first.  I qualify that because I've heard 
people argue about whether
that's 100% true.

Jon

> Regards!
>
> wei
>
> *From:*hotspot-gc-dev [mailto:hotspot-gc-dev-bounces at openjdk.java.net] 
> *On Behalf Of * Jon Masamitsu
> *Sent:* Thursday, May 07, 2015 8:23 AM
> *To:* hotspot-gc-dev at openjdk.java.net
> *Subject:* Re: Depth first object copying for all GC?
>
> On 5/6/2015 4:34 AM, Tangwei (Euler Architecture & Design Dept) wrote:
>
>     Hi All,
>
>       As a newbie in GC, I found some discussion on object copying
>     order in following slides: breadth vs. depth.
>
>     It mentioned that /“Any static policy will hurt some applications
>     and help others”. /After searching, there is a BZ shows
>
>     the object copying order has been switched from breadth to depth
>     for ParallelGC in OpenJDK, please correct if I am wrong.
>
>     Anyone can help to confirm if all GC in OpenJDK use depth first
>     copying now?
>
>
> No, not all the GC's use depth first copying.
>
>
> Is there any performance consideration to choose depth first instead 
> of controlling by option?
>
>
> Yes, there is a performance cost to optionally using depth-first or 
> breadth-first.
> ParallelGC used to have such an option.  It made the code harder to 
> maintain and,
> as far as I can recall, there was very little use of the option.  We 
> removed the
> it.  I recall maybe 1 complaint about it.
>
> Jon
>
>
> http://www.oracle.com/technetwork/server-storage/ts-6434-159339.pdf
>
> https://bugs.openjdk.java.net/browse/JDK-6450584: Improve object 
> copying order in parallel scavenge
>
> Regards!
>
> wei
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150507/6ff17500/attachment.htm>


More information about the hotspot-gc-dev mailing list