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 jigsaw-dev
mailing list