RFR: 8329332: Remove CompiledMethod and CodeBlobLayout classes [v2]
Vladimir Kozlov
kvn at openjdk.org
Mon Apr 1 21:12:00 UTC 2024
On Mon, 1 Apr 2024 21:07:31 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Revert [JDK-8152664](https://bugs.openjdk.org/browse/JDK-8152664) RFE [changes](https://github.com/openjdk/jdk/commit/b853eb7f5ca24eeeda18acbb14287f706499c365) which was used for AOT [JEP 295](https://openjdk.org/jeps/295) implementation in JDK 9. The code was left in HotSpot assuming it will help in a future. But during work on Leyden we decided to not use it. In Leyden cached compiled code will be restored in CodeCache as normal nmethods: no need to change VM's runtime and GC code to process them.
>>
>> I may work on optimizing `CodeBlob` and `nmethod` fields layout to reduce header size in separate changes. In these changes I did simple fields reordering to keep small (1 byte) fields together.
>>
>> I do not see (and not expected) performance difference with these changes.
>>
>> Tested tier1-5, xcomp, stress. Running performance testing.
>>
>> I need help with testing on platforms which Oracle does not support.
>
> Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
>
> Removed not_used state of nmethod
I did not change `src/hotspot/share/code//codeHeapState.cpp` code which counts nmethods with `not_used` state by checking `(!nm->is_not_entrant()` after `(nm->is_in_use())`. Removing `not_used` does not affect it.
The code is complicated and needs separate RFE if we decide to clean it.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18554#issuecomment-2030560338
More information about the shenandoah-dev
mailing list