RFR 8129547 (S): Excess entries in BootstrapMethods with the same (bsm, bsmKind, bsmStaticArgs), but different dynamicArgs
Aleksey Shipilev
aleksey.shipilev at oracle.com
Mon Aug 17 12:33:58 UTC 2015
Hi,
This issue gets into way with my current work:
https://bugs.openjdk.java.net/browse/JDK-8129547
There is a proof-of-concept patch:
http://cr.openjdk.java.net/~shade/8129547/webrev.00/
The crux of an issue seems to be the Method.equals() call in
DynamicMethod.equals(), that compares the type. The type of
DynamicMethod includes the DynamicMethodSymbol.type, that includes
dynamic args. It seems DynamicMethodSymbol is a better fit for
BootstrapMethod table key, since it includes BSM symbol and static
arguments only.
I would be grateful if somebody from compiler team can help me out with
this. Is this the fix above valid? Can you do it better?
How would one write a regression test for it? My cursory grep through
langtools tests does not yield a clear way to emit a special-shaped indy
for such a test.
Thanks,
-Aleksey
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20150817/c3737348/signature.asc>
More information about the compiler-dev
mailing list