<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Calibri Light";
panose-1:2 15 3 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
{mso-style-name:x_msonormal;
margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle23
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style></head><body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word"><div class="WordSection1"><p class="MsoNormal">How about only for the original, immutable elementlist prior to any transforms?</p><p class="MsoNormal"> </p><p class="MsoNormal">Also, not sure what you meant by a (index, element) pair.</p><p class="MsoNormal"> </p><p class="MsoNormal">Thanks, Mark</p><p class="MsoNormal"> </p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> Chen Liang <<a href="mailto:chen.l.liang@oracle.com">chen.l.liang@oracle.com</a>> <br><b>Sent:</b> Wednesday, May 7, 2025 11:03 AM<br><b>To:</b> Mark Roberts <<a href="mailto:markro@cs.washington.edu">markro@cs.washington.edu</a>>; <a href="mailto:classfile-api-dev@openjdk.org">classfile-api-dev@openjdk.org</a><br><b>Subject:</b> Re: [External] : are CodeElements unique?</p></div></div><p class="MsoNormal"> </p><div><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Calibri Light",sans-serif;color:black">Hi Mark,</span></p></div><div><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Calibri Light",sans-serif;color:black">Very good question - and the answer is unfortunately, no. Transforms are allowed to reuse code models, and I think the bound Code attribute expansion also returns duplicate load or store instructions.</span></p></div><div><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Calibri Light",sans-serif;color:black">To ensure identity, I think tracking a pair of (index, element) is better.</span></p></div><div><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Calibri Light",sans-serif;color:black"> </span></p></div><div><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Calibri Light",sans-serif;color:black">Regards,</span></p></div><div><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Calibri Light",sans-serif;color:black">Chen Liang</span></p></div><div class="MsoNormal" align="center" style="text-align:center"><hr size="2" width="98%" align="center"></div><div id="divRplyFwdMsg"><p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Mark Roberts <<a href="mailto:markro@cs.washington.edu">markro@cs.washington.edu</a>><br><b>Sent:</b> Wednesday, May 7, 2025 12:43 PM<br><b>To:</b> <a href="mailto:classfile-api-dev@openjdk.org">classfile-api-dev@openjdk.org</a> <<a href="mailto:classfile-api-dev@openjdk.org">classfile-api-dev@openjdk.org</a>><br><b>Cc:</b> Chen Liang <<a href="mailto:chen.l.liang@oracle.com">chen.l.liang@oracle.com</a>><br><b>Subject:</b> [External] : are CodeElements unique?</span> </p><div><p class="MsoNormal"> </p></div></div><div><div><p class="xmsonormal">Are the members of a CodeModel.elementList() unique? Specifically, is it safe to use a CodeElement as the key value in a Map?</p><p class="xmsonormal"> </p><p class="xmsonormal">Thank you,</p><p class="xmsonormal">Mark</p><p class="xmsonormal"> </p></div></div></div></body></html>