<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<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:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.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><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Re: “</span>You can try convincing the maintainers of the port that committing to it is worth their while”<span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">That is indeed what I was hoping to do by sending this email, by showing that perhaps there are benefits that hadn’t been considered
</span><span style="font-size:11.0pt;font-family:Wingdings;color:#1F497D">J</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Ron Pressler <ron.pressler@oracle.com>
<br>
<b>Sent:</b> Tuesday, February 28, 2023 7:47 AM<br>
<b>To:</b> Yagnatinsky, Mark : Markets Pre Trade <mark.yagnatinsky@barclays.com><br>
<b>Cc:</b> jdk-dev@openjdk.java.net<br>
<b>Subject:</b> Re: In defense of the Windows x86-32 Port<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p><span style="color:#010101">CAUTION: This email originated from outside our organisation -
<a href="mailto:ron.pressler@oracle.com">ron.pressler@oracle.com</a> Do not click on links, open attachments, or respond unless you recognize the sender and can validate the content is safe.</span><o:p></o:p></p>
<p class="MsoNormal">Hi.  <o:p></o:p></p>
<div>
<p class="MsoNormal">A couple of things. <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">1. All ports can support virtual threads — which are part of the Java SE specification — thanks to the “fallback” implementation that creates an OS thread for every virtual thread; it conforms to the spec, although doesn’t give you the
 scaling benefit that requires an implementation of continuations in the VM. I believe a similar fallback implementation is in the works for Panama’s foreign-function API, another feature that some ports have fallen behind on a “high quality” implementation.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">2. The fact that a port, or any feature for that matter, has some good uses is not sufficient. The OpenJDK JDK is among the world’s most important software infrastructures, and has a high bar of quality as so much important software depends
 on it. For a port to continue being part of the OpenJDK JDK it needs people who *commit* to maintaining it at the requisite quality and pace, and sometimes the *level* of demand is insufficient to justify the investment required, especially if there is greater
 demand for other things that compete for that investment. You can try convincing the maintainers of the port that committing to it is worth their while, but ultimately it’s up to them. If no one is willing to commit to maintenance at the required level, the
 port can still continue being maintained at a lower commitment level (possibly by volunteer “hobbyists"), but outside the OpenJDK JDK project.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">— Ron<o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On 26 Feb 2023, at 05:09, <a href="mailto:mark.yagnatinsky@barclays.com">
mark.yagnatinsky@barclays.com</a> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">I saw this JEP draft today:<span class="apple-converted-space"> </span><a href="https://clicktime.symantec.com/15siKz6nwiCzX6j3M9ESg?h=tXvIPP5-t54EtJnbmxt7o6NQltejHeiz8ycKoiXBrQs=&u=https://openjdk.org/jeps/8303167"><span style="color:#954F72">https://openjdk.org/jeps/8303167</span></a>. 
 It suggests deprecating the 32-bit Windows port of OpenJDK.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">And even though it’s “just a draft” it does mention Java 21 (which is pretty soon), so I thought I might as well put in my “two cents” now instead of waiting to see whether
 or not this ends up going anywhere.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The draft is written as though the (primary?) purpose of the port is to support running Java on 32-bit versions of Windows.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Those are indeed very rare, and getting even rarer.  But I appreciate the 32-bit builds even though I haven’t run a 32-bit version of Windows in ages.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Unlike MacOS, it is possible (and effortless) to run 32-bit executables on 64-bit Windows.  There are at least 2 reasons to do so:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The obvious reason is that maybe someone has some native code they’re calling via JNI, and they don’t have a 64-bit version handy.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The other reason is perhaps less obvious, and perhaps I’m the only person in the world who considers this a “reason” at all, but it motivated me to write this email so here
 it is:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The restriction to 32-bits is pretty effective as a poor man’s substitute for a proper sandbox.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">For example, the draft JEP talks about Project loom, a topic near and dear to me.  When I first heard of Project loom, I wanted to run two silly experiments.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The first experiment was to launch as many “platform” threads as I could, and thus get a feel for how much they “cost”.  The second experiment was to do the same for “virtual”
 threads.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">I actually carried out the first experiment, on a 32-bit JVM.  I did not dare to try the same experiment on a 64-bit JVM.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The reason is that I knew that with a 32-bit JVM, I would run out of address space before anything bad happened.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">But if I tried the same thing with a 64-bit JVM, then for all I know I might bring my poor laptop to its knees and might even be forced to restart.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">I’ve been eagerly awaiting Alexey Shipilev’s 32-bit port (is anyone else besides him working on this?) ever since then so I could try the “loom” part of the experiment.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">I’ll be a bit disappointed if it never appears.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Anyway, that’s my two cents; thanks if you read this far.<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;caret-color: rgb(0, 0, 0);font-variant-caps: normal;text-align:start;-webkit-text-stroke-width: 0px;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">This message is for information purposes only. It is not a recommendation, advice, offer or solicitation to buy or sell a product or service, nor an official confirmation of any transaction. It
 is directed at persons who are professionals and is intended for the recipient(s) only. It is not directed at retail customers. This message is subject to the terms at:<span class="apple-converted-space"> </span><a href="https://clicktime.symantec.com/15sik95DEncxaprf4wEBn?h=-XI8XmNQJ-vRphve2bGN4QVSqJktNJzOCJG8_AhkTEg=&u=https://www.cib.barclays/disclosures/web-and-email-disclaimer.html"><span style="color:#954F72">https://www.cib.barclays/disclosures/web-and-email-disclaimer.html</span></a>.<span class="apple-converted-space"> </span><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;caret-color: rgb(0, 0, 0);font-variant-caps: normal;text-align:start;-webkit-text-stroke-width: 0px;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica",sans-serif">For important disclosures, please see:<span class="apple-converted-space"> </span><a href="https://clicktime.symantec.com/15sifJsvnAwNAt2jXNq3A?h=39T3p9sy6NWuZPi8boVqnpkvVgY6Sv4Jf7So58uh_oE=&u=https://www.cib.barclays/disclosures/sales-and-trading-disclaimer.html"><span style="color:#954F72">https://www.cib.barclays/disclosures/sales-and-trading-disclaimer.html</span></a><span class="apple-converted-space"> </span>regarding
 marketing commentary from Barclays Sales and/or Trading desks, who are active market participants;<span class="apple-converted-space"> </span><a href="https://clicktime.symantec.com/15siQpJ5QKtaw3YxthdbJ?h=5uE5861LaOm72Y5qpeABmjqfHGTiiMfPqnjYoeMWnDE=&u=https://www.cib.barclays/disclosures/barclays-global-markets-disclosures.html"><span style="color:#954F72">https://www.cib.barclays/disclosures/barclays-global-markets-disclosures.html</span></a><span class="apple-converted-space"> </span>regarding
 our standard terms for Barclays Corporate and Investment Bank where we trade with you in principal-to-principal wholesale markets transactions; and in respect to Barclays Research, including disclosures relating to specific issuers, see:<span class="apple-converted-space"> </span><a href="https://clicktime.symantec.com/15siF9uWV6XQ79u7oaqJ4?h=C2ecytkIETVyvfVfb4ia4UlJZRkob5fD-VyeURaJxRU=&u=http://publicresearch.barclays.com/"><span style="color:#954F72">http://publicresearch.barclays.com</span></a>.<br>
__________________________________________________________________________________<span class="apple-converted-space"> </span><br>
If you are incorporated or operating in Australia, read these important disclosures:<span class="apple-converted-space"> </span><a href="https://clicktime.symantec.com/15siVeVMrwaBLzNtSG2jv?h=G3BgciBMWwZKAvQngfJyS02TS3-FzU_eZsG99W_JtMY=&u=https://www.cib.barclays/disclosures/important-disclosures-asia-pacific.html"><span style="color:#954F72">https://www.cib.barclays/disclosures/important-disclosures-asia-pacific.html</span></a>.<br>
__________________________________________________________________________________<br>
For more details about how we use personal information, see our privacy notice:<span class="apple-converted-space"> </span><a href="https://clicktime.symantec.com/15siaUgeKZFmkwCoypRtY?h=iliNJRcuD2njj-3TBQz6e5NOx8Wdl8OUjOPzIvsshMc=&u=https://www.cib.barclays/disclosures/personal-information-use.html"><span style="color:#954F72">https://www.cib.barclays/disclosures/personal-information-use.html</span></a>.<span class="apple-converted-space"> </span><br>
__________________________________________________________________________________<o:p></o:p></span></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>

<P><SPAN lang=EN-US style="mso-ansi-language: EN-US">This message is for 
information purposes only. It is not a recommendation, advice, offer or 
solicitation to buy or sell a product or service, nor an official confirmation 
of any transaction. It is directed at persons who are professionals and is 
intended for the recipient(s) only. It is not directed at retail customers. This 
message is subject to the terms at: <A 
href="https://www.cib.barclays/disclosures/web-and-email-disclaimer.html">https://www.cib.barclays/disclosures/web-and-email-disclaimer.html</A>. 
</SPAN></P>
<P><SPAN lang=EN-US style="mso-ansi-language: EN-US">For important disclosures, 
please see: <A 
href="https://www.cib.barclays/disclosures/sales-and-trading-disclaimer.html">https://www.cib.barclays/disclosures/sales-and-trading-disclaimer.html</A> 
regarding marketing commentary from Barclays Sales and/or Trading desks, who are 
active market participants; <A 
href="https://www.cib.barclays/disclosures/barclays-global-markets-disclosures.html">https://www.cib.barclays/disclosures/barclays-global-markets-disclosures.html</A> 
regarding our standard terms for Barclays Corporate and Investment Bank where we 
trade with you in principal-to-principal wholesale markets transactions; and in 
respect to Barclays Research, including disclosures relating to specific 
issuers, see: <A 
href="http://publicresearch.barclays.com">http://publicresearch.barclays.com</A>.<BR>__________________________________________________________________________________ 
<BR>If you are incorporated or operating in Australia, read these important 
disclosures: <A 
href="https://www.cib.barclays/disclosures/important-disclosures-asia-pacific.html">https://www.cib.barclays/disclosures/important-disclosures-asia-pacific.html</A>.<BR>__________________________________________________________________________________<BR>For 
more details about how we use personal information, see our privacy notice: <A 
href="https://www.cib.barclays/disclosures/personal-information-use.html">https://www.cib.barclays/disclosures/personal-information-use.html</A>. 
<BR>__________________________________________________________________________________<BR></O:P></SPAN></P>
</body>
</html>