RFR: 8152641: Plugin to generate BMH$Species classes ahead-of-time

Mandy Chung mandy.chung at oracle.com
Thu Mar 31 23:10:26 UTC 2016


> On Mar 30, 2016, at 9:17 AM, Claes Redestad <claes.redestad at oracle.com> wrote:
> 
> Hi Peter,
> 
> something like this, then:
> 
> http://cr.openjdk.java.net/~redestad/8152641/webrev.05/
> 

BoundMethodHandle::generateConcreteBMHClassBytes
   It only allows “LIJFD” characters.  But the default species types include digit e.g. L3, L4, etc.  Do you see the warnings generated from GenerateBMHClassesPlugin?

Nit: the method parameters are wrapped in the next line with 8-space indentation. It’d be better to follow the convention this source file uses.

GenerateBMHClassesPlugin::configure
   The plugin should validate of the input argument and throw an exception if it’s invalid.  The plugin API is still being revised and JDK-8152800 is related to the exception case.  The existing plugins throw PluginException.  GenerateBMHClassesPlugin can do the same.

   Perhaps the expanded signatures should be stored after validation.

GenerateBMHClassesPlugin::generateConcreteClass
   It issues a warning if any exception thrown.  If the user specifies the types in the command line, they should specify the valid values (I would expect).  I prefer it to be an error and throw PluginException.

It may be time to rename this plugin to —-generate-jli-classes plugin, as John suggests.  A jlink plugin can define its sub options e.g. —-generate-jli-classes=bmh[:species=LL,LLL].

Can you add a test to sanity test if the classes are generated (both the default species types as well as specified in the input argument)?

Mandy


More information about the core-libs-dev mailing list