RFR: 8341028: Do not use lambdas or method refs for verifyConstantPool [v3]

duke duke at openjdk.org
Tue Nov 26 23:58:38 UTC 2024


On Mon, 21 Oct 2024 14:13:35 GMT, David M. Lloyd <duke at openjdk.org> wrote:

>> Currently, `ParserVerifier#verifyConstantPool` uses a `switch` to produce a `Runnable`, which is consumed by a `Consumer<Runnable>` (instantiated within a loop) which runs the task inside if a `try`/`catch`. We can eliminate a number of lambdas and method references, plus some allocation pressure, in this code by simplifying it so that the `switch` is itself run directly within the `try`/`catch`.
>
> David M. Lloyd has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
> 
>  - Make sure that we record every error instead of stopping at the first error in a particular CPE
>  - 8341028: Do not use lambdas or method refs for verifyConstantPool
>    
>    Currently, `ParserVerifier#verifyConstantPool` uses a `switch` to produce a `Runnable`, which is consumed by a `Consumer<Runnable>` (instantiated within a loop) which runs the task inside if a `try`/`catch`. We can eliminate a number of lambdas and method references, plus some allocation pressure, in this code by simplifying it so that the `switch` is itself run directly within the `try`/`catch`.

@dmlloyd 
Your change (at version a900d8bbecc903f6b56a6e9091253faba6bd1da7) is now ready to be sponsored by a Committer.

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

PR Comment: https://git.openjdk.org/jdk/pull/21209#issuecomment-2502209103


More information about the core-libs-dev mailing list