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