<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Apr 8, 2025 at 4:46 PM Magnus Ihse Bursie <<a href="mailto:magnus.ihse.bursie@oracle.com">magnus.ihse.bursie@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div>
<p>On 2025-04-04 12:25, Doerr, Martin wrote:</p>
<blockquote type="cite">
<div>
<p class="MsoNormal"><span style="font-size:11pt">Hi all,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">even if
we deprecate 32 bit now, arm32 will still be usable with JDK
25 LTS for quite some time.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">The big
question is if there will still be a significant demand in 2
years.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">I also
wonder when other projects will terminate arm32 support.</span></p>
</div>
</blockquote>
<p>This ^^^.</p>
<p>The question is not *if* we should stop supporting 32-bit, but
*when*. I don't see anyone arguing that 32-bit platforms have a
long-term future. We can keep the 32-bit JDKs on life support, for
a longer or a shorter time, but frankly, that is what it is.<br>
</p>
<p>Dropping 32-bit completely somewhere between now and the next LTS
release might perhaps be a good idea.</p>
<p>As with any other platforms in the JDK, the remaining 32-bit
support (arm-32 and zero) should have a sponsor, someone
(organization or company) backing it up. That is the general
requirement we have for adding a new platform, and we should have
the same requirement for keeping old platforms in. If we have such
a sponsor, then the onus is on them to keep the platform up to
date with continuous development of the JDK. And if no-one is
willing to step up and assume such a role, well, that is a clear
indication that while it might be "nice to have" 32-bit support,
no-one is willing to pay the price for it. And if so, it should
go.<br>
</p>
<p></p></div></blockquote><div><br></div><div>I 100% agree with this. Let's remove 32-bit support after JDK 25. For the record, this should also include removing zero 32-bit.</div></div><div class="gmail_quote gmail_quote_container"><br></div><div class="gmail_quote gmail_quote_container">/Thomas<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>/Magnus<br>
</p>
<p><br>
</p>
<blockquote type="cite">
<div>
<p class="MsoNormal"><span style="font-size:11pt"></span></p>
<p class="MsoNormal"><span style="font-size:11pt">
<br>
</span></p>
<p class="MsoNormal"><span style="font-size:11pt">Best
regards,</span></p>
<p class="MsoNormal"><span style="font-size:11pt">Martin</span></p>
<p class="MsoNormal"><span> </span></p>
<div id="m_2835942807539228743mail-editor-reference-message-container">
<div>
<div>
<div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) currentcolor currentcolor;padding:3pt 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12pt"><b><span style="color:black">Von:
</span></b><span style="color:black">jdk-dev
<a href="mailto:jdk-dev-retn@openjdk.org" target="_blank"><jdk-dev-retn@openjdk.org></a> im Auftrag von
Johan Vos <a href="mailto:johan.vos@gluonhq.com" target="_blank"><johan.vos@gluonhq.com></a><br>
<b>Datum: </b>Freitag, 4. April 2025 um 11:17<br>
<b>An: </b>Thomas Stüfe
<a href="mailto:thomas.stuefe@gmail.com" target="_blank"><thomas.stuefe@gmail.com></a><br>
<b>Cc: </b>JDK Dev list <a href="mailto:jdk-dev@openjdk.org" target="_blank"><jdk-dev@openjdk.org></a><br>
<b>Betreff: </b>Re: The future of 32-bit?</span></p>
</div>
<div>
<p class="MsoNormal">Hi Thomas, all,</p>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">At the OCW workshop, I expressed
my worries about removing all 32-bit code, because I
feared it would impact the ability to distribute
Java apps to mobile devices (via the existing
stores). As someone pointed out, at the very least
32-bit versions are not a requirement anymore. I did
a bit of research, and while there are still 32-bit
devices in the field, the 2 major stores are pushing
for 64-bits, and discouraging 32 bits -- something
we would call @Deprecated(forRemoval="true"). As a
consequence, zero-32 code is no requirement for iOS,
and arm-32 is no requirement for Android.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">There are still usecases for the
Pi Zero (v1) and older Raspberry Pi devices (<
3). I have no idea about the installed base of those
devices, but I believe it is possible that this
would be the largest group that will suffer if
32-bit support was halted.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Having said that, I fully agree
there is lots of additional work required to keep
32-bit support (the (un)compressed classpointers are
a good example indeed). Though situation.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">- Johan</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
</div>
<p class="MsoNormal"> </p>
<div>
<div>
<p class="MsoNormal">On Fri, Apr 4, 2025 at 9:17<span style="font-family:"Arial",sans-serif"> </span>AM
Thomas Stüfe <<a href="mailto:thomas.stuefe@gmail.com" target="_blank">thomas.stuefe@gmail.com</a>>
wrote:</p>
</div>
<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;border-color:currentcolor currentcolor currentcolor rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal">Hi,</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Continuing our discussion at
the last FOSDEM workshop, I would like to know
what we think about the future of 32-bit
support.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Supporting 32-bit became a
lot more cumbersome after the x86 port was
removed. Before, one could easily build 32-bit
on the ubiquitous x64 platforms with
--target-bits=32; that is not an option anymore.</p>
</div>
<p class="MsoNormal" style="margin-bottom:12pt"><br>
We have two remaining 32-bit platforms, at least
in theory:<br>
<br>
- arm32<br>
- zero 32-bit<br>
<br>
Zero 32-bit has been broken for a long while now;
see <a href="https://bugs.openjdk.org/browse/JDK-8353699" target="_blank">
https://bugs.openjdk.org/browse/JDK-8353699</a>.
I try this occasionally and don't remember the
last time it built successfully.<br>
<br>
Arm32 is the last bastion of serious 32-bit
support, and the last option for testing 32-bit
coding. So, one needs to build arm32 (best done
via crossbuild), then spin up an arm32 system to
test the changes. I do this with a
slow-as-molasses Raspberry. It is not fun.<br>
<br>
Unfortunately, maintaining 32-bit is not as easy
as "make sure it builds and fix smaller things".
It requires real development, especially in the
context of ongoing object header work.<br>
<br>
32-bit also means we need to keep some form of
uncompressed class pointers around, which makes
the eventual removal of uncompressed class
pointers (see [2]) more difficult. The current
plan is to implement some sort of
fake-compressed-class-pointer mode [3], which
sounds easy in theory but is still tricky work I'd
rather avoid.<br>
<br>
Keeping up 32-bit development in the face of
dwindling options to build and test is a struggle.
It has been a struggle for some time now. Even the
comparatively well-maintained arm32 platform had
periodic weeks of brokenness after heavy upstream
changes. And this is not intended to diminish the
effort put in by the arm32-maintainers. They are
few, and they do good work.
</p>
<div>
<p class="MsoNormal">But I expect this periodic
brokenness to worsen now after the removal of
x86. This is not a good situation.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Thank you, Thomas</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<p class="MsoNormal" style="margin-bottom:12pt">[1]
<a href="https://bugs.openjdk.org/browse/JDK-8353699" target="_blank">
https://bugs.openjdk.org/browse/JDK-8353699</a><br>
[2] <a href="https://bugs.openjdk.org/browse/JDK-8350754" target="_blank">https://bugs.openjdk.org/browse/JDK-8350754</a><br>
[3] <a href="https://bugs.openjdk.org/browse/JDK-8350754?focusedId=14757275&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14757275" target="_blank">
https://bugs.openjdk.org/browse/JDK-8350754?focusedId=14757275&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14757275</a></p>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote></div></div>