[9] RFR (M) 8054386: Allow Java debugging when CDS is enabled
Chris Plummer
chris.plummer at oracle.com
Tue May 19 23:18:49 UTC 2015
Thanks Misha!
Chris
On 5/19/15 2:41 PM, Mikhailo Seledtsov wrote:
> Hi Chris,
>
> The changes look good to me.
>
> Minor nit:
> Some places in test code are using wrong format convention:
> jar_classes, jar_classlist_file, output_run
> Please use the following convention instead: jarClasses,
> jarClasslistFile, outputRun
> Minor, no re-posts needed.
>
> Thank you,
> Misha
>
> On 5/19/2015 11:44 AM, Chris Plummer wrote:
>> Ok, I can do that, but keep in mind that the two JvmtiExport calls
>> I'm making are not really new, but moved from one location to another.
>>
>> thanks,
>>
>> Chris
>>
>> On 5/19/15 9:05 AM, Ioi Lam wrote:
>>> Hi Chris,
>>>
>>> Looks good to me. Just a minor nit: in filemap.cpp, you should add
>>>
>>> #include "prims/jvmtiExport.hpp"
>>>
>>> or the build may break if precompiled headers are disabled.
>>>
>>> Thanks
>>> - Ioi
>>>
>>>
>>> On 5/19/15 7:25 AM, Chris Plummer wrote:
>>>> Hi,
>>>>
>>>> Please review the following changes for allowing java debugging
>>>> when CDS is enabled.
>>>>
>>>> Webrev:http://cr.openjdk.java.net/~cjplummer/8054386/webrev.01/
>>>> Bug:https://bugs.openjdk.java.net/browse/JDK-8054386
>>>>
>>>> The VM changes are simple. I removed the check that prevents
>>>> debugging with CDS enabled, and added logic that will map the CDS
>>>> archive RW when debugging is enabled.
>>>>
>>>> The tests are a bit more complex. There are a bunch of existing JDI
>>>> tests for testing debugging support. Rather than start from scratch
>>>> or clone them, I instead just wrote wrapper tests that put the
>>>> relevant JDI test classes in the archive, and then invoke the JDI
>>>> test. I did this for 3 of the JDI tests. If you feel there are
>>>> others that would be good candidates, I'd be happy to add them. I'm
>>>> looking for ones that would result in modification of the RO class
>>>> metadata, such as setting a breakpoint (for which I already added
>>>> two tests).
>>>>
>>>> Testing done:
>>>> -Using JPRT to run the new jtreg tests on all platforms.
>>>> -Using JPRT to run all jtreg runtime tests on linux x86 and x_64.
>>>> -Regular JPRT "-testset hotspot" run
>>>> -Putting the JCK JVMTI tests in the archive and then running them.
>>>> -Putting the nsk jdb, jdwp, jvmti, and jdi tests in the archive and
>>>> then running them.
>>>> -Putting a simple test class in the archive and then setting a
>>>> breakpoint on it using jdb
>>>>
>>>> Some of the above testing resulted in the discovery of bugs that
>>>> still need to be addressed: JDK-8078644, JDK-8078730, and JDK-8079181.
>>>>
>>>> I also verified that without the change to map the archive RW, the
>>>> above testing resulted in a SEGV, which is what you would expect
>>>> (and actually want to see to prove that the testing is effective).
>>>>
>>>> thanks,
>>>>
>>>> Chris
>>>>
>>>
>>
>
More information about the hotspot-runtime-dev
mailing list