preliminary RFR: 8049365 - Update JDI and JDWP for modules
lois.foltan at oracle.com
Tue Dec 15 15:41:19 UTC 2015
On 12/10/2015 3:03 AM, serguei.spitsyn at oracle.com wrote:
> Please, review this initial fix for the Jigsaw Bill milestone task:
> Jdk webrev:
> Hotspot webrev:
> 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.
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?
> The plan is (as suggested by Alan) to re-implement it on the JVMTI
> It is a part of another Jigsaw Bill milestone task:
> Update JVM TI for modules
More information about the jigsaw-dev