RFR: 8268829: Provide an optimized way to walk the stack with Class object only [v9]

Mandy Chung mchung at openjdk.org
Tue Sep 5 17:57:48 UTC 2023


On Tue, 5 Sep 2023 16:44:24 GMT, Brent Christian <bchristi at openjdk.org> wrote:

>> Mandy Chung has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 29 commits:
>> 
>>  - Merge
>>  - Remove the new getInstance method taking varargs
>>  - update mode to be int rather than long
>>  - update tests
>>  - Review feedback on javadoc
>>  - Revised the API change.  Add Option::DROP_METHOD_INFO
>>  - Review feedback from Remi
>>  - fixup javadoc
>>  - Review feedback: move JLIA to ClassFrameInfo
>>  - review feedback and javadoc clean up
>>  - ... and 19 more: https://git.openjdk.org/jdk/compare/c8acab1d...111661bc
>
> test/micro/org/openjdk/bench/java/lang/StackWalkBench.java line 64:
> 
>> 62:             default -> throw new IllegalArgumentException(name);
>> 63:         };
>> 64:     }
> 
> The previous `WALKER_DEFAULT` would not have retained the Class reference, but the new `default` will?

Some benchmarks need the Class reference but some do not.   For simplicity, use only walkers that retain Class reference so that all benchmarks can run with the default walker.

> test/micro/org/openjdk/bench/java/lang/StackWalkBench.java line 360:
> 
>> 358:          }
>> 359:      }
>> 360: 
> 
> I'm fine having this benchmark active by default, though offline we had discussed adding it commented out.

Having a second thought, I keep this active as that would be a good reference number for other benchmarks as they all build test stack.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15370#discussion_r1316213522
PR Review Comment: https://git.openjdk.org/jdk/pull/15370#discussion_r1316215312


More information about the core-libs-dev mailing list