RFR: 8357220: Introduce a BSMAttributeEntry struct

Johan Sjölen jsjolen at openjdk.org
Tue May 20 06:36:54 UTC 2025


On Mon, 19 May 2025 07:35:16 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

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

> 576:          _indy_argv_offset = 2   // u2 argv[argc]
> 577:   };
> 578: 

@plummercj , this is where the enum constants come from.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25298#discussion_r2097063232


More information about the hotspot-dev mailing list