review request (M): 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one

Tom Rodriguez tom.rodriguez at oracle.com
Tue May 17 13:06:36 PDT 2011


MethodTypeForm.java:

-            if (c != null) {
+            if (c == void.class)
+                c = null;  // a Void parameter was unwrapped to void; ignore
+            if (c != null && c != void.class) {

You don't need to both tests against void.class do you?

Otherwise it looks good.

tom

On May 17, 2011, at 4:37 AM, John Rose wrote:

> http://cr.openjdk.java.net/~jrose/7044892/webrev.00/
> 
> 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one
> 
> This is basically a bundle of point fixes having to do with corner cases.
> 
> Grouped under this bug:
> 
> 7038847: MethodType.fromMethodDescriptorString accepts both "binary names"/"internal form of binary names"
> 7038860: MethodType.methodType(Class rtype, Class[] ptypes) doesn't throw NPE if ptypes is null
> 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke
> 7042829: JSR292: MethodHandles$Lookup.findStatic[S|G]etter throws InternalError if SecurityManager is set
> 7041853: findGetter throws unexpected IllegalAccessException
> -NOBUG-: asCollector throws ArrayIndexOutOfBoundsException instead of IllegalArgumentException for values outside [0..255]
> -NOBUG-: asVarargsCollector gets wrong trailing parameter type
> -NOBUG-: MethodType.unwrap on chokes on void if class Void occurs in the parameter list
> -NOBUG-: MethodHandle.toString need to produce compliant output



More information about the hotspot-compiler-dev mailing list