On Feb 26, 2014, at 3:44 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> 
wrote:

>> 
>> Maybe use invokeWithArguments with target and catcher?  That at least is
>> a one-liner, and probably more efficient.
> 
> Yes, that's a good idea! At least, it considerably simplifies the code.
> 
> Updated webrev:
> http://cr.openjdk.java.net/~vlivanov/8027827/final/webrev.03/

Thumbs up.

Your use of invokeWithArguments in the unspecialized code is a good design 
pattern.  The semantics are clear in the original method.  This in turn gives a 
clear basis for specializing for each combination of argument arities and 
types.  Specialization should be done using low-level, high-leverage mechanisms 
like bytecode spinning or even JIT optimizations.

Put another way, if we have reasonable bytecode-generation intrinsics, feeding 
to good JIT optimizations, we don't need top-level specializations in the 
source code.  The need for those has always been a mark of weakness in the 
HotSpot implementation of MHs.  (Fredrik's JRockit implementation did it all in 
the JIT!)  We will continue to push down specializations to lower layers.

— John
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to