[8u40] Request for Approval: Backport of G1 Class Unloading changesets

Bengt Rutisson bengt.rutisson at oracle.com
Thu Aug 7 08:48:45 UTC 2014


Hi,

Sat down with StefanK and went though the changesets that I had reviewed 
for JDK 9. They all look good.

8033764: Remove the usage of StarTask from BufferingOopClosure
8046670: Make CMS metadata aware closures applicable for other collectors
8049831: Metadata Full GCs are not triggered when 
CMSClassUnloadingEnabled is turned off
8048269: Add flag to turn off class unloading after G1 concurrent mark
8049421: G1 Class Unloading after completing a concurrent mark cycle

Thanks,
Bengt

On 2014-08-07 10:28, Stefan Karlsson wrote:
>
> On 2014-08-06 14:37, Stefan Karlsson wrote:
>> Hi all,
>>
>> This is the set of G1 Class Unloading backport patches that should be 
>> backported from JDK 9 to JDK 8u40.
>>
>> I've described how well the backports applied and some useful links 
>> to the webrevs, bugs, and JDK 9 changesets. IMHO, the only backport 
>> that is worth looking at in more detail is the changeset that adds G1 
>> Class Unloading: 8049421, however I think the process mandates that 
>> we re-review the patches that failed. Could the old reviewers help 
>> out reviewing the changes marked as failed below?
>>
>> The patches are applied in order, against:
>> http://hg.openjdk.java.net/jdk8u/hs-dev/hotspot
>>
>> Patches:
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8034761
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8032379
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/870aedf4ba4f
>> 8032379: Remove the is_scavenging flag to process_strong_roots
>> Reviewed-by: stefank, tschatzl, ehelin, jmasa
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8033764
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8033764
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/937cf56dede6
>> 8033764: Remove the usage of StarTask from BufferingOopClosure
>> Reviewed-by: mgerdin, brutisso, tschatzl
>>   failed
>>     jni.cpp: New unit tests had been added.
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8033923
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8033923
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/79aa45434291
>> 8033923: Use BufferingOopClosure for G1 code root scanning
>> Reviewed-by: mgerdin, brutisso
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8034761
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8034761
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/d166675568f6
>> 8034761: Remove the do_code_roots parameter from process_strong_roots
>> Reviewed-by: tschatzl, mgerdin, jmasa
>>  failed
>>    g1CollectedHeap.hpp: A function had been removed.
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8034764
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8034764
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/10c424c5a362
>> 8034764: Use process_strong_roots to adjust the StringTable
>> Reviewed-by: tschatzl, brutisso
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8035393
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8035393
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/be0ac0e8f6e7
>> 8035393: Use CLDClosure instead of CLDToOopClosure in 
>> frame::oops_interpreted_do
>> Reviewed-by: tschatzl, coleenp
>>   fuzz
>>     thread.cpp
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8035412
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8035412
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/3cdda110bbb5
>> 8035412: Cleanup ClassLoaderData::is_alive
>> Reviewed-by: coleenp, mgerdin
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8035648
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8035648
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/301df27023d4
>> 8035648: Don't use Handle in java_lang_String::print
>> Reviewed-by: coleenp, pliden
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8035746
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8035746
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/7f0e0366ec81
>> 8035746: Add missing Klass::oop_is_instanceClassLoader() function
>> Reviewed-by: mgerdin, coleenp
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8037958
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8037958
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/85151870938f
>> 8037958: ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is 
>> enabled
>> Reviewed-by: stefank, sjohanss
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8037958
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8037958
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/f3d21f161945
>> 8037958: ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is 
>> enabled
>> Reviewed-by: tschatzl, stefank
>>   failed
>>     space.cpp: New PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC interfered
>
> Thomas Schatzl noticed that this was wrong.
>
> The correct info for this changeset should be:
> http://cr.openjdk.java.net/~stefank/backports/8u40/8038399
> https://bugs.openjdk.java.net/browse/JDK-8038399
> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/f3d21f161945
> 8038399: Remove dead oop_iterate MemRegion variants from SharedHeap, 
> Generation and Space classes
> Reviewed-by: tschatzl, stefank
>   failed
>     space.cpp: New PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC interfered
>
> thanks,
> StefanK
>
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8038404
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8038404
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/10a57200ca89
>> 8038404: Move object_iterate_mem from Space to CMS since it is only 
>> ever used by CMS
>> Reviewed-by: brutisso, tschatzl, stefank
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8038412
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8038412
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/f0fb74dd59fe
>> 8038412: Move object_iterate_careful down from Space to 
>> ContigousSpace and CFLSpace
>> Reviewed-by: tschatzl, stefank
>>   failed
>>     compactibleFreeListSpace.hpp: Spelling fixes interfered
>>                        space.hpp: Spelling fixes interfered
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8038405
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8038405
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/53e2a1b32a62
>> 8038405: Clean up some virtual fucntions in Space class hierarchy
>> Reviewed-by: stefank, jmasa
>>   fuzz
>>     space.hpp
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8046670
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8046670
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/f88e914539ff
>> 8046670: Make CMS metadata aware closures applicable for other 
>> collectors
>> Reviewed-by: ehelin, mgerdin
>>   failed
>>     cmsOopClosures.hpp: Spelling fixes interfered
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047373
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047373
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/1b23c821b5e4
>> 8047373: Clean the ExceptionCache in one pass
>> Reviewed-by: jmasa, jwilhelm
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047323
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047323
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/b179be81195e
>> 8047323: Remove unused _copy_metadata_obj_cl in 
>> G1CopyingKeepAliveClosure
>> Reviewed-by: mgerdin, tschatzl
>>   fuzz
>>     g1CollectedHeap.cpp
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047326
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047326
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/9960da40c13e
>> 8047326: Consolidate all CompiledIC::CompiledIC implementations and 
>> move it to compiledIC.cpp
>> Reviewed-by: vlivanov, ehelin
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047819
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047819
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/3f70ca73367d
>> 8047819: G1 HeapRegionDCTOC does not need to inherit 
>> ContiguousSpaceDCTOC
>> Reviewed-by: stefank, tschatzl
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047820
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047820
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/238820b522f3
>> 8047820: G1 Block offset table does not need to support generic Space 
>> classes
>> Reviewed-by: tschatzl, stefank
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047821
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047821
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/a326a6240e90
>> 8047821: G1 Does not use the save_marks functionality as intended
>> Reviewed-by: stefank, ehelin
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8048214
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8048214
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/d8d107be209c
>> 8048214: Linker error when compiling G1SATBCardTableModRefBS after 
>> include order changes
>> Reviewed-by: stefank, brutisso, tschatzl
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047818
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047818
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/f937359961e9
>> 8047818: G1 HeapRegions can no longer be ContiguousSpaces
>> Reviewed-by: stefank, jmasa, tschatzl
>>   failed
>>     heapRegion.cpp: This line is removed in JDK9: if (cl->abort()) 
>> return cur;
>>     heapRegion.cpp: Spelling fixes interfered
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8047362
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8047362
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/1d62ae819013
>> 8047362: Add a version of CompiledIC_at that doesn't create a new 
>> RelocIterator
>> Reviewed-by: iveresov, mgerdin
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8049421
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8049421
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/a2122d7912ed
>> 8049421: G1 Class Unloading after completing a concurrent mark cycle
>> Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
>>   failed
>>                   classLoaderData.hpp: cld_do is missing in 8u
>>                       stringTable.cpp: All code in stringTable.cpp is 
>> in symbolTable.cpp in 8u.
>>     concurrentMarkSweepGeneration.cpp: Spelling fixes interfered
>>                    concurrentMark.cpp: Spelling fixes interfered
>>                    concurrentMark.cpp: check_bitmaps calls have been 
>> added to 9
>>                   g1CollectedHeap.cpp: check_bitmaps calls have been 
>> added to 9
>>                   g1CollectedHeap.hpp: Spelling fixes interfered
>>                          whitebox.cpp: Different includes in 9 and 8u
>>                          whitebox.cpp: WB_GetThreadStackSize is not 
>> in 8u
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8049426
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8049426
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/7fdf4173cde4
>> 8049426: Minor cleanups after G1 class unloading
>> Reviewed-by: stefank, brutisso
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8049831
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8049831
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/429516ef23de
>> 8049831: Metadata Full GCs are not triggered when 
>> CMSClassUnloadingEnabled is turned off
>> Reviewed-by: brutisso, tschatzl, ehelin, jmasa, dfazunen
>>   failed
>>     TEST.groups: There's no needs_cmsgc section in 8u
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8051883
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8051883
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/14e40cb29ca9
>> 8051883: TEST.groups references missing test: 
>> gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java
>> Reviewed-by: brutisso, tschatzl, ehelin, jmasa, dfazunen
>>   clean
>>
>> http://cr.openjdk.java.net/~stefank/backports/8u40/8048269
>> http://bugs.openjdk.java.net/bugs/browse/JDK-8048269
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/9d38e660fc7a
>> 8048269: Add flag to turn off class unloading after G1 concurrent mark
>> Reviewed-by: jmasa, brutisso, mgerdin
>>   failed
>>     TEST.groups: There's no needs_g1gc section in 8u
>>
>>
>> I've tested the patches with JPRT, specjbb2005, Kitchensink, 
>> specjvm98, dacapo2006, specjbb2000, gclockertest, gcbasher.
>>
>> thanks,
>> StefanK
>



More information about the hotspot-dev mailing list