RFR: 8154096: Extend WhiteBox API with methods which retrieve from VM information about available GC
Kirill Zhaldybin
kirill.zhaldybin at oracle.com
Fri Apr 22 14:24:11 UTC 2016
Dmitry,
http://cr.openjdk.java.net/~dfazunen/8154096/webrev.00/test/test/lib/sun/hotspot/WhiteBox.java.sdiff.html
157 // GC
158 /**
159 * @returns true if GC was selected by ergonomic
160 */
161 public boolean gcSelectedByErgo() {
162 if (getSupportedGC().size() < 2) {
163 return false; // nothing to choose from
164 } else {
165 return gcSelectedByErgo0();
166 }
167 }
If only one GC is supported why it cannot be selected by ergonomics?
My understanding that if jvm is started without gc flag gc is selected
by ergonomics even if there is only one supported gc.
Thank you.
Regards, Kirill
On 13.04.2016 17:54, Dmitry Fazunenko wrote:
> Hello,
>
> I'm looking for a couple of reviews of the change extending the WhiteBox
> API to retrieve information about
> supported collectors and how the collector was selected.
>
> https://bugs.openjdk.java.net/browse/JDK-8154096
> http://cr.openjdk.java.net/~dfazunen/8154096/webrev.00/
>
> This change is required to improve work of the jtreg @requires. Now
> jtreg sets vm.gc property
> based on the given flags (matching VM options for -XX:+Use???GC
> pattern). The extended WhitBox API
> will allow us to set properties like:
> vm.supportsSerialGC
> vm.supportsParallelGC
> vm.supportsConcMarkSweeGC
> vm.supportsG1GC
>
> And use in test more reliable expression:
> @requires vm.supportsG1GC
> instead of
> @requires vm.gc == null | vm.gc == "G1"
>
> The following CRs are blocked by this RFE.
> JDK-8151283 <https://bugs.openjdk.java.net/browse/JDK-8151283>:
> Implement setting jtreg @requires property vm.isG1Supported.
> JDK-8153758 <https://bugs.openjdk.java.net/browse/JDK-8153758> :
> @requires should use more accurate GC type parsing.
>
> Tested locally.
>
> Thanks,
> Dima
More information about the hotspot-gc-dev
mailing list