On 2019-10-22 15:55, David Holmes wrote:
With your change interface I's registerNatives default method is
invoked successfully. I don't think this is a major backward
compatibilty issue but we should have someone from core-libs okay the
removal of the method from Object before committing. In addition,
can you add this test as part of your change? I think it would be
okay to put it in open/test/hotspot/jtreg/runtime/8024804 which
contains an existing registerNatives test.
Yeah, *not* throwing an IAE on this feels like an unintentional bug fix.
:-)
Yes it is a somewhat surprising aspect of default method resolution, but
methods in the class hierarchy must be considered ahead of any default
method - even inaccessible ones.
We're relaxing a very subtle interaction, so I think compatibility
issues with existing code is non-existing.
I don't think there is a compatibility issue here because we don't in
general have to maintain error compatibility. However as it is a change
in behaviour it does warrant a CSR request just so the compatibility
argument is captured/recorded.
Filed and drafted a CSR: https://bugs.openjdk.java.net/browse/JDK-8232801
Thanks!
/Claes