On 12/10/2015 3:03 AM, serguei.spit...@oracle.com wrote:
Please, review this initial fix for the Jigsaw Bill milestone task:
https://bugs.openjdk.java.net/browse/JDK-8049365
Jdk webrev:
http://cr.openjdk.java.net/~sspitsyn/webrevs/2015/jdk/8049365-Jigsaw-jdk.0/
Hotspot webrev:
http://cr.openjdk.java.net/~sspitsyn/webrevs/2015/hotspot/8049365-Jigsaw-hs.0/
Summary:
It is expected that the JDI and JDWP update for modules will have
several iterations.
This is the initial one, and it introduces a very minimal functionality.
The main purpose of this preliminary review is to make sure the JDI
and JDWP update
for modules goes in a right direction and has nothing obviously wrong.
It does not include yet the API's for introspection of the
ModuleDescriptor, Configuration and Layer.
There are no convincing use cases for it yet.
It is still TBD to contact and get more feedback from the NetBeans
and Eclipse debuggers teams.
We also could give them our custom build to try.
This fix temporarily adds a VM support for the JDI allModules() as a
JNI function GetAllModules().
Any feedback on the Hotspot webrev as to how to implement it better
is welcome.
Hi Serguei,
This is definitely a good start for updating JDK and JDWP for modules.
I did have a chance to look over the hotspot changes. I would really
prefer not to introduce a new ModulesTable data structure
(modules.c/hpp). The goal of the JVM support for jigsaw was to have one
stop shopping with ModuleEntryTable and PackageEntryTable. Those data
structures keep track and record the module definitions. As a matter of
fact, last week Harold completely removed JDK 9's current PackageInfo
Hashtable in the jake repo in favor of using the new PackageEntryTable.
I can help by enhancing ModuleEntryTable to provide methods that
Modules::get_all_modules() could call. Would you be okay with that?
Thanks,
Lois
The plan is (as suggested by Alan) to re-implement it on the JVMTI
level.
It is a part of another Jigsaw Bill milestone task:
https://bugs.openjdk.java.net/browse/JDK-8049364
Update JVM TI for modules
Thanks,
Serguei