On Tue, 7 May 2024 18:47:34 GMT, Chen Liang <li...@openjdk.org> wrote:
>> Adam Sotona has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 28 commits: >> >> - Merge branch 'master' into JDK-8320396-verifier-extension >> - added references to jvms >> - Merge remote-tracking branch 'openjdk/master' into >> JDK-8320396-verifier-extension >> - work in progress >> - work in progress >> - work in progress >> - work in progress >> - work in progress >> - removed string templates from test >> - work in progress >> - ... and 18 more: https://git.openjdk.org/jdk/compare/ae82405f...3ebc780a > > src/java.base/share/classes/jdk/internal/classfile/impl/verifier/ParserVerifier.java > line 167: > >> 165: } >> 166: if (m.methodName().equalsString(CLASS_INIT_NAME) >> 167: && !m.flags().has(AccessFlag.STATIC)) { > > Do we verify it has void return and (since class file version JAVA 7) takes > no args? The static requirement is since JAVA 7 too. This is a first round of transcription from `classFileParser.cpp` and I most probably missed many verifications applied there. Feel free to point to a specific verification code in the `classFileParser.cpp` I missed, however to avoid very complex synchronization I preferred to do not invent a custom list of verifications. Relevant parts are widely spread across the specifications and collecting and tracking them would be very complex task. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16809#discussion_r1595228471