<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 22, 2013, at 9:35 PM, Igor Veresov &lt;<a href="mailto:igor.veresov@oracle.com">igor.veresov@oracle.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 22, 2013, at 8:33 PM, Christian Thalinger &lt;<a href="mailto:christian.thalinger@oracle.com">christian.thalinger@oracle.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><b style="font-family: Times; ">src/cpu/x86/vm/c1_LIRAssembler_x86.cpp:</b><div><pre><font color="blue"><b>+ #ifdef _LP64</b></font>
<font color="blue"><b>+   Register thread = r15_thread;</b></font>
<font color="blue"><b>+ #else</b></font>
<font>    __ get_thread(rsi);</font>
<b><font color="red">!</font><font>   </font><s><font color="red">__ movptr(rax, Address(rsi, JavaThread::exception_oop_offset()))</font></s><font>;</font></b>
<s><font color="red"><b>    __ movptr(Address(rsi, JavaThread::exception_oop_offset()), (intptr_t)NULL_WORD);</b></font></s>
<b><font color="red">!</font><font>   __ movptr(</font><s><font color="red">Address(rsi, JavaThread::exception_pc_offset()), (intptr_t)NULL_WORD</font></s><font>);</font></b>
<b><font color="blue">!</font><font>   </font><u><font color="blue">Register thread = rsi</font></u><font>;</font></b>
<b><font color="blue">+</font><font></font><font color="blue"> #endif</font></b></pre></div><div>I'd prefer using LP64_ONLY and NOT_LP64 on one line.</div></div></blockquote><div><br></div><div>There is get_thread() on 32bit, it's not going to be one line. But I agree it's better looking.</div><div>Review updated in-place.</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div><b style="font-family: Times; ">src/share/vm/c1/c1_LIRGenerator.cpp:</b><div><pre><font>    if (x-&gt;pass_thread()) {</font>
<b><font color="red">!</font><font>     signature-&gt;append(</font><s><font color="red">T_ADDRESS);</font></s><font></font></b>
<b><font color="blue">!</font><font>     signature-&gt;append(</font><u><font color="blue">LP64_ONLY(T_LONG) NOT_LP64(T_INT));    // thread</font></u><font></font></b>
<font>      args-&gt;append(getThreadPointer());</font>
<font>    }</font>
</pre><div>Why can it not be T_ADDRESS?</div></div></div></div></blockquote><div><br></div><div>It can, but getThreadPointer() returns either T_INT or T_LONG (probably historically) and I'd like it to be consistent.</div><div>Speaking of T_ADDRESS, this change also fixes the size of &nbsp;the T_ADDRESS spill, which was always 4 bytes.</div></div></div></blockquote><div><br></div>I see. &nbsp;Makes sense then. &nbsp;Looks good.</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><br></div><div>igor</div><div><br></div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div><div><div>On Oct 22, 2013, at 8:18 PM, Igor Veresov &lt;<a href="mailto:igor.veresov@oracle.com">igor.veresov@oracle.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">A bunch of problems here, starting from use of wrong calling convention in LIR_Assembler::emit_unwind_handler() - it simply hasn't been ported to 64bit.<br>Also, there are a bunch of holes left in C1 to support T_METADATA. The relevant for this problem are the calling convention generation, and the register allocator support.<br><br>Webrev: <a href="http://cr.openjdk.java.net/~iveresov/8026495/">http://cr.openjdk.java.net/~iveresov/8026495/</a><br><br>Testing: Java2Demo with -XX:+DTraceMethodProbes, JPRT run in progress<br><br>igor</blockquote></div><br></div></div></blockquote></div><br></div></blockquote></div><br></body></html>