Request for reviews (XL): 6655646: dynamic languages need dynamically linked call sites

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Tue Apr 14 14:28:39 PDT 2009


Do you have changes for src/share/native/common/check_code.c?  I know  
there's some fallback mode for the verifier and I wasn't sure how that  
interacted with the new bytecode.  I assume that above a certain major  
version we don't support fallback to the old verifier?

interpreter_x86_32.cpp:

Either the code or the comment about "put FPU results into xmm0" is  
wrong since they comment says one thing and the code does the  
opposite.  I don't think either the code or comment is needed.  The  
result of this code should be that the unboxed value should be on top  
of the FPU and the T_FLOAT/T_DOUBLE cases handle that correctly.  Right?

templateTable_x86_32.cpp:

Can you convert table_addr expression to just use if instead of  
stacking ?: 2 deep?  Also could neg_byte_no just be  
is_invdyn_bootstrap for it's whole life?  neg_byte_no isn't used  
anywhere else that I can see.

abstractInterpreter.hpp:

I think the subword access stuff seems wrong.  The interpreter doesn't  
have subword types so assigning only the 1 byte of a byte or the 2  
bytes of a char or short leaves the upper part of the word with the  
wrong value when in fact they should contain either the sign or zero  
extended bits.

Otherwise this looks good.

tom

On Apr 9, 2009, at 6:59 PM, John Rose wrote:

> Here is the second-largest piece, the implementation of invokedynamic.
>
>  http://cr.openjdk.java.net/~jrose/6655646/webrev.00
>
> Note that the compilers do not handle the instruction, in this  
> version of the code.  That will be a separate bug fix.
>
> -- John




More information about the hotspot-compiler-dev mailing list