[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-compiler-dev
Subject:    Re: RFR (S): 7196277: JSR 292: Two jck/runtime tests crash on java.lang.invoke.MethodHandle.invokeEx
From:       Vladimir Kozlov <vladimir.kozlov () oracle ! com>
Date:       2013-04-30 3:18:21
Message-ID: 517F37FD.9040701 () oracle ! com
[Download RAW message or body]

Looks good to me.
CC to runtime group since you changed throw_unsatisfied_link_error().

Thanks,
Vladimir

On 4/29/13 5:36 PM, Christian Thalinger wrote:
> http://cr.openjdk.java.net/~twisti/7196277
> 
> 7196277: JSR 292: Two jck/runtime tests crash on \
> java.lang.invoke.MethodHandle.invokeExact Reviewed-by:
> 
> The problem is the logic in InterpreterGenerator::generate_native_entry: it checks \
> for an oop return value and tries to unbox it before pending exceptions are thrown. \
>  If throw_unsupported_operation_exception (which is a void method!) is called for a \
> native method that has an oop return type the native entry tries to unbox the value \
> in the return register. Which happens to be okay for debug builds but for product \
> builds contains a random value and that crashes the VM. 
> The fix is to not install a native entry point to eventually throw the exception \
> when being called but throw the UnsupportedOperationException in \
> NativeLookup::lookup. 
> This patch also hardens throw_unsatisfied_link_error to find a similar issue more \
> easily in the future. 
> src/share/vm/prims/nativeLookup.cpp
> src/share/vm/runtime/sharedRuntime.cpp
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic