Default methods for jdk8: request for code review
David Holmes
david.holmes at oracle.com
Sun Oct 28 22:15:03 PDT 2012
Hi Keith,
The more I look at this the more questions that come to mind. :)
Can you expand on the rationale for using overpass methods instead of
augmenting the existing method lookup procedures. I'm concerned about
its impact on startup time - and given that we have not yet added all
the default methods that will be added, nor do we know for certain which
interfaces will get what methods, I don't think we can measure this yet.
In LinkResolver::resolve_method we would previously bail out if the
resolved_klass is in fact an interface. But now we will pass that
interface to both lookup_method_in_klasses and
lookup_method_in_interfaces. That sounds wrong - should the names of
these methods be updated?
In instanceKlass.cpp in the new interface initialization section why do
you refer to the "superclass initialization error"? Are we simply
pretending that any failure here was actually a superclass failure? And
if so, is that temporary?
Thanks,
David
On 27/10/2012 1:07 AM, Keith McGuigan wrote:
>
> Thanks, Coleen,
>
> I need just one more reviewer. If someone has time, here is the code and design/impl overview:
>
> http://cr.openjdk.java.net/~kamg/default_methods_in_hotspot.txt
> http://cr.openjdk.java.net/~kamg/default_methods/
>
> --
> - Keith
>
>
> On Oct 26, 2012, at 9:57 AM, Coleen Phillimore wrote:
>
>>
>> Hi,
>> I have read through all of this code. Offline to Keith, I have suggested some name changes and comments to make it clearer, at least to me, what this code is doing. It's very dense but I believe it is correct and finds the correct default method to add to the vtable in the most efficient way possible.
>> Keith, can you elaborate on the tests that you've run against this?
>> Thanks,
>> Coleen
>>
>> On 10/10/2012 1:12 PM, Keith McGuigan wrote:
>>> Hello,
>>>
>>> I'd like any review of the code which implements default methods in the JVM. This is destined for jdk8 as part of JSR 335 (Lambdas), and tracked by CR 7200776.
>>>
>>> The design and implementation is described in this short document:
>>> http://cr.openjdk.java.net/~kamg/default_methods_in_hotspot.txt
>>>
>>> And the code is here:
>>> http://cr.openjdk.java.net/~kamg/default_methods/
>>>
>>> Any review (even partial) would be appreciated. Thanks!
>>>
>>> --
>>> - Keith
>
More information about the hotspot-dev
mailing list