<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<font size="4" face="monospace">Let me fill in some history here. <br>
<br>
Much of the design process for this library could be described as
an iterated game of "find the primitive." The first version of
the API had a zillion ad-hoc methods, with little structural
relation. At some point we hit upon a model-driven analysis, and
broke down instructions into families (loads, stores, etc), and at
that point, we thought methods like loadInstruction were the
primitives. But we hadn't actually hit bottom yet; after many
rounds of refactoring, it became clear that there was one
primitive for the builder hierarchy, now called `with`, and all of
the builder methods now bottom out at that. <br>
<br>
At the same time, we added a number of "convenience" methods such
as aload_0() and aload(int n) (which now just delegate to with()
or loadInstruction()), and over time, we found that most
generative use cases used these methods much more than the
primitives (which is fine.) <br>
<br>
At this point, I think many of the xxxInstruction (and its rigid
naming convention) are vestiges of a previous attempt to organize
the API. Some still have uses, though should be renamed to
reflect that they are mere conveniences (such as
arrayLoadInstruction to arrayLoad). <br>
<br>
(Does anyone use operator(opcode), or can we drop that one too?)<br>
<br>
So I support this simplification. <br>
<br>
Having done the refactor, were there any surprises in the usages
of various CodeBuilder methods?<br>
<br>
</font><br>
<div class="moz-cite-prefix">On 1/5/2024 10:38 AM, Adam Sotona
wrote:<br>
</div>
<blockquote type="cite" cite="mid:DS0PR10MB684775A5A5EF0A3D721A31C78C662@DS0PR10MB6847.namprd10.prod.outlook.com">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style>@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}@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:"Roboto Mono";
panose-1:0 0 0 9 0 0 0 0 0 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0cm;}ul
{margin-bottom:0cm;}</style>
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">j.l.classfile.CodeBuilder
API consist of
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">more than
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">230
methods.</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">Existing
ClassFile API use cases proved the concept
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">of
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">one
big CodeBuilder is comfortable. However there are some
redundancies, glitches in the naming, some frequently used
methods are hard to find and some methods have low practical
use.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">Majority</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">
of the methods may be
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">divided</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">
into three main
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">levels</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">:</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D"><br>
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">1.</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">
methods building low level bytecode instructions according
to JVMS chapter 6.5 (aaload, aastore, aconst_null...)</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D"><br>
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">2.</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">
methods reconstructing individual subtypes of
j.l.classfile.Instruction from given arguments
(loadInstruction, storeInstruction, incrementInstruction,
branchInstruction...)</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D"><br>
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">3.</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white">
methods modeling high level code blocks (block, ifThen,
ifThenElse, trying...)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">Many methods from level 2 (with suffix
`Instruction`) seem to be obsolete or misplaced. Some of
them are duplicates of methods from level 1, some are
obsolete and some are very useful, however a bit hidden. </span>
<span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D" lang="EN-US">The API should be cleaned a bit while in
preview.<span style="background:white"><o:p></o:p></span></span></p>
<p style="mso-margin-top-alt:7.5pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm">
<span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">I would like to open a discussion on the
following proposed
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D">changes
in </span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D" lang="EN-US">the
</span><span style="font-size:10.0pt;font-family:"Roboto Mono";color:#172B4D">CodeBuilder</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D"> methods</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D" lang="EN-US">:<o:p></o:p></span></p>
<ul type="disc">
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">incrementInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as duplicate of </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">iinc</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">lookupSwitchInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as duplicate of </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">lookupswitch</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">tableSwitchInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as duplicate of </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">tableswitch</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">throwInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as duplicate of </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">athrow</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">invokeDynamicInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as duplicate of </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">invokedynamic</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">stackInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as obsolete with suggested replacements: </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">with(StackInstruction.of(...))</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">monitorInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as obsolete with suggested replacements: </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">monitorenter</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB">, </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">monitorexit</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB">,
or </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">with(MonitorInstruction.of(...))</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">nopInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as duplicate of </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">nop</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">typecheckInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> remove
as obsolete with suggested replacements: </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">checkcast</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB">, </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">instanceOf</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB">,
or </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">with(TypeCheckInstruction.of(...))</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">loadInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">loadLocal</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">storeInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">storeLocal</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">branchInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">branch</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">invokeInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">invoke</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newObjectInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newObject</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newPrimitiveArrayInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newPrimitiveArray</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newReferenceArrayInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newReferenceArray</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newMultidimensionalArrayInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">newMultidimensionalArray</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">arrayLoadInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">arrayLoad</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">arrayStoreInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">arrayStore</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">convertInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">conversion</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">operatorInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">operator</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">constantInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">loadConstant</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">fieldInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">fieldAccess</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">instanceof_</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">instanceOf</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">returnInstruction</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"> rename
to </span><span style="font-size:10.0pt;font-family:"Roboto Mono";mso-ligatures:none;mso-fareast-language:EN-GB">return_</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></li>
</ul>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">Here is the related RFE:
</span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:black;background:white" lang="EN-US"><a href="https://bugs.openjdk.org/browse/JDK-8323058" moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8323058</a></span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;background:white" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:black;background:white" lang="EN-US">Draft of the CSR (no spec yet):
<a href="https://bugs.openjdk.org/browse/JDK-8323067" moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8323067</a></span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;background:white" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">And draft of the Pull Request:
<a href="https://github.com/openjdk/jdk/pull/17282" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/openjdk/jdk/pull/17282</a></span><span style="font-size:10.5pt;font-family:"Arial",sans-serif;background:white" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;background:white" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">Any comments are welcome.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">Thank you,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:#172B4D;background:white" lang="EN-US">Adam<o:p></o:p></span></p>
</div>
</blockquote>
<br>
</body>
</html>