RFR (S) 8024517: runtime/CDSCompressedKPtrs/XShareAuto.java failed with RuntimeException
harold seigel
harold.seigel at oracle.com
Mon Sep 16 07:53:04 PDT 2013
Hi David,
Thanks for the review.
My proposed fix maintains the current behavior for the client VM, which
is that CDS is off by default if running on a server class machine.
(Fwiw: the test for server class machine (os::is_server_class_machine())
usually returns FALSE for c1 because NeverActAsServerClassMachine
defaults to TRUE for c1 for arm, x86, ppc, and Sparc.)
The fix only changes the behavior for -server. Previously, CDS was off
by default for -server only if the JVM was running on a server class
machine. With this change, CDS will always be off by default when
-server is specified. The fix implements this change by no longer
checking for a server class machine when running the server VM.
The test failure reported in the bug occurred because the test was run
with -server on a non server class machine and CDS was not disabled as
expected.
Thanks, Harold
On 9/14/2013 3:41 AM, David Holmes wrote:
> Hi Harold,
>
> Sorry I am a bit confused about the problem and solution. CDS should
> be off when using the server VM - right? But this code:
>
> ! #ifndef COMPILER2
> ! if (is_server_class_mach)
> ! #endif
>
> only affects the client VM, so you seem to be saying that CDS should
> be off on a client VM when running on a server class machine ???
>
> David
>
> On 14/09/2013 5:05 AM, harold seigel wrote:
>> Hi,
>>
>> Please review this small fix for bug 8024517. This test failed when run
>> on a small system because CDS was not disabled by default. Although the
>> test was run with '-server', CDS was not disabled because function
>> os::is_server_class_machine() returned FALSE. This fix disables CDS by
>> default if either os::is_server_class_machine() returns TRUE or the
>> server compiler is running.
>>
>> Also, the '-server' option was added to the test's '-Xshare:dump'
>> command to ensure that the CDS region gets created by the same JVM that
>> tries to read it.
>>
>> The change was tested with the XShareAuto.java test, by hand using the
>> NeverActAsServerClassMachine and AlwaysActAsServerClassMachine options,
>> the UTE vm quicktests, and JPRT.
>>
>> Open webrev at: http://cr.openjdk.java.net/~hseigel/bug_8024517/
>> <http://cr.openjdk.java.net/%7Ehseigel/bug_8024517/>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8024517
>>
>> Thanks! Harold
More information about the hotspot-runtime-dev
mailing list