preliminary RFR: 8049365 - Update JDI and JDWP for modules

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Tue Dec 15 18:49:54 UTC 2015


On 12/15/15 07:41, Lois Foltan wrote:
>
> On 12/10/2015 3:03 AM, serguei.spitsyn at 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?

Hi Lois,

Thank you a lot for looking at this!
It would be perfect if you provide methods that 
Modules::get_all_modules() could call.
As Alan noted, the use will be changed from JNI to JVMTI::GetAllModules().

Thanks!
Serguei


>
> 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
>>
>>
>>
>



More information about the jigsaw-dev mailing list