<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<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:Calibri,Helvetica,sans-serif">
<p></p>
<pre style="background-color:#2b2b2b; color:#a9b7c6; font-family:'JetBrains Mono',monospace; font-size:9,8pt"><span style="color:#cc7832">public class </span>bam0 {<br><br>    <span style="color:#cc7832">private static long </span><span style="color:#ffc66d">parseLong</span>(<span style="color:#808080">/*private **/</span>String w)<br>    {<br>        <span style="color:#cc7832">long </span>m = <span style="color:#6897bb">1</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832">        long </span>i = <span style="color:#6897bb">2</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">        long </span>_q = <span style="color:#6897bb">5</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">        long </span>value = <span style="color:#6897bb">0</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832">        for</span>(<span style="color:#cc7832">int </span>p = w.length() - <span style="color:#6897bb">1</span><span style="color:#cc7832">; </span>p >= <span style="color:#6897bb">0</span><span style="color:#cc7832">; </span>--p) {<br>            <span style="color:#cc7832">if</span>( w.charAt(p) == <span style="color:#6a8759">'1' </span>)<br>                value = value + m<span style="color:#cc7832">;<br></span><span style="color:#cc7832">            </span>m = m * <span style="color:#6897bb">2</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832">        </span>}<br>        <span style="color:#cc7832">return </span>value<span style="color:#cc7832">;<br></span><span style="color:#cc7832">    </span>}<br><br>    <span style="color:#629755; font-style:italic">/**<br></span><span style="color:#629755; font-style:italic">     *<br></span><span style="color:#629755; font-style:italic">     * 1  + (512 + 32 + 4) * 5 - 1<br></span><span style="color:#629755; font-style:italic">     *<br></span><span style="color:#629755; font-style:italic">     * 1  + (512 + 32 + 4) * 5 - 1  + 2 * 548 * 5 * 1 - (1  + (512 + 32 + 4) * 5 - 1) * 2<br></span><span style="color:#629755; font-style:italic">     *<br></span><span style="color:#629755; font-style:italic">     * 1  + (512 + 32 + 4) * 5 - 1 + 1  + (512 + 32 + 4) * 5 - 1  + 2 * 548 * 1 - 1 * 2 + 3 * (512 + 32 + 4) * ( 4 + 1 ) * 1 - ( 1  + (512 + 32 + 4) * 5 - 1 ) * (1  + (512 + 32 + 4) * ( 5 - 1  + 2 * 548 * 1 - 1 * 2 ) * 3)<br></span><span style="color:#629755; font-style:italic">     *<br></span><span style="color:#629755; font-style:italic">     * :[<br></span><span style="color:#629755; font-style:italic">     *<br></span><span style="color:#629755; font-style:italic">     *<br></span><span style="color:#629755; font-style:italic">     */<br></span><span style="color:#629755; font-style:italic"><br></span><span style="color:#629755; font-style:italic"><br></span><span style="color:#629755; font-style:italic">    </span><span style="color:#cc7832">public static void </span><span style="color:#ffc66d">main</span>(String[] args) {<br>        <span style="color:#cc7832">int </span>i = (<span style="color:#6897bb">0b101010101010101010 </span>| <span style="color:#6897bb">0b0101101010101010</span>) % <span style="color:#6897bb">0b0110101010101010101001</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832">        while</span>(i > <span style="color:#6897bb">0</span>) {<br>            <span style="font-style:italic">main0</span>(<span style="color:#cc7832">null</span>)<span style="color:#cc7832">; </span>--i<span style="color:#cc7832">;<br></span><span style="color:#cc7832">        </span>}<br>    }<br>    <span style="color:#cc7832">public static void </span><span style="color:#ffc66d">main0</span>(String[] args)<br>    {<br>        <span style="color:#cc7832">long </span>x<span style="color:#cc7832">, </span>y<span style="color:#cc7832">, </span>z<span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">        final long </span>b = <span style="font-style:italic">parseLong</span>(<span style="color:#6a8759">"1000100100"</span>)<span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">        final long </span>a = <span style="font-style:italic">parseLong</span>(<span style="color:#6a8759">"101"</span>)<span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">        </span><span style="color:#808080">//=!!=!=!=!=!=!==!!=!=!=!=!=!==!!=!=!=!==!!=!=!=!=!=!=!==!!=!=!==!=!!==!=!=!!=<br></span><span style="color:#808080">        </span><span style="color:#cc7832">final long </span>m = <span style="font-style:italic">parseLong</span>(<span style="color:#6a8759">"1"</span>)<span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">        </span>x = <span style="color:#6897bb">1</span><span style="color:#cc7832">; </span>y = <span style="color:#6897bb">0</span><span style="color:#cc7832">; </span>z = <span style="color:#6897bb">0</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832">        for</span>(<span style="color:#cc7832">int </span>_b = <span style="color:#6897bb">0</span><span style="color:#cc7832">; </span>_b < <span style="color:#6897bb">3</span><span style="color:#cc7832">; </span>++_b) {<br>            x = x + b*a - m<span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">            </span>y = <span style="color:#6897bb">2</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832">            for</span>(<span style="color:#cc7832">int </span>_a = <span style="color:#6897bb">0</span><span style="color:#cc7832">; </span>_a < <span style="color:#6897bb">4</span><span style="color:#cc7832">; </span>++_a) {<br>                y = x + y * b * a * m - x * y<span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">                </span>z = <span style="color:#6897bb">3</span><span style="color:#cc7832">;<br></span><span style="color:#cc7832">                for</span>(<span style="color:#cc7832">int </span>_m = <span style="color:#6897bb">0</span><span style="color:#cc7832">; </span>_m < <span style="color:#6897bb">5</span><span style="color:#cc7832">; </span>++_m) {<br>                    z = x + y + z * b * a * m - x * y * z<span style="color:#cc7832">;<br></span><span style="color:#cc7832"><br></span><span style="color:#cc7832">                    </span>System.<span style="color:#9876aa; font-style:italic">out</span>.println(x)<span style="color:#cc7832">; </span><span style="color:#808080">// 2740<br></span><span style="color:#808080">                    </span>System.<span style="color:#9876aa; font-style:italic">out</span>.println(y)<span style="color:#cc7832">; </span><span style="color:#808080">// 2740<br></span><span style="color:#808080">                    </span>System.<span style="color:#9876aa; font-style:italic">out</span>.println(z)<span style="color:#cc7832">; </span><span style="color:#808080">// -22509100<br></span><span style="color:#808080"><br></span><span style="color:#808080"><br></span><span style="color:#808080"><br></span><span style="color:#808080"><br></span><span style="color:#808080"><br></span><span style="color:#808080"><br></span><span style="color:#808080"><br></span><span style="color:#808080"><br></span><span style="color:#808080">                </span>}<br>            }<br>        }<br><br>        <span style="color:#808080">//System.out.println("x:" + x + "|y:" + y + "|z:" + z);<br></span><span style="color:#808080">    </span>}<br>}<br></pre>
<br>
<p></p>
</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>Von:</b> client-libs-dev <client-libs-dev-retn@openjdk.java.net> im Auftrag von Phil Race <prr@openjdk.java.net><br>
<b>Gesendet:</b> Montag, 9. Mai 2022 22:24:50<br>
<b>An:</b> client-libs-dev@openjdk.java.net; security-dev@openjdk.java.net<br>
<b>Betreff:</b> [EXT] Re: RFR: JDK-8286348: incorrect use of `@serial` [v3]</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">On Mon, 9 May 2022 20:19:45 GMT, Jonathan Gibbons <jjg@openjdk.org> wrote:<br>
<br>
>> Please review a fix to remove incorrect use of the `@serial` tag from the doc comments for methods such as `readObject` and `readResolve`. The tag has no effect in this position other than to trigger warnings from the standard doclet when running javadoc.<br>
>> <br>
>> There is no change to the generated documentation as a result off this change. In particular, there is no change to the API docs for any of the modified files, or to the overall top-level serialized-form.html file.<br>
>> <br>
>> Although most of the affected files are in the `java.desktop` module, there is one outlier, in `java.security.Provider`.<br>
><br>
> Jonathan Gibbons has updated the pull request incrementally with one additional commit since the last revision:<br>
> <br>
>   Fix whitespace (blank lines) after merge<br>
<br>
Marked as reviewed by prr (Reviewer).<br>
<br>
-------------<br>
<br>
PR: <a href="https://git.openjdk.java.net/jdk/pull/8586">https://git.openjdk.java.net/jdk/pull/8586</a><br>
</div>
</span></font>
</body>
</html>