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

Oliver Kopp duke at openjdk.org
Wed Jan 25 18:24:31 UTC 2023


> 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

Oliver Kopp 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 18 additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into fix-8240567
   
   * upstream/master: (348 commits)
     8300592: ASan build does not correctly propagate options to some test launchers
     8299635: Hotspot update for deprecated sprintf in Xcode 14
     8300805: Update autoconf build-aux files with latest from 2022-09-17
     8301086: jdk/internal/util/ByteArray/ReadWriteValues.java fails with CompilationError
     8300997: Add curl support to createJMHBundle.sh
     8295944: Move the Http2TestServer and related classes into a package of its own
     8301004: httpclient: Add more debug to HttpResponseInputStream
     8300236: Use VarHandle access in Data(Input | Output)Stream classes
     8300244: Replace NULL with nullptr in share/interpreter/
     8300651: Replace NULL with nullptr in share/runtime/
     8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values
     8300657: Remove null filtering in CLD oop handle area
     8300644: Remove gc/shenandoah/jni/TestStringCriticalWithDedup.java
     8297730: C2: Arraycopy intrinsic throws incorrect exception
     6603771: Nimbus L&F: Ctrl+F7 keybinding for Jinternal Frame throws a NPE.
     8300830: Remove redundant assertion in src/hotspot/share/runtime/javaCalls.cpp
     8300981: Build failure on 32-bit platforms after JDK-8281213
     8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg
     8300942: JDK-8299684 breaks x86 build
     8300769: Remove G1CollectionSet::_inc_bytes_used_before
     ...
 - Merge remote-tracking branch 'upstream/master' into fix-8240567
   
   * upstream/master:
     8298601: Refactor archiving of java.lang.Module objects
     7030853: JDK 7 Serializable Swing classes not compatible with JDK 6
 - Merge remote-tracking branch 'upstream/master' into fix-8240567
   
   * upstream/master:
     8299378: sprintf is deprecated in Xcode 14
     8299520: TestPrintXML.java output error messages in case compare fails
     8294526: sun/security/provider/SubjectCodeSource.java no longer referenced
     8291302: ARM32: nmethod entry barriers support
     8299437: Make InetSocketAddressHolder shallowly immutable
     8299395: Remove metaprogramming/removeCV.hpp
     8288204: GVN Crash: assert() failed: correct memory chain
     8295974: jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames
     8299441: Fix typos in some test files under core-libs component
     8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java
     8298592: Add java man page documentation for ChaCha20 and Poly1305 intrinsics
 - Merge branch 'fix-8240567' of github.com:JabRef/jdk into fix-8240567
   
   * 'fix-8240567' of github.com:JabRef/jdk:
     More recursion
     8299030: Refactor ReservedSpace::reserve
     8299397: Remove metaprogramming/isFloatingPoint.hpp
     8299399: Remove metaprogramming/isArray.hpp
     8299396: Remove metaprogramming/removeExtent.hpp
     8299402: Remove metaprogramming/isVolatile.hpp
     8298652: G1: Refactor G1MarkAndPushClosure
     8299193: (bf) Buffer.capacity should be declared final
     8299187: (bf) ByteOrder.name should be declared final
     8298590: Refactor LambdaForm constructors
     8299398: Remove metaprogramming/isConst.hpp
     8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit
     6257207: JTable.getDefaultEditor throws NullPointerException
     4912623: GTK L&F: Folder list of the JFileChooser is allowing multiple selection unlike native
     8299388: java/util/regex/NegativeArraySize.java fails on Alpine and sometimes Windows
     8299260: libawt and libfreetype should export only explicitly requested symbols
     8299387: CompressedClassPointers.java still fails on ppc with 'Narrow klass shift: 0' missing
     8235297: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java fails intermittent
 - More recursion
   
   Co-authored-by: Christoph <siedlerkiller at gmail.com>
 - Merge remote-tracking branch 'origin/master' into fix-8240567
 - Merge remote-tracking branch 'origin/master' into fix-8240567
   
   * origin/master: (68 commits)
     8298875: A module requiring "java.base" with flags ACC_SYNTHETIC should be rejected
     8288204: GVN Crash: assert() failed: correct memory chain
     8299255: Unexpected round errors in FreetypeFontScaler
     8298645: JNI works with accessibleSelection on a wrong thread
     8298643: JNI call of getAccessibleRowWithIndex and getAccessibleColumnWithIndex on a wrong thread
     8299241: jdk/jfr/api/consumer/streaming/TestJVMCrash.java generates unnecessary core file
     8299172: RISC-V: [TESTBUG] Fix stack alignment logic in jvmci RISCV64TestAssembler.java
     8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops*
     8299237: add ArraysSupport.newLength test to a test group
     8286311: remove boilerplate from use of runTests
     8299194: CustomTzIDCheckDST.java may fail at future date
     8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected
     8299199: Avoid redundant split calls in FontConfiguration.initReorderMap implementations
     8299191: Unnecessarily global friend functions for relocInfo
     8295087: Manual Test to Automated Test Conversion
     8299230: Use https: in links
     8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes
     8299207: [Testbug] Add back test/jdk/java/awt/Graphics2D/DrawPrimitivesTest.java
     8298176: remove OpaqueZeroTripGuardPostLoop once main-loop disappears
     8298887: On the latest macOS+XCode the Robot API may report wrong colors
     ...
 - Refine tests
   
   Co-authored-by: Christoph <siedlerkiller at gmail.com>
   Co-authored-by: Carl Christian Snethlage <50491877+calixtus at users.noreply.github.com>
 - Revert to original SystemModulesPlugin
   
   Co-authored-by: Christoph <siedlerkiller at gmail.com>
   Co-authored-by: Carl Christian Snethlage <50491877+calixtus at users.noreply.github.com>
 - Merge remote-tracking branch 'origin/master' into fix-8240567
 - ... and 8 more: https://git.openjdk.org/jdk/compare/d58c2366...e73760ca

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/10704/files
  - new: https://git.openjdk.org/jdk/pull/10704/files/ede0e87f..e73760ca

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

  Stats: 48380 lines in 2033 files changed: 23815 ins; 11402 del; 13163 mod
  Patch: https://git.openjdk.org/jdk/pull/10704.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10704/head:pull/10704

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


More information about the core-libs-dev mailing list