RFR: 8309751: Duplicate constant pool entries added during default method processing [v2]

Coleen Phillimore coleenp at openjdk.org
Thu Apr 4 13:40:59 UTC 2024


On Thu, 4 Apr 2024 04:38:06 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Look at equals:
>> 
>>   static bool equals(BytecodeCPEntry const& e0, BytecodeCPEntry const& e1) {
>>     return e0._tag == e1._tag && e0._u.value == e1._u.value;
>>   }
>
> That is technically undefined behaviour.

I believe that.  If this is also undefined behavior

  static unsigned hash(BytecodeCPEntry const& e0) {
    return (unsigned)(e0._tag ^ e0._u.value);
  }

Then this BytecodeCPEntry class needs to be restructured a bit, which shouldn't be in this PR.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18548#discussion_r1551706623


More information about the hotspot-runtime-dev mailing list