Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v11]

2024-02-19 Thread Jaikiran Pai
On Sun, 17 Dec 2023 23:11:10 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix the 2 failing tests and add notes

tier1, tier2 and tier3 tests went fine with these changes on top of latest 
master branch.

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1952526367


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v11]

2024-02-18 Thread Jaikiran Pai
On Sun, 17 Dec 2023 23:11:10 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix the 2 failing tests and add notes

I see that this PR was approved a month back and there haven't been any changes 
to the PR since this (which is a good thing). I'll run this against our 
internal CI to make sure this still works as expected and will sponsor this 
later today, if that run goes fine.

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1951862915


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v11]

2024-01-17 Thread Adam Sotona
On Sun, 17 Dec 2023 23:11:10 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix the 2 failing tests and add notes

Yes, CodeBuilder method renames will require some refactoring.
This is good.

-

Marked as reviewed by asotona (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/13009#pullrequestreview-1826743185


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v9]

2024-01-15 Thread Chen Liang
On Thu, 21 Sep 2023 11:46:19 GMT, Adam Sotona  wrote:

>> Chen Liang has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains 14 commits:
>> 
>>  - Classfile object update
>>  - Merge branch 'master' into invoke-test-classfile
>>  - Merge branch 'master' into invoke-test-classfile
>>  - Switch to ConstantDescs for   and void constants
>>  - Merge AnnotationsTest, remove ModuleTargetAttribute call
>>  - Merge branch 'invoke-test-classfile' of 
>> https://github.com/liachmodded/jdk into invoke-test-classfile
>>  - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
>>
>>Co-authored-by: Andrey Turbanov 
>>  - Merge branch 'master' into invoke-test-classfile
>>  - Fix LambdaStackTrace after running
>>  - formatting
>>  - ... and 4 more: https://git.openjdk.org/jdk/compare/526dba1a...d0b6c2ae
>
> I would integrate conversions that are ready, otherwise the work spend to fix 
> and reflect changes would double in the preview branch.

Keep alive, @asotona can you review this again as it's up-to-date against 
current master's Classfile API? (i.e. without the instruction renames)

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1892590106


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v11]

2023-12-17 Thread Chen Liang
On Sun, 17 Dec 2023 23:11:10 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix the 2 failing tests and add notes

I have migrated the tests to Preview Class-File API and fixed a few issues 
related to preview status that broke the tests. All tests now pass.

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1859351576


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v11]

2023-12-17 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request incrementally with one additional 
commit since the last revision:

  Fix the 2 failing tests and add notes

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/13009/files
  - new: https://git.openjdk.org/jdk/pull/13009/files/7f15d2d7..eb4851fd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=10
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=09-10

  Stats: 30 lines in 2 files changed: 4 ins; 19 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v10]

2023-12-17 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains 17 commits:

 - Some tests don't work well with previews
 - Update tests to Class-File API
 - Merge branch 'master' into invoke-test-classfile
 - Classfile object update
 - Merge branch 'master' into invoke-test-classfile
 - Merge branch 'master' into invoke-test-classfile
 - Switch to ConstantDescs for   and void constants
 - Merge AnnotationsTest, remove ModuleTargetAttribute call
 - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
into invoke-test-classfile
 - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
   
   Co-authored-by: Andrey Turbanov 
 - ... and 7 more: https://git.openjdk.org/jdk/compare/34351b7a...7f15d2d7

-

Changes: https://git.openjdk.org/jdk/pull/13009/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=09
  Stats: 1832 lines in 31 files changed: 361 ins; 713 del; 758 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v9]

2023-10-19 Thread Chen Liang
On Wed, 28 Jun 2023 07:02:17 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 14 commits:
> 
>  - Classfile object update
>  - Merge branch 'master' into invoke-test-classfile
>  - Merge branch 'master' into invoke-test-classfile
>  - Switch to ConstantDescs for   and void constants
>  - Merge AnnotationsTest, remove ModuleTargetAttribute call
>  - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
> into invoke-test-classfile
>  - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
>
>Co-authored-by: Andrey Turbanov 
>  - Merge branch 'master' into invoke-test-classfile
>  - Fix LambdaStackTrace after running
>  - formatting
>  - ... and 4 more: https://git.openjdk.org/jdk/compare/526dba1a...d0b6c2ae

Keeping alive, I plan to return to this patch after the integration of 
Class-File API transition to preview.

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1770982707


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v9]

2023-09-21 Thread Adam Sotona
On Wed, 28 Jun 2023 07:02:17 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 14 commits:
> 
>  - Classfile object update
>  - Merge branch 'master' into invoke-test-classfile
>  - Merge branch 'master' into invoke-test-classfile
>  - Switch to ConstantDescs for   and void constants
>  - Merge AnnotationsTest, remove ModuleTargetAttribute call
>  - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
> into invoke-test-classfile
>  - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
>
>Co-authored-by: Andrey Turbanov 
>  - Merge branch 'master' into invoke-test-classfile
>  - Fix LambdaStackTrace after running
>  - formatting
>  - ... and 4 more: https://git.openjdk.org/jdk/compare/526dba1a...d0b6c2ae

I would integrate conversions that are ready, otherwise the work spend to fix 
and reflect changes would double in the preview branch.

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1729406198


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v9]

2023-09-20 Thread Chen Liang
On Wed, 28 Jun 2023 07:02:17 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 14 commits:
> 
>  - Classfile object update
>  - Merge branch 'master' into invoke-test-classfile
>  - Merge branch 'master' into invoke-test-classfile
>  - Switch to ConstantDescs for   and void constants
>  - Merge AnnotationsTest, remove ModuleTargetAttribute call
>  - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
> into invoke-test-classfile
>  - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
>
>Co-authored-by: Andrey Turbanov 
>  - Merge branch 'master' into invoke-test-classfile
>  - Fix LambdaStackTrace after running
>  - formatting
>  - ... and 4 more: https://git.openjdk.org/jdk/compare/526dba1a...d0b6c2ae

Should I wait for Classfile API transition to preview before I come back to 
this?

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1728941810


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v9]

2023-06-28 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains 14 commits:

 - Classfile object update
 - Merge branch 'master' into invoke-test-classfile
 - Merge branch 'master' into invoke-test-classfile
 - Switch to ConstantDescs for   and void constants
 - Merge AnnotationsTest, remove ModuleTargetAttribute call
 - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
into invoke-test-classfile
 - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
   
   Co-authored-by: Andrey Turbanov 
 - Merge branch 'master' into invoke-test-classfile
 - Fix LambdaStackTrace after running
 - formatting
 - ... and 4 more: https://git.openjdk.org/jdk/compare/526dba1a...d0b6c2ae

-

Changes: https://git.openjdk.org/jdk/pull/13009/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=08
  Stats: 1954 lines in 31 files changed: 307 ins; 883 del; 764 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v8]

2023-06-06 Thread Chen Liang
On Tue, 9 May 2023 04:17:28 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 12 commits:
> 
>  - Merge branch 'master' into invoke-test-classfile
>  - Switch to ConstantDescs for   and void constants
>  - Merge AnnotationsTest, remove ModuleTargetAttribute call
>  - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
> into invoke-test-classfile
>  - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
>
>Co-authored-by: Andrey Turbanov 
>  - Merge branch 'master' into invoke-test-classfile
>  - Fix LambdaStackTrace after running
>  - formatting
>  - Fix failed LambdaStackTrace test, use more convenient APIs
>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into 
> invoke-test-classfile
>  - ... and 2 more: https://git.openjdk.org/jdk/compare/d9052b94...5db1e957

keep-alive; this will be updated for the classfile object update.

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1578507931


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v8]

2023-05-08 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains 12 commits:

 - Merge branch 'master' into invoke-test-classfile
 - Switch to ConstantDescs for   and void constants
 - Merge AnnotationsTest, remove ModuleTargetAttribute call
 - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
into invoke-test-classfile
 - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
   
   Co-authored-by: Andrey Turbanov 
 - Merge branch 'master' into invoke-test-classfile
 - Fix LambdaStackTrace after running
 - formatting
 - Fix failed LambdaStackTrace test, use more convenient APIs
 - Merge branch 'master' of https://git.openjdk.java.net/jdk into 
invoke-test-classfile
 - ... and 2 more: https://git.openjdk.org/jdk/compare/d9052b94...5db1e957

-

Changes: https://git.openjdk.org/jdk/pull/13009/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=07
  Stats: 1947 lines in 31 files changed: 302 ins; 890 del; 755 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v7]

2023-04-18 Thread Chen Liang
On Tue, 21 Mar 2023 21:39:48 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 11 commits:
> 
>  - Switch to ConstantDescs for   and void constants
>  - Merge AnnotationsTest, remove ModuleTargetAttribute call
>  - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
> into invoke-test-classfile
>  - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
>
>Co-authored-by: Andrey Turbanov 
>  - Merge branch 'master' into invoke-test-classfile
>  - Fix LambdaStackTrace after running
>  - formatting
>  - Fix failed LambdaStackTrace test, use more convenient APIs
>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into 
> invoke-test-classfile
>  - Shorten lines, move from mask() to ACC_ constants, other misc improvements
>  - ... and 1 more: https://git.openjdk.org/jdk/compare/0deb6489...7dc785b3

keep alive. this might not be integrated until classfile api has been previewed.

-

PR Comment: https://git.openjdk.org/jdk/pull/13009#issuecomment-1513989606


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v7]

2023-03-21 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains 11 commits:

 - Switch to ConstantDescs for   and void constants
 - Merge AnnotationsTest, remove ModuleTargetAttribute call
 - Merge branch 'invoke-test-classfile' of https://github.com/liachmodded/jdk 
into invoke-test-classfile
 - Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
   
   Co-authored-by: Andrey Turbanov 
 - Merge branch 'master' into invoke-test-classfile
 - Fix LambdaStackTrace after running
 - formatting
 - Fix failed LambdaStackTrace test, use more convenient APIs
 - Merge branch 'master' of https://git.openjdk.java.net/jdk into 
invoke-test-classfile
 - Shorten lines, move from mask() to ACC_ constants, other misc improvements
 - ... and 1 more: https://git.openjdk.org/jdk/compare/0deb6489...7dc785b3

-

Changes: https://git.openjdk.org/jdk/pull/13009/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=06
  Stats: 1946 lines in 31 files changed: 302 ins; 889 del; 755 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v6]

2023-03-17 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request incrementally with one additional 
commit since the last revision:

  Update test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java
  
  Co-authored-by: Andrey Turbanov 

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/13009/files
  - new: https://git.openjdk.org/jdk/pull/13009/files/a728c9de..271cb98d

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=04-05

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v5]

2023-03-17 Thread Andrey Turbanov
On Thu, 16 Mar 2023 15:34:58 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix LambdaStackTrace after running

test/jdk/java/lang/invoke/8022701/MHIllegalAccess.java line 50:

> 48: public class MHIllegalAccess {
> 49: 
> 50:public static void main(String[] args) throws Throwable  {

Suggestion:

   public static void main(String[] args) throws Throwable {

-

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v5]

2023-03-16 Thread Chen Liang
On Thu, 16 Mar 2023 14:50:14 GMT, Alan Bateman  wrote:

>> test/jdk/java/util/ServiceLoader/BadProvidersTest.java line 216:
>> 
>>> 214: clb.withSuperclass(CD_Object);
>>> 215: clb.withFlags(AccessFlag.PUBLIC, AccessFlag.SUPER);
>>> 216: var provider$1Desc = ClassDesc.of("p", 
>>> "ProviderFactory$1");
>> 
>> This is class descriptor for ProviderFactory$1, not "Provider" so maybe 
>> rename this to providerFactory1 or something a bit clearer.
>
>> This is class descriptor for ProviderFactory$1, not "Provider" so maybe 
>> rename this to providerFactory1 or something a bit clearer.
> 
> The updated version looks good. I assume you'll do a pass over the updated 
> tests to bump their copyright date as this is the first change in 2023 for 
> many of these tests.

Yes, the copyright years are updated. Tested Serializable, instrument, and 
LambdaStackTrace as of "[Fix LambdaStackTrace after 
running](https://github.com/openjdk/jdk/pull/13009/commits/a728c9de1ff684bd30726eb8ea6e7a674cb5a140)"

-

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v5]

2023-03-16 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request incrementally with one additional 
commit since the last revision:

  Fix LambdaStackTrace after running

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/13009/files
  - new: https://git.openjdk.org/jdk/pull/13009/files/09bbe4d5..a728c9de

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=03-04

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v4]

2023-03-16 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request incrementally with one additional 
commit since the last revision:

  formatting

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/13009/files
  - new: https://git.openjdk.org/jdk/pull/13009/files/a50b94f9..09bbe4d5

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=02-03

  Stats: 3 lines in 1 file changed: 0 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v3]

2023-03-16 Thread Chen Liang
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Chen Liang has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains four additional commits since 
the last revision:

 - Fix failed LambdaStackTrace test, use more convenient APIs
 - Merge branch 'master' of https://git.openjdk.java.net/jdk into 
invoke-test-classfile
 - Shorten lines, move from mask() to ACC_ constants, other misc improvements
 - Convert test/jdk/java ASM tests to classfile api

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/13009/files
  - new: https://git.openjdk.org/jdk/pull/13009/files/c6536bf9..a50b94f9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=01-02

  Stats: 68505 lines in 534 files changed: 42498 ins; 18129 del; 7878 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v2]

2023-03-16 Thread Alan Bateman
On Tue, 14 Mar 2023 07:53:25 GMT, Alan Bateman  wrote:

> This is class descriptor for ProviderFactory$1, not "Provider" so maybe 
> rename this to providerFactory1 or something a bit clearer.

The updated version looks good. I assume you'll do a pass over the updated 
tests to bump their copyright date as this is the first change in 2023 for many 
of these tests.

-

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v2]

2023-03-16 Thread Adam Sotona
On Wed, 15 Mar 2023 04:09:04 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Shorten lines, move from mask() to ACC_ constants, other misc improvements

I like the easy way I can read the tests code now even I don't know them.
They look great :)

-

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v2]

2023-03-16 Thread Adam Sotona
On Wed, 15 Mar 2023 04:09:04 GMT, Chen Liang  wrote:

>> Summaries:
>> 1. A few recommendations about updating the constant API is made at 
>> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
>> and I may update this patch shall the API changes be integrated before
>> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
>> code generation infrastructure upgraded from ASM to Classfile API.
>> 3. Most tests are included in tier1, but some are not:
>> In `:jdk_io`: (tier2, part 2)
>> 
>> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
>> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
>> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
>> 
>> In `:jdk_instrument`: (tier 3)
>> 
>> test/jdk/java/lang/instrument/RetransformAgent.java
>> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
>> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
>> 
>> 
>> @asotona Would you mind reviewing?
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Shorten lines, move from mask() to ACC_ constants, other misc improvements

test/jdk/java/lang/Class/getSimpleName/GetSimpleNameTest.java line 174:

> 172: clb.withSuperclass(CD_Object);
> 173: clb.withFlags(AccessFlag.PUBLIC, AccessFlag.SUPER);
> 174: clb.accept(InnerClassesAttribute.of(

During the API discussions there was slightly more recommended to use 
`ClasfileBuilder::with` over `ClasfileBuilder::accept`, however it is just a 
cosmetic difference.

-

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API [v2]

2023-03-14 Thread liach
> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

liach has updated the pull request incrementally with one additional commit 
since the last revision:

  Shorten lines, move from mask() to ACC_ constants, other misc improvements

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/13009/files
  - new: https://git.openjdk.org/jdk/pull/13009/files/837ea4bb..c6536bf9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=00-01

  Stats: 196 lines in 19 files changed: 59 ins; 26 del; 111 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009


Re: RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API

2023-03-14 Thread Alan Bateman
On Tue, 14 Mar 2023 02:43:41 GMT, liach  wrote:

> Summaries:
> 1. A few recommendations about updating the constant API is made at 
> https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html 
> and I may update this patch shall the API changes be integrated before
> 2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
> code generation infrastructure upgraded from ASM to Classfile API.
> 3. Most tests are included in tier1, but some are not:
> In `:jdk_io`: (tier2, part 2)
> 
> test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
> test/jdk/java/io/Serializable/records/ProhibitedMethods.java
> test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
> 
> In `:jdk_instrument`: (tier 3)
> 
> test/jdk/java/lang/instrument/RetransformAgent.java
> test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
> test/jdk/java/lang/instrument/asmlib/Instrumentor.java
> 
> 
> @asotona Would you mind reviewing?

Good to see these tests converted, just a few nits about trying to keep the 
code/style consistent with the existing code/style where possible.

test/jdk/java/lang/ModuleTests/AnnotationsTest.java line 146:

> 144:  */
> 145: static byte[] addDeprecated(byte[] bytes, boolean forRemoval, String 
> since) {
> 146: return 
> Classfile.parse(bytes).transform(ClassTransform.ACCEPT_ALL.andThen(ClassTransform.endHandler(clb
>  -> {

The conversion of this test okay but would be good if you split up the overly 
long lines as they are inconsistent with everything else in this test and makes 
it annoying to look at the changes side-by-side.

test/jdk/java/lang/invoke/defineHiddenClass/BasicTest.java line 282:

> 280: 
> 281: assertTrue(hc.isHidden());
> 282: assertEquals(hc.getModifiers(), 
> accessFlags.stream().mapToInt(AccessFlag::mask).reduce(AccessFlag.PUBLIC.mask(),
>  (a, b) -> a | b));

Do you mind splitting this line too, it's 140+ characters long so impossible to 
look at the changes side-by-side.

test/jdk/java/util/ServiceLoader/BadProvidersTest.java line 216:

> 214: clb.withSuperclass(CD_Object);
> 215: clb.withFlags(AccessFlag.PUBLIC, AccessFlag.SUPER);
> 216: var provider$1Desc = ClassDesc.of("p", "ProviderFactory$1");

This is class descriptor for ProviderFactory$1, not "Provider" so maybe rename 
this to providerFactory1 or something a bit clearer.

-

PR: https://git.openjdk.org/jdk/pull/13009


RFR: 8294977: Convert test/jdk/java tests from ASM library to Classfile API

2023-03-13 Thread liach
Summaries:
1. A few recommendations about updating the constant API is made at 
https://mail.openjdk.org/pipermail/classfile-api-dev/2023-March/000233.html and 
I may update this patch shall the API changes be integrated before
2. One ASM library-specific test, `LambdaAsm` is removed. Others have their 
code generation infrastructure upgraded from ASM to Classfile API.
3. Most tests are included in tier1, but some are not:
In `:jdk_io`: (tier2, part 2)

test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
test/jdk/java/io/Serializable/records/ProhibitedMethods.java
test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java

In `:jdk_instrument`: (tier 3)

test/jdk/java/lang/instrument/RetransformAgent.java
test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java
test/jdk/java/lang/instrument/asmlib/Instrumentor.java


@asotona Would you mind reviewing?

-

Commit messages:
 - Convert test/jdk/java ASM tests to classfile api

Changes: https://git.openjdk.org/jdk/pull/13009/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13009&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8294977
  Stats: 1913 lines in 31 files changed: 283 ins; 888 del; 742 mod
  Patch: https://git.openjdk.org/jdk/pull/13009.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/13009/head:pull/13009

PR: https://git.openjdk.org/jdk/pull/13009