[JDK8] RFR (XS): JSR292: IncompatibleClassChangeError in LambdaForm for CharSequence.toString() method handle type converter
John Rose
john.r.rose at oracle.com
Tue Jan 21 11:25:32 PST 2014
On Jan 15, 2014, at 6:49 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
> John would know the answer.
>
> Given this change should go into JDK 8 I think we should push for now. If we can come up with a better way to handle these situations we can push another change for 9 or 8u20.
(Back from vacation.)
Vladimir's change for bytecode generation is safe. It assumes something stable, which is that virtual invocation mode can apply to interfaces only because they inherit Object. Therefore we can back off from invokevirtual to invokeinterface, without changing behavior.
FTR, this fix may be redundant with this changeset:
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/9063bd8808a7
...and specifically with the line of code which says "m_klass = m_klass_non_interface". This redundancy is of the belt-and-suspenders kind; it could be changed to an assert, but is fine the way it is.
Thanks for fixing this!
— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140121/37ace1e3/attachment-0001.html
More information about the hotspot-compiler-dev
mailing list