RFR: 8285447: StackWalker minimal batch size should be optimized for getCallerClass [v4]

Volker Simonis simonis at openjdk.org
Tue Sep 12 14:43:42 UTC 2023


On Mon, 11 Sep 2023 17:52:56 GMT, Mandy Chung <mchung at openjdk.org> wrote:

>> Typically it will find the caller class at the second stack frame from the frame of executing `StackWalker::getCallerClass`.   The initial size of the buffer can be changed from 8 to 4 (the top 2 elements are reserved for implementation use).   If it fetches another batch, `getCallerClass` may be invoked via core reflection, so subsequent batches can be increased to a larger size.   This PR also moves the benchmark for `getCallerClass` in its own file because it does not need to test with different depth and can be separated from StackWalkBench.
>
> Mandy Chung has updated the pull request incrementally with one additional commit since the last revision:
> 
>   cleanup

Looks good. Thanks for doing the proposed changes.

src/java.base/share/classes/java/lang/StackStreamFactory.java line 766:

> 764:         @Override
> 765:         protected int batchSize(int lastBatchFrameCount) {
> 766:             // this method is only called when the caller class is not found in

Minor nit: start sentence with an uppercase letter.

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

Marked as reviewed by simonis (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15642#pullrequestreview-1622420644
PR Review Comment: https://git.openjdk.org/jdk/pull/15642#discussion_r1323147343


More information about the core-libs-dev mailing list