RFR (M): 8027827: Improve performance of catchException combinator
john.r.rose at oracle.com
Thu Feb 27 20:39:20 UTC 2014
On Feb 26, 2014, at 3:44 AM, Vladimir Ivanov <vladimir.x.ivanov at 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:
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.
More information about the core-libs-dev