Default methods for jdk8: request for code review

Vitaly Davidovich vitalyd at
Thu Oct 11 05:04:20 PDT 2012


In defaultMethods.cpp, I think there are a few places missing a
ResourceMark, e.g. print_exception() but there are others.  If you search
for as_C_string() you'll find them.

In genericSignatures.cpp, DescriptorStream::parse_error() asserts that the
error is null - is that right?

Also, assert_char() - does the buffer need to be from the resource area?
I'd think a stack one would work here?

Sorry for the piecemeal comments - I'm looking at the code on my phone so
it's a bit slower :).


Sent from my phone
On Oct 10, 2012 8:09 PM, "Keith McGuigan" <keith.mcguigan at> wrote:

> You know I think I just picked it randomly as a prime that was close to
> 1024.  I suppose by that criteria 1021 would have worked too.
> Either of those are probably overkill, though.  And you're right that
> using a prime isn't necessary.  Maybe I should change that to 256 or
> something else a little more memory-usage-friendly.
> Thanks!
> --
> - Keith
> On 10/10/2012 7:59 PM, Vitaly Davidovich wrote:
>> Hi Keith,
>> In ResourceHashtable, how did you settle on size 1019? I see it's a
>> prime so presumably you're worried about collisions? I'd think a power
>> of 2 would give you some speed up as you can avoid the relatively
>> expensive mod operation, but just curious what your thinking is here.
>> Nice job on the "short" :) writeup by the way.
>> Thanks
>> Sent from my phone
>> On Oct 10, 2012 1:12 PM, "Keith McGuigan" <keith.mcguigan at
>> <mailto:keith.mcguigan at oracle.**com <keith.mcguigan at>>> 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:
>>     And the code is here:
>>     Any review (even partial) would be appreciated.  Thanks!
>>     --
>>     - Keith

More information about the lambda-dev mailing list