[9] RFR (XS): 8146983: C1: assert(appendix.not_null()) failed for invokehandle bytecode
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Wed Jan 13 13:53:18 UTC 2016
http://cr.openjdk.java.net/~vlivanov/8146983/webrev.00
https://bugs.openjdk.java.net/browse/JDK-8146983
Assertion added in 8140659 is too strong: sometimes appendix patching
for invokehandle happens when there's no appendix argument.
Appendix is present only for MH::invoke (_invokeGeneric; see
LinkResolver::lookup_polymorphic_method). MH::invokeExact doesn't have
an appendix. But C1 uses patching for all unresolved invokedynamic &
invokehandle call sites (see GraphBuilder::invoke and
Bytecodes::has_optional_appendix).
The fix is to remove the assertion.
Also, fixed a leftover from 8140659: appendix resolution for
invokehandle should be idempotent as well.
Testing: JPRT
Best regards,
Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list