RFR(S): 8155964 - Create a set of tests for verifying the Minimal VM

David Holmes david.holmes at oracle.com
Tue Aug 23 00:57:42 UTC 2016

On 23/08/2016 9:08 AM, Chris Plummer wrote:
> On 8/22/16 3:09 PM, David Holmes wrote:
>> Hi Christian,
>> Quick feedback ...
>> On 23/08/2016 5:03 AM, Christian Tornqvist wrote:
>>> Hi everyone,
>>> Please review this change that adds a set of tests for the Minimal
>>> variant
>>> of the JVM. The Minimal JVM is a subset that excludes some
>>> functionality,
>>> the tests here are intended to test verify that trying to use this
>>> excluded
>>> functionality doesn't lead to any unexpected errors/crashes.
>> Note (for everyone) it was only a requirement that the primary options
>> for managing unsupported features give a meaningful error message. For
>> example UseG1GC should report it is not available, but selecting an
>> option that only works for G1 will report whatever is reported when
>> that option is called without G1 being selected (ie it wont report
>> "this option only works with G1 and G1 is not available in the minimal
>> VM"). And some failure modes may vary depending on which modules are
>> available.
>>> Verified by running the tests on Linux ARMv7 and Linux x86.
>>> Webrev:
>>> http://cr.openjdk.java.net/~ctornqvi/webrev/8155964/webrev.00/
>> Initial comment only. I'm not sure that @requires vm.flavor ==
>> "minimal" is the right way to do this. When you are going to launch a
>> secondary VM with -minimal it suffices that the JRE/JDK under test has
>> the minimal VM available, it isn't required that the main test VM run
>> in the minimal VM. Granted jtreg can't tell you that (I don't think).
>> There are features of the test library that use API's and VM
>> capabilities that may not exist in the minimal VM (ie RuntimeMXBeans).
> We need to make sure the tests are not run on platforms that don't
> support the minimalVM, because they will fail. Using @requires vm.flavor
> == "minimal" guarantees that the minimalVM is supported, and that you
> will get it when the secondary VM is launched with -minimal.

Understood. We should be okay as long as -minimal is not aliased (I just 
discovered -client is aliased to -server on linux x86!). Was also 
concerned about use of MXBeans to get runtime info - but maybe that only 
affects execution on "compact profiles" not minimalVM per-se.


> Chris
>> More later ...
>> Thanks,
>> David
>>> Bug (unfortunately not visible):
>>> https://bugs.openjdk.java.net/browse/JDK-8155964
>>> Thanks,
>>> Christian

More information about the hotspot-runtime-dev mailing list