RFR(M) JDK-8188791 Move AppCDS implementation from closed repo to open repo
Ioi Lam
ioi.lam at oracle.com
Mon Oct 30 15:52:54 UTC 2017
Hi Dmitry,
In the latest JDK 10 repo, is_jrt has been renamed to is_modules_image.
Please change the code accordingly.
I will post my latest diff soon, with some test cases as well.
Thanks
- Ioi
On 10/30/17 4:04 AM, Dmitry Samersoff wrote:
> Ioi,
>
> I'd tried to apply your patch to latest open JDK10 and
> the compilation fails with:
>
> /root/dsamersoff/ESC/appcds/hs/src/hotspot/share/classfile/systemDictionaryShared.cpp:400:16:
> error: ‘class SharedClassPathEntry’ has no member named ‘is_jrt’
>
> Did I miss something?
>
> -Dmitry
>
> On 13.10.2017 02:48, Ioi Lam wrote:
>> Hi,
>>
>> Please review this change set.
>>
>> http://cr.openjdk.java.net/~iklam/jdk10/8188791-open-appcds-impl.v01/
>> https://bugs.openjdk.java.net/browse/JDK-8188791
>>
>> This is the first step of implementing the following JEP, which moves
>> AppCDS from
>> closed repos into the openjdk repo:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8185996
>>
>> In JDK 9, significant portion of AppCDS code resided in the closed repo.
>> As part
>> of the open-sourcing effort of JDK 18.3, we will move the source code
>> into the
>> open repo.
>>
>> In this changeset, the code is moved verbatim as much as possible. The
>> intention is
>> only to relocate the sources, not to changing existing behaviors, and not
>> to do any sort of refactoring.
>>
>> Most of the "diffs" shown in this webrev are the result of copying the
>> closed source
>> files on top of files of the same name in the open repo. So in
>> reviewing, instead of
>> focusing on what's "changed", it's better to focus on the entire content
>> of the new
>> version of each file.
>>
>> The only functional change in this task is that the UseAppCDS flag is
>> changed from
>> a "commercial" flag to a regular "product" flag. This is because
>> "commercial"
>> flags are not supported by the OpenJDK build.
>>
>> Source code refactoring may be desirable, because the old open/closed
>> source
>> code structure had introduced some intermediary APIs to connect code
>> between
>> the two repos. Such API should be removed in a separate RFE.
>>
>> Also, some AppCDS tests are currently in the closed repo. These tests
>> will be
>> moved in a separate task. See JDK-8188792 for details.
>>
>> All the AppCDS tests (currently still in closed sources) passed with
>> both Oracle JDK
>> and OpenJDK.
>>
>> Thanks
>> - Ioi
>
More information about the hotspot-runtime-dev
mailing list