<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Garamond,Georgia,serif">
<p>Hi Chris,</p>
<p><br>
</p>
<p>> <font size="2"><span style="font-size:10pt">Do you know why it doesn't decompile the code? I see in your output:</span></font><br>
</p>
<p><br>
</p>
<p>Thanks for responding! I knew there was a problem with procyon but I thought it was packaged with diffoscope. However, it is not. I manually updated procyon to the
<a href="https://github.com/mstrobel/procyon/releases/tag/v0.6.0" class="x_OWAAutoLink">
latest release</a> as of today and it does not throw an exception anymore.</p>
<p><br>
</p>
<p>> <font size="2"><span style="font-size:10pt">diffoscope tries procyon first and determines whether that shows any<br>
difference. If it doesn't, it will fallback to javap. (And then to<br>
hexdump.)</span></font></p>
<p><br>
</p>
<p>Sounds good! Thank you!<br>
</p>
<p><br>
</p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,"EmojiFont","Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div id="x_m_4935352394101912768Signature">
<div name="x_divtagdefaultwrapper"><font size="2" color="#808080"><span style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif; background-color:rgb(255,255,255)"><span id="x_divtagdefaultwrapper" style="font-size:12pt">
<div style="margin-top:0; margin-bottom:0"><span style="color:rgb(0,0,0); font-family:Garamond,Georgia,serif">Regards,</span></div>
<span style="font-family:Garamond,Georgia,serif"></span><span style="font-family:Garamond,Georgia,serif"></span><span style="color:rgb(0,0,0)"></span><span style="font-family:Garamond,Georgia,serif"></span><span style="font-family:Garamond,Georgia,serif"></span>
<div style="margin-top:0; margin-bottom:0"><span style="color:rgb(0,0,0); font-family:Garamond,Georgia,serif">Aman Sharma</span></div>
</span><br>
</span></font></div>
<div name="x_divtagdefaultwrapper"><font size="2" color="#808080"><span style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif; background-color:rgb(255,255,255)"></span><span class="x_im">PhD Student<br style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif">
<span style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif; background-color:rgb(255,255,255)">KTH Royal Institute of Technology</span><br style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif">
</span><span style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif; background-color:rgb(255,255,255)">School of Electrical Engineering and Computer Science (EECS)</span><br style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif">
<span style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif; background-color:rgb(255,255,255)">Department of Theoretical Computer Science (TCS)</span><br style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif">
<span style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif; background-color:rgb(255,255,255)"><a href="http://www.kth.se" target="_blank" id="LPNoLP"></a><a href="https://www.kth.se/profile/amansha" class="x_OWAAutoLink" id="LPNoLP"></a><a href="https://www.kth.se/profile/amansha" class="x_OWAAutoLink" id="LPNoLP"></a></span></font></div>
</div>
<a href="https://www.kth.se/profile/amansha" class="x_OWAAutoLink" id="LPNoLP"><span style="font-size:10pt"></span></a><a href="https://algomaster99.github.io/" class="x_OWAAutoLink" id="LPNoLP">https://algomaster99.github.io/</a><br>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Chris Lamb <chris@reproducible-builds.org><br>
<b>Sent:</b> Thursday, July 25, 2024 2:11:37 PM<br>
<b>To:</b> Aman Sharma<br>
<b>Cc:</b> diffoscope<br>
<b>Subject:</b> Re: [diffoscope] diffoscope (JVM bytecode) is not supported for Java 21</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hello Aman,<br>
<br>
> I have been using diffoscope to diff between Java classfiles. However, <br>
> it seems to be unsupported for JDK >= 21 because procyon fails to <br>
> decompile the code.<br>
<br>
Do you know why it doesn't decompile the code? I see in your output:<br>
<br>
> │┄ Command `'procyon -ec {}'` failed with exit code 1. Standard output:<br>
<br>
Can you run that on the command line? In the first instance, it would<br>
be great to get confirmation that your procyon installation works<br>
fine. Or, putting it another way: if procyon cannot disassemble the<br>
code, there is very little that diffoscope can do.<br>
<br>
> With JDK 17, diffoscope either shows the diff between the disassembled <br>
> output or decompiled output (side question, how does it decide between <br>
> the two?).<br>
<br>
diffoscope tries procyon first and determines whether that shows any<br>
difference. If it doesn't, it will fallback to javap. (And then to<br>
hexdump.)<br>
<br>
<br>
Best wishes,<br>
<br>
-- <br>
      o<br>
    ⬋   ⬊      Chris Lamb<br>
   o     o     reproducible-builds.org 💠<br>
    ⬊   ⬋<br>
      o<br>
</div>
</span></font>
</body>
</html>