RFR: JDK-8322648: Improve class initialization barrier in TemplateTable::_new for PPC [v2]

Martin Doerr mdoerr at openjdk.org
Mon Jan 29 06:16:33 UTC 2024


On Mon, 29 Jan 2024 05:51:45 GMT, Varada M <varadam at openjdk.org> wrote:

>> ppc port implementation of https://github.com/openjdk/jdk/pull/17006
>> 
>> Fastdebug and Release : build and tier1 testing successful.
>> 
>> JBS Issue : [JDK-8322648](https://bugs.openjdk.org/browse/JDK-8322648)
>
> Varada M has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8322648: Improve class initialization barrier in TemplateTable::_new for PPC

Sorry, my comment was wrong. "fully_initialized" check is done in `clinit_barrier`. We only need

    __ lwz(Rinstance_size, in_bytes(Klass::layout_helper_offset()), RinstanceKlass);
    __ andi_(R0, Rinstance_size, Klass::_lh_instance_slow_path_bit);
    __ bne(CCR0, Lslow_case);

(See other platforms for reference.)
Bugs in this code are likely to cause interpreter performance loss and no test failures. The whole purpose of this change is to improve interpreter performance. So, this should be checked. We should either check the petclinic benchmark referenced in the original issue or at least compare performance using -Xint.

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

Changes requested by mdoerr (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/17518#pullrequestreview-1847895107


More information about the hotspot-compiler-dev mailing list