On Thu, 19 Jun 2025 07:35:33 GMT, Johan Sjölen <jsjo...@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: > > Double check your changes next time! Thank you for the update. The fix looks good. I've posted one more nit though. src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp line 414: > 412: write_u2(num_bootstrap_arguments); > 413: for (int arg = 0; arg < num_bootstrap_arguments; arg++) { > 414: u2 bootstrap_argument = > cpool()->bsm_attribute_entry(n)->argument_index(arg); Nit: This line can also use the `bsme` local: `u2 bootstrap_argument = bsme->argument_index(arg);` Sorry, I missed this before. ------------- Marked as reviewed by sspitsyn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/25298#pullrequestreview-2941919683 PR Review Comment: https://git.openjdk.org/jdk/pull/25298#discussion_r2156344933