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