RFR: 8357220: Introduce a BSMAttributeEntry struct [v4]

Johan Sjölen jsjolen at openjdk.org
Wed Jun 18 12:27:31 UTC 2025


On Wed, 18 Jun 2025 02:28:32 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

>> Johan Sjölen has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Move it to public
>
> src/hotspot/share/oops/constantPool.cpp line 1953:
> 
>> 1951:       k1 = bsm_attribute_entry(idx1)->argument_index(j);
>> 1952:       k2 = cp2->bsm_attribute_entry(idx2)->argument_index(j);
>> 1953:       match = compare_entry_to(k1, cp2, k2);
> 
> Nit: I'd suggest to define two locals to simplify the code as below:
> 
>   BSMAttributeEntry* e1 = bsm_attribute_entry(idx1);
>   BSMAttributeEntry& e2 = cp2->bsm_attribute_entry(idx12);
>  
>   int k1 = e1->bootstrap_method_index();
>   int k2 = e2->bootstrap_method_index();
>   bool match = compare_entry_to(k1, cp2, k2);
> 
>   if (!match) {
>     return false;
>   }
>   int argc = e1->argument_count();
>   if (argc == e2->argument_count()) {
>     for (int j = 0; j < argc; j++) {
>       k1 = e1->argument_index(j);
>       k2 = e2->argument_index(j);
>       match = compare_entry_to(k1, cp2, k2);

Yeah, that's a good simplification.

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

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


More information about the serviceability-dev mailing list