Request for reviews (M): 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Tom Rodriguez
tom.rodriguez at oracle.com
Wed Aug 31 10:24:30 PDT 2011
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.
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