RFR: 8240567: MethodTooLargeException thrown while creating a jlink image [v21]

Mandy Chung mchung at openjdk.org
Wed Jul 5 23:42:00 UTC 2023


On Wed, 5 Jul 2023 22:43:14 GMT, Oliver Kopp <duke at openjdk.org> wrote:

>> Fix for [JDK-8240567](https://bugs.openjdk.org/browse/JDK-8240567): "MethodTooLargeException thrown while creating a jlink image".
>> 
>> Java still has a 64kb limit: A method may not be longer than 64kb. The idea of the fix is to split up the generated methods in several smaller methods
>> 
>> This is a follow-up to https://github.com/openjdk/jdk/pull/10704. GitHub did not allow me to re-open the PR, because I did a force-push to have one commit.
>
> Oliver Kopp has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 30 commits:
> 
>  - Merge remote-tracking branch 'upstream/master' into fix-8240567
>  - Reformat
>  - Update test/jdk/tools/jlink/JLink100Modules.java
>    
>    Co-authored-by: Mandy Chung <mandy.chung at oracle.com>
>  - Refine test to fill DedupSetBuilder
>  - Merge remote-tracking branch 'upstream/master' into fix-8240567
>  - Replace non-final wrapper by local variable
>  - Update src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java
>    
>    Co-authored-by: Mandy Chung <mandy.chung at oracle.com>
>  - Update src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java
>    
>    Co-authored-by: Mandy Chung <mandy.chung at oracle.com>
>  - Update src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java
>    
>    Co-authored-by: Mandy Chung <mandy.chung at oracle.com>
>  - Refine comment
>    
>    Co-authored-by: Mandy Chung <mandy.chung at oracle.com>
>  - ... and 20 more: https://git.openjdk.org/jdk/compare/66d27365...e112f03a

I approve this patch.   I'll create a JBS issue to follow up the test update.

test/jdk/tools/jlink/JLink100Modules.java line 75:

> 73:             for (int j = 0; j < i % 20; j++) {
> 74:                 moduleInfoContent.append("  requires module" + j + "x;\n");
> 75:             }

Do you want to keep this change?   or at least take out the comment since this doesn't feed DedupSetBuilder.

Can you add a comment about "the numbers cannot be arbitrarily increased".

-------------

Marked as reviewed by mchung (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14408#pullrequestreview-1515516921
PR Review Comment: https://git.openjdk.org/jdk/pull/14408#discussion_r1253756746


More information about the core-libs-dev mailing list