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

John Rose John.Rose at Sun.COM
Tue Apr 21 18:34:15 PDT 2009


On Apr 14, 2009, at 2:28 PM, Tom Rodriguez wrote:

> 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?

It's a separate review, unfortunately, since it's in the JDK.  See  
three files in http://cr.openjdk.java.net/~jrose/6829144/webrev.00/ ,  
check_code.c, classfile_constants.h, opcodes.in_out.

> 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?

You are right.  Thanks for catching that; I'm not sure how the code  
got into that state.

> 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.

OK, both done.

> 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.

Yes, that's right.  I got rid of subword_addr_in_slot.

> Otherwise this looks good.

Thanks!  -- John

> 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