[15?] RFR (S): 8249192: MonitorInfo stores raw oops across safepoints
Daniel D. Daugherty
daniel.daugherty at oracle.com
Wed Jul 22 17:04:30 UTC 2020
> jdk15:
>
> http://cr.openjdk.java.net/~tschatzl/8249192/webrev.jdk15.2/ (full)
src/hotspot/share/prims/jvmtiEnvBase.cpp
old L1029: ResourceMark rm;
It's not clear (to me anyway) why this ResourceMark is removed.
Update: I saw the discussion of "ResourceMark rm" in JDK15 versus
"ResourceMark rm(current_thread)" in JDK16, but that doesn't tell
me why it was necessary to remove that ResourceMark.
src/hotspot/share/prims/stackwalk.cpp
L291: ResourceMark rm;
L292: HandleMark hm;
Since there's a TRAPS parameter, these should be 'rm(THREAD)' and
'hm(THREAD)'.
src/hotspot/share/runtime/biasedLocking.cpp
No comments.
src/hotspot/share/runtime/deoptimization.cpp
No comments.
src/hotspot/share/runtime/vframe.cpp
L461: _lock = lock;
nit - extra space before '='.
src/hotspot/share/runtime/vframe.hpp
L32: #include "runtime/handles.inline.hpp"
nit - new include is out of order; should be after frame.hpp.
src/hotspot/share/runtime/vframeArray.cpp
No comments.
src/hotspot/share/runtime/vframe_hp.cpp
Skipped - no changes.
src/hotspot/share/services/threadService.cpp
No comments.
> jdk16:
>
> http://cr.openjdk.java.net/~tschatzl/8249192/webrev.2/ (full)
Same comments as for the JDK15 version. I also compared the two patches
using jfilemerge.
Most of what I have above are nits so I'm good with both of these
patches. I also looked for lifetime issues with the new ResourceMarks
and HandleMarks, but I don't see any issues.
Dan
On 7/22/20 4:14 AM, Thomas Schatzl wrote:
> Hi Serguei,
>
> thanks for your review.
>
> On 22.07.20 04:13, serguei.spitsyn at oracle.com wrote:
>> Hi Thomas,
>>
>> The fix looks okay to me.
>> The 15 fix is identical to 16.
>
> no :) It is very subtle. As mentioned, in jvmtiEnvBase.cpp in the
> original code, in jdk15 we had:
>
> line 1029: ResourceMark rm;
>
> in jdk16:
>
> line 1008: ResourceMark rm(current_thread);
>
> Both lines were ultimately removed with this recent change, but still
> cause merge errors if you port the patch from one version to the other.
> Sorry if that has been confusing.
>
>>
>> This file finally was not changed:
>> src/hotspot/share/runtime/vframe_hp.cpp .
>
> This is an artifact of webrev in conjunction with mq because the
> original change had some modifications which were retracted in the -1
> webrev there. There will not be any change in any push for that file.
>
>> Several files need a copyright comment update.
>
> Provided new webrevs with only comment updates below. Did not do new
> testing just for these comment updates though.
>
>>
>> What tests do you run?
>> We need at least tier3 to make sure there are no regressions in the
>> JVMTI and JDI tests.
>
> The jdk15 .1 patch has been tested with 1.2k of that LocalsAndOperands
> test with the options that originally reproduced it in 1/100 cases.
>
> hs-tier1-5, no failures at all.
>
> jdk16 has had testing with the .0 patch doing 1.8k of
> LocalsAndOperands.java, tier1-5, and tier8 with JDK-8249676 reinstated
> that earlier caused lots of issues there (and none without).
> Since there has been no substantial change in how the patch works,
> only some refactoring, so I think these are still valid.
>
> See the internal comments in the CR for links.
>
> New webrevs:
>
> jdk15:
>
> http://cr.openjdk.java.net/~tschatzl/8249192/webrev.jdk15.2/ (full)
> http://cr.openjdk.java.net/~tschatzl/8249192/webrev.jdk15.1_to_2/ (diff)
>
> jdk16:
>
> http://cr.openjdk.java.net/~tschatzl/8249192/webrev.2/ (full)
> http://cr.openjdk.java.net/~tschatzl/8249192/webrev.1_to_2/ (diff)
>
> Thanks,
> Thomas
More information about the hotspot-dev
mailing list