RFR: 8357220: Introduce a BSMAttributeEntry struct [v4]

Matias Saavedra Silva matsaave at openjdk.org
Tue Jun 17 16:32:33 UTC 2025


On Mon, 9 Jun 2025 13:58:09 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

>> Hi,
>> 
>>  The constant pool currently has a lot of methods specific to extracting parts of the operands array. What this array actually is, is a sequence of bootstrap method attribute entries, where each entry has the following components:
>> 
>> ```c++
>> struct BSMAE {
>>   u2 bootstrap_method_index;
>>   u2 argument_count;
>>   u2 arguments[argument_count];
>> }
>> 
>> 
>> We can removes some of these operands array specific methods, and instead allows you to extract BSMAttributeEntrys which you can then use to extract its piece wise components. This makes for a nicer interface, and a bit easier to come into as a reader of the code, as it more closely mirrors the JVMS. 
>> 
>> Please consider!
>> 
>> Testing: Currently GHA, running tier1-tier3
>
> Johan Sjölen has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Move it to public

Changes look good, thanks for doing this!

src/hotspot/share/oops/constantPool.hpp line 85:

> 83:   u2 _argument_count;
> 84: 
> 85:   const u2* argument_indexes() const {

I agree with Lois that some comments here would be useful. I think the original comment can stay where it is and you can add some extra details here.

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

Marked as reviewed by matsaave (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25298#pullrequestreview-2936238823
PR Review Comment: https://git.openjdk.org/jdk/pull/25298#discussion_r2152626054


More information about the serviceability-dev mailing list