Supporting inline types in Java debugger
Frederic Parain
frederic.parain at oracle.com
Fri Oct 4 17:23:37 UTC 2019
This patch would address two open bugs:
https://bugs.openjdk.java.net/browse/JDK-8211032
https://bugs.openjdk.java.net/browse/JDK-8211030
Fred
> On Oct 4, 2019, at 11:07, Frederic Parain <frederic.parain at oracle.com> wrote:
>
> I’ve just updated the webrev in place to fix an issue with fast JNI accessors
> (hard coded constants dependent on data structures elsewhere in the VM are bad).
> This issue exists on all platforms.
>
> Fred
>
>
>> On Oct 3, 2019, at 08:51, Frederic Parain <frederic.parain at oracle.com> wrote:
>>
>> Greetings,
>>
>> Here’s a patch to enable Java debugging with inline types:
>>
>> http://cr.openjdk.java.net/~fparain/jpda/webrev.00/index.html
>>
>> Using jdb, it enables the following operations:
>> - inspection of inline classes
>> - read/write operations on local variables containing inline values
>> - read/write operations on flattened fields
>> - read/write operations on flattened arrays
>>
>> Those changes are relatively limited, but they impact all layers of
>> the JPDA: JDI, JDWP, JVMTI and JNI. Several of these changes will require
>> some spec updates. They also highlight some future issues with current
>> API (like com.sun.jdi.VirtualMachine.classesByName(String className)
>> which takes a class name to convert it into a L-type before sending
>> the request to the debuggee).
>>
>> Debugging has been tested with jdb.
>> Other Java debugger are not guaranteed to work, for instance IntelliJ Idea
>> debugger still gets confused with Q-signatures.
>>
>> We can decide to either push this code if people are interested in using Java
>> debuggers with inline types, or keep it has an exploration result that we can
>> exploit when finalizing inline types support for the whole Java platform.
>>
>> Regards,
>>
>> Fred
>>
>>
>>
>>
>
More information about the valhalla-dev
mailing list