JDK-8217998: Remove method_type field associated with the appendix field of an indy or method handle call

Karen Kinnear karen.kinnear at oracle.com
Mon Feb 4 20:57:59 UTC 2019


Lois,

Apologies for my suggestion which caused you extra work - I did not read it carefully enough.
Thank you for the careful testing.

I don’t need to see a new webrev.

thanks,
Karen

> On Feb 4, 2019, at 2:18 PM, Lois Foltan <lois.foltan at oracle.com> wrote:
> 
> On 2/4/2019 1:45 PM, Lois Foltan wrote:
>> On 2/4/2019 11:53 AM, Karen Kinnear wrote:
>>> Lois,
>>> 
>>> Code looks good. Couple of minor questions.comments
>> Thank you Karen for the review!  Addressed all your comments below please see additional responses.  Updated webrev at:
>> 
>> http://cr.openjdk.java.net/~lfoltan/bug_jdk8217998.2/webrev/
>> 
>> Rerunning hs-tier1-3 & jdk-tier1-3 testing.
>> 
>>> 
>>> 1. rewriter.hpp: comment line 162 needs updating - we just use 1 entry now
>> Fixed the comment and also renamed the method from "add_invokedynamic_resolved_references_entries" to "add_invokedynamic_resolved_references_entry".  We were always only adding 1 entry even though previously that entry spanned multiple slots in the _invokedynamic_references_map.
>> 
>>> 
>>> 2. jvmciCompilerToVM.cpp
>>> You removed an assertion about method_type_if_resolved.
>>> Would it make sense to add an assertion that !has_local_sig - which if I am reading this correctly,
>>> you are setting to indicate sig-poly methods?
>> Added.
> Clarification on webrev .2 above, it does not contain the addition of the assertion as I indicated in my response.  The original assertion was not simply about whether a method_type was present or not.  It was about either the method_type is not present or the method_type is present and has not yet been resolved.  So a replacement of that vmassert with a call to has_local_signature does not equate and numerous compiler/aot tests were failing when I retested.
> 
> Thanks,
> Lois
> 
>> 
>>> 
>>> Does jvmci use the method_type field?  Or was removing this assertion the only change needed?
>> This was the only instance of the use.  However, I have sent email to Dean Long and cc'd Vladimir Kozlov asking for review.
>> 
>>> 
>>> 3. ciStreams.cpp
>>> comment line 367: “There is are” -> “There are”
>> Fixed.
>> 
>>> 
>>> 4. ciStreams.cpp
>>> line 336 sets local_signature
>>> Would it make sense to only do that inside the check for if (has_local_signature()) - e.g. after line 393?
>> Fixed.
>> 
>>> 
>>> 5. Testing - the comments in ciStreams.cpp get_method are very helpful
>>> Are there existing tests for these cases or do we need any new ones?
>> I did check the tests within jdk/java/lang/invoke, numerous scenarios for VH.get(), Lambda form for a method call dealing with linkStatic as the comments indicate, and tests dealing with variable arity, etc.  So I believe the cases are covered.
>> 
>> Thanks,
>> Lois
>> 
>>> 
>>> thanks,
>>> Karen
>>> 
>>>> On Feb 4, 2019, at 7:32 AM, Lois Foltan <lois.foltan at oracle.com> wrote:
>>>> 
>>>> Please review this change that removes the unused method_type field associated with the appendix field of an indy or method handle call.  This is the first of a series of changes working towards JDK-8210685: Bootstrap method consolidation.
>>>> 
>>>> open webrev at: http://cr.openjdk.java.net/~lfoltan/bug_jdk8217998.1/webrev/
>>>> bug link: https://bugs.openjdk.java.net/browse/JDK-8217998
>>>> co-contributors: Lois Foltan & John Rose
>>>> 
>>>> Testing: hs-tier1-4 & jdk-tier1-3 (all platforms), hs-tier5-8 (linux only), JCK vm & lang (linux only)
>>>> 
>>>> Thanks,
>>>> Lois
>> 
> 



More information about the hotspot-dev mailing list