Integrated: JDK-8331732 : [PPC64] Unify and optimize code which converts != 0 to 1

Suchismith Roy sroy at openjdk.org
Mon Jul 1 08:10:36 UTC 2024


On Tue, 25 Jun 2024 15:35:43 GMT, Suchismith Roy <sroy at openjdk.org> wrote:

> [JDK-8331732](https://bugs.openjdk.org/browse/JDK-8331732)
> The template interpreter contains branch-free conversion code for T_BOOLEAN (TemplateInterpreterGenerator::generate_result_handler_for).
> 
> SharedRuntime::generate_native_wrapper uses unoptimized code to "Unpack the native result" for T_BOOLEAN.
> Power10 has the "setbc" / "setbcr" instruction.
> 
> A new function has been created for the conversion and use "setbcr" on Power10 (determined by VM_Version::has_brw()) and otherwise the branch-free implementation. We should have a function for 32 and one for 64 bit operations (or one with supports both).
> 
> The new code for MacroAssembler::verify_secondary_supers_table  also uses the new function.

This pull request has now been integrated.

Changeset: c7e9ebb4
Author:    Suchismith Roy <sroy at openjdk.org>
Committer: Martin Doerr <mdoerr at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/c7e9ebb4cfff56b7a977eb2942f563f96b3336bd
Stats:     54 lines in 7 files changed: 33 ins; 11 del; 10 mod

8331732: [PPC64] Unify and optimize code which converts != 0 to 1

Reviewed-by: mdoerr, amitkumar

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

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


More information about the hotspot-dev mailing list