Request for reviews (S): 6997459: JSR 292 after 6994093 getting: on return to interpreted call, restored SP is corrupted

Christian Thalinger christian.thalinger at oracle.com
Thu Nov 4 11:24:31 PDT 2010


On Nov 4, 2010, at 7:00 PM, Vladimir Kozlov wrote:
> Christian,
>
> What value O0 has on entry? The same as O5? You do not explain why  
> you did
> next change. Before you store O5 and now O0 (at the beginning of  
> method):
>
>    __ delayed()->nop();
> !   __ mov(O5_mtype, G5_method_type);  // required by  
> throw_WrongMethodType
> ---
> !   __ mov(O0_mtype, G5_method_type);  // required by  
> throw_WrongMethodType
>    // mov(G3_method_handle, G3_method_handle);  // already in this  
> register

Yeah, that is a little confusing.  The entry point is not at the  
beginning of the code but at line 101 here:

http://cr.openjdk.java.net/~twisti/6997459/webrev.01/src/cpu/sparc/vm/methodHandles_sparc.cpp.sdiff.html

The code before that line is exception handling and the branching code  
sets O0 to the right value.

-- Christian


More information about the hotspot-compiler-dev mailing list