RFR: 8314220: Configurable InlineCacheBuffer size [v3]
Vladimir Kozlov
kvn at openjdk.org
Tue Nov 21 00:35:12 UTC 2023
On Mon, 20 Nov 2023 22:19:50 GMT, Ekaterina Vergizova <evergizova at openjdk.org> wrote:
>> InlineCacheBuffer size is currently hardcoded to 10K.
>> This can lead to multiple ICBufferFull safepoints for InlineCacheBuffer cleanup and possible performance degradation.
>>
>> Added experimental command line option InlineCacheBufferSize with the same default value, allowing it to be configured for performance experiments with ICBufferFull safepoints frequency.
>
> Ekaterina Vergizova has updated the pull request incrementally with one additional commit since the last revision:
>
> Changed type, removed unnecessary guarantees
src/hotspot/share/code/stubs.cpp line 221:
> 219: // verify alignment
> 220: guarantee(_buffer_size % stub_alignment() == 0, "_buffer_size not aligned");
> 221: guarantee(_buffer_limit % stub_alignment() == 0, "_buffer_limit not aligned");
Why these were removed?
src/hotspot/share/compiler/compilerDefinitions.cpp line 503:
> 501: jio_fprintf(defaultStream::error_stream(),
> 502: "Invalid InlineCacheBufferSize=" SIZE_FORMAT "K. Must be less than NonNMethodCodeHeapSize=" SIZE_FORMAT "K.\n",
> 503: InlineCacheBufferSize/K, NonNMethodCodeHeapSize/K);
You need to check for alignment of the value. In [StubQueue()](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/code/stubs.cpp#L70) it is aligned up by `2*BytesPerWord` so the final value could be > `InlineCacheBufferSize`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15271#discussion_r1399891240
PR Review Comment: https://git.openjdk.org/jdk/pull/15271#discussion_r1399896133
More information about the hotspot-dev
mailing list