[9] RFR (M): 8050052: Small cleanups in java.lang.invoke code

Remi Forax forax at univ-mlv.fr
Fri Jul 11 17:56:04 UTC 2014


On 07/11/2014 06:18 PM, Vladimir Ivanov wrote:
> http://cr.openjdk.java.net/~vlivanov/8050052/webrev.00
> https://bugs.openjdk.java.net/browse/JDK-8050052

I've found myself writing the very same code as 
MethodHandleStatics.uncaughException several times
and I wonder if it should not be an instance method of Throwable.
Something like:

public <E extends Throwable> E rethrow(Function<? super Throwable, ? 
extends E> uncaughtHandler) {
   if (this instanceof RuntimeException) {
throw (RuntimeException)this;
   }
   if (this instanceof Error) {
     throw (Error)this;
   }
   return uncaughtHandler.apply(this);
}

in that case, throw uncaughtException(ex) can be replaced by throw 
ex.rethrow(::newInternalError);

cheers,
Rémi

>
> Numerous small code cleanups in java.lang.invoke package.
>
> Testing: jtreg, nashorn, octane w/ "-ea -esa" and 
> COMPILE_THRESHOLD={0,30}.
>
> Reviewed-by: vlivanov, ?
> Contributed-by: john.r.rose at oracle.com
>
> Thanks!
>
> Best regards,
> Vladimir Ivanov
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev




More information about the core-libs-dev mailing list