RFR(S) - JDK-8013875: Incorrect vtable index being set during methodHandle creation for static methods
christian.thalinger at oracle.com
Tue May 7 14:53:52 PDT 2013
On May 6, 2013, at 3:08 PM, Bharadwaj Yadavalli <bharadwaj.yadavalli at oracle.com> wrote:
> Thanks for the quick review, John.
> On 5/6/2013 5:49 PM, John Rose wrote:
>> Because a 'vmindex' of -1 is a sentinel value, use a manifest constant known to be different from 'nonvirtual_vtable_index'.
>> - int vmindex = -1;
>> + int vmindex = Method::invalid_vtable_index;
>> (It was -1 before simply as a garbage value likely to raise an assertion if it leaked through.)
> OK. Changed. Updated webrev.
Don't we have a helper function to get that value?
+ int ref_kind = ((java_lang_invoke_MemberName::flags(mname()) >>
+ REFERENCE_KIND_SHIFT) & REFERENCE_KIND_MASK);
>> Note: We will need to clean this up after CallInfo is cleaned up to handle the new linkage results. Does the CallInfo cleanup have a bug ID yet?
> I have not yet filed a tracker for CallInfo cleanup.
>> If not I will file a bug for it.
> Please do so. I think you would be able to provide a better description of the task at hand along with the necessary context.
> JBS: https://jbs.oracle.com/bugs/browse/JDK-8013875
> Webrev: http://cr.openjdk.java.net/~bharadwaj/8013875/webrev/
More information about the hotspot-compiler-dev