Request for reviews (M): 7079673: JSR 292: C1 should inline bytecoded method handle adapters

Christian Thalinger christian.thalinger at oracle.com
Wed Aug 31 11:45:14 PDT 2011


On Aug 31, 2011, at 7:24 PM, Tom Rodriguez wrote:

> 
> On Aug 31, 2011, at 3:36 AM, Christian Thalinger wrote:
> 
>> 
>> On Aug 30, 2011, at 9:08 PM, Tom Rodriguez wrote:
>> 
>>> c1_GraphBuilder.cpp:
>>> 
>>> +   } else if (receiver->as_CheckCast()) {
>>> 
>>> I think this should be more robust.  The as_Phi and operand_count checks should be part of this guard instead of being asserts.
>> 
>> I changed that and updated the webrev.
>> 
>>> 
>>> I assume this will be updated to do the optimization for VCS as well?  Otherwise it looks good.
>> 
>> For the VCS optimization, I decided to split that off into its own CR since there where a couple of overlaps between C1 and C2.  It's covered by:
>> 
>> 7085404: JSR 292: VolatileCallSites should have push notification too
>> 
>> http://cr.openjdk.java.net/~twisti/7085404/
>> 
>> To get this right the order of pushing these related CRs will be:
>> 
>> 1. 7079673: JSR 292: C1 should inline bytecoded method handle adapters
>> 2. 7085404: JSR 292: VolatileCallSites should have push notification too
>> 3. 7071709: JSR 292: switchpoint invalidation should be pushed not pulled
> 
> These all look good.

Thanks, Tom.  -- Christian

> 
> tom
> 
>> 
>> -- Christian
>> 
>>> 
>>> tom
>>> 
>>> On Aug 30, 2011, at 9:21 AM, Christian Thalinger wrote:
>>> 
>>>> http://cr.openjdk.java.net/~twisti/7079673/
>>>> 
>>>> 7079673: JSR 292: C1 should inline bytecoded method handle adapters
>>>> Reviewed-by:
>>>> 
>>>> The current JSR 292 support in C1 always does an invoke for method
>>>> handle invokes which results in a lot of C2I-I2C transfers.  This
>>>> results in very poor performance.
>>>> 
>>>> src/share/vm/c1/c1_GraphBuilder.cpp
>>>> src/share/vm/c1/c1_GraphBuilder.hpp
>>>> src/share/vm/c1/c1_Instruction.cpp
>>>> src/share/vm/c1/c1_Instruction.hpp
>>>> src/share/vm/classfile/javaClasses.cpp
>>>> src/share/vm/classfile/vmSymbols.hpp
>>>> 
>>> 
>> 
> 



More information about the hotspot-compiler-dev mailing list