Integrated: 8298601: Refactor archiving of java.lang.Module objects
    Ioi Lam 
    iklam at openjdk.org
       
    Wed Jan  4 04:06:57 UTC 2023
    
    
  
On Mon, 19 Dec 2022 05:28:39 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> This RFE is a prerequisite for [JDK-8296344: Remove dependency on G1 for writing the CDS archive heap](https://bugs.openjdk.org/browse/JDK-8296344). 
> 
> The main change of this RFE is in `HeapShared::archive_reachable_objects_from()`. We avoid the use of "archived objects" in the interface between CDS and the module system, and use integer "root indices" instead. (See note [1] in [JDK-8298600](https://bugs.openjdk.org/browse/JDK-8298600).)
> 
> Also, for better encapsulation, the module-specific code has been moved from `HeapShared::check_module_oop()` to the three new functions in modules.cpp.
> 
> ----
> 
> Besides the refactoring, this RFE also tightens up the code that deals with `java.lang.Module` oops and the corresponding C++ `ModuleEntry` objects.
> 
> As this is admittedly an obscured area of the CDS archive heap, I've added the following:
> 
> - Assertions to make sure that when an oop is archived, the corresponding C++ object is also archived, and vice-versa.
> - More comments
This pull request has now been integrated.
Changeset: 82deb5ca
Author:    Ioi Lam <iklam at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/82deb5ca615f70634f8cd84836265d01edd1c5a5
Stats:     194 lines in 8 files changed: 131 ins; 50 del; 13 mod
8298601: Refactor archiving of java.lang.Module objects
Reviewed-by: coleenp, ccheung
-------------
PR: https://git.openjdk.org/jdk/pull/11715
    
    
More information about the hotspot-runtime-dev
mailing list