I’ve reworked the webrev as requested to make jdk.vm.compiler a non-upgradeable 
platform module, this allowing it to be mentioned in default.policy:

http://cr.openjdk.java.net/~dnsimon/8145337/

-Doug

> On 30 Jan 2017, at 22:53, Mandy Chung <mandy.ch...@oracle.com> wrote:
> 
>> 
>> On Jan 30, 2017, at 1:36 PM, Doug Simon <doug.si...@oracle.com> wrote:
>> 
>> 
>>> On 30 Jan 2017, at 21:55, Mandy Chung <mandy.ch...@oracle.com> wrote:
>>> 
>>> 
>>>> On Jan 30, 2017, at 10:38 AM, Doug Simon <doug.si...@oracle.com> wrote:
>>>> 
>>>> I’ve extended the webrev with that change - please re-review:
>>>> 
>>>> http://cr.openjdk.java.net/~dnsimon/8145337_make/webrev
>>>> 
>>> 
>>> +1
>> 
>> Thanks. Is that a “Reviewed”?
>> 
> 
> Sorry. I only noticed now that you added this to UPGRADEABLE_MODULE.   Please 
> add it only to PLATFORM_MODULES list instead.
> 
> Making it an upgradeable module is a separate issue.  I suggest you reopen 
> JDK-8171448.  Specifically, since upgradeable modules are not tied with 
> java.base, our goal for JDK 9 is to eliminate qualified exports from JDK 
> modules to upgradeable modules, e.g. JDK-8170116, JDK-8166745, JDK-8161549.
> 
>> I think I should get at least one sign-off from the security team.
>> 
> 
> Hope Sean will review this one.  Please send an updated webrev.
> 
>> Also, since this is effectively making jdk.vm.compiler an upgradeable 
>> module, 
> 
> No it does not.
> 
>> what’s the implication for it being a hash-checked module?
> 
> When a module M is recorded in the ModuleHashes attribute of java.base, the 
> runtime will check if module M resolved in the graph matches the one tied 
> with java.base when created at build time; if not, it will fail.  If an 
> upgradeable module
> 
>> It seems like these changes effectively achieve what I was requesting with 
>> https://bugs.openjdk.java.net/browse/JDK-8171448.
> 
> JDK-8145337 is about the security permission.  It’s better to separate this 
> review from JDK-8171448.
> 
> Mandy
> 
>> 
>> -Doug
>> 
>>> 
>>>> Strangely, there was no existing declaration of jdk.vm.compiler in 
>>>> Modules.gmk.
>>>> 
>>> 
>>> Default is to be defined by the application class loader.  The build will 
>>> find all modules from the source. There is no need to list all modules.
>>> 
>>>> BTW, I never answered your question:
>>>> 
>>>> "How does JVMCI call out to jdk.vm.compiler?  does it load classes using 
>>>> Class::forName with the system class loader?”
>>>> 
>>>> It uses JVMCIServiceLocator[1] which is a mechanism built on the standard 
>>>> ServiceLoader.
>>> 
>>> Thanks for the pointer. That confirms my understanding that loads the 
>>> service providers using the system class loader.
>>> 
>>> Mandy

Reply via email to