Request for reviews (M): 6941529: SharedRuntime::raw_exception_handler_for_return_address must reset thread MethodHandle flag

Vladimir Kozlov vladimir.kozlov at ORACLE.COM
Wed Apr 7 09:49:27 PDT 2010


Christian,

Why you use int type to save boolean value?

Next was confusing:

+   // Reset MethodHandle flag.
+   thread->set_is_method_handle_return(false);

since:

!   void set_is_method_handle_return(int value)    { _is_method_handle_return = value; }

Thanks,
Vladimir

Christian Thalinger wrote:
> http://cr.openjdk.java.net/~twisti/6941529/webrev.01/
> 
> 6941529: SharedRuntime::raw_exception_handler_for_return_address must reset thread MethodHandle flag
> Summary: During testing a bug was hit when an exception returned to the interpreter and the SP was wrong.
> Reviewed-by: 
> 
> During SPARC JSR 292 testing I hit a bug when an exception returned to
> the interpreter and the SP was wrong.  That happened because the
> is_method_handle_exception flag in thread was not reset and still
> true.
> 
> The suggested fix is to reset the flag on method entry.
> 
> Additionally with this fix I'd like to rename
> is_method_handle_exception to is_method_handle_return since that name
> fits better.
> 
> src/cpu/x86/vm/c1_Runtime1_x86.cpp
> src/cpu/x86/vm/runtime_x86_32.cpp
> src/cpu/x86/vm/sharedRuntime_x86_64.cpp
> src/cpu/x86/vm/stubGenerator_x86_32.cpp
> src/share/vm/opto/runtime.cpp
> src/share/vm/runtime/sharedRuntime.cpp
> src/share/vm/runtime/thread.hpp
> 
> 


More information about the hotspot-compiler-dev mailing list