Best regards,
Vladimir Ivanov
On 4/1/14 7:29 PM, Paul Sandoz wrote:
On Apr 1, 2014, at 4:10 PM, Vladimir Ivanov <vladimir.x.iva...@oracle.com>
wrote:
Paul,
Unfortunately, additional profiling doesn't work for Accessor.checkCast case.
The problem is Accessor.checkCast is called from multiple places, so type
profile is very likely to be polluted. And it kills the benefits.
So is there any point in doing such a cast in this case?
The type performing the cast is the field type declared as a parameter in the
MethodType of the MethodHandle and also held by the Accessor.
IIUC the Invokers.checkExactType should ensure no "unsavoury" instances of the
wrong type gets through? (the holder instance is only checked for null, via checkBase).
I don't see any point in doing profiling for this particular case. Such
shape should be well optimized by JIT if it sees that an instance of
Accessor is a constant. As I understand, it should be the case for most
of the usage scenarios.
Best regards,
Vladimir Ivanov
I don't think MethodType helps with profiling in any way. It represents type
info which is necessary for correctness checks. Profiling collects more
fine-grained information (e.g. exact types, values).
OK.
Regarding redundant null check, do you have a test case so I can play with it
myself?
I will send something to you later today or tomorrow.
Paul.
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev