Code Review for open

Prepared by:tschatzl on Thu Jan 16 14:07:13 CET 2020
Workspace:/home/tschatzl/Downloads/vmshare/jdk10/hs/open
Compare against: http://hg.openjdk.java.net/jdk/jdk
Compare against version:-2
Summary of changes: 13 lines changed: 10 ins; 0 del; 3 mod; 567 unchg
Patch of changes: open.patch
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/g1/g1OopClosures.hpp

rev 57716 : 8235305: Corrupted oops embedded in nmethods due to parallel modification during optional evacuation
Summary: During optional evacuation it is possible that G1 modifies oops embedded in nmethods in parallel. One source are oop* gathered by a previous evacuation phase in the optional roots, the other the region's strong code roots list. Since these oops may be unaligned on x64, this can result in them being corrupted. The fix is to not gather embedded oops in the optional roots list as the strong code roots list contains them already.
Contributed-by: erik.osterlund@oracle.com, stefan.johansson@oracle.com, stefan.karlsson@oracle.com, thomas.schatzl@oracle.com
Reviewed-by:
2 lines changed: 1 ins; 0 del; 1 mod; 240 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/g1/g1OopClosures.inline.hpp

rev 57716 : 8235305: Corrupted oops embedded in nmethods due to parallel modification during optional evacuation
Summary: During optional evacuation it is possible that G1 modifies oops embedded in nmethods in parallel. One source are oop* gathered by a previous evacuation phase in the optional roots, the other the region's strong code roots list. Since these oops may be unaligned on x64, this can result in them being corrupted. The fix is to not gather embedded oops in the optional roots list as the strong code roots list contains them already.
Contributed-by: erik.osterlund@oracle.com, stefan.johansson@oracle.com, stefan.karlsson@oracle.com, thomas.schatzl@oracle.com
Reviewed-by:
1 line changed: 0 ins; 0 del; 1 mod; 276 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/g1/g1SharedClosures.hpp

rev 57716 : 8235305: Corrupted oops embedded in nmethods due to parallel modification during optional evacuation
Summary: During optional evacuation it is possible that G1 modifies oops embedded in nmethods in parallel. One source are oop* gathered by a previous evacuation phase in the optional roots, the other the region's strong code roots list. Since these oops may be unaligned on x64, this can result in them being corrupted. The fix is to not gather embedded oops in the optional roots list as the strong code roots list contains them already.
Contributed-by: erik.osterlund@oracle.com, stefan.johansson@oracle.com, stefan.karlsson@oracle.com, thomas.schatzl@oracle.com
Reviewed-by:
10 lines changed: 9 ins; 0 del; 1 mod; 51 unchg

This code review page was prepared using /home/tschatzl/Downloads/vmshare/tools/webrev.sh (vers 25.6-hg+openjdk.java.net).