Request for reviews (S): 7071709: JSR 292: switchpoint invalidation should be pushed not pulled

Christian Thalinger christian.thalinger at oracle.com
Fri Aug 26 02:16:26 PDT 2011


On Aug 25, 2011, at 8:21 PM, John Rose wrote:

> That's nice and clean.
> 
> One question:  What happens when a CallSite optimizes down to a ConstantCallSite?  It looks like a useless dependency will get inserted.

Right.  That slipped through the cracks.  I also changed the check in callGenerator.

> 
> Maybe the call to assert_call_site_target_value should be guarded by a check whether the field is marked final.

I'm not sure I understand.  The target field isn't final.

> 
> Also, get_field_by_offset should be called on the actual type of the ciCallSite, not env->CallSite_klass.  Otherwise you might get NULL for the ciField, if the target fields are split out across different call site subclasses.

Are there plans to do this?  I changed ciField::is_call_site_target to check for subclasses of CallSite.

-- Christian

> 
> -- John
> 
> On Aug 25, 2011, at 6:54 AM, Christian Thalinger wrote:
> 
>> http://cr.openjdk.java.net/~twisti/7071709/
>> 
>> 7071709: JSR 292: switchpoint invalidation should be pushed not pulled
>> Reviewed-by:
>> 
>> SwitchPoints use a MutableCallSite for its implementation.  The fix is
>> to treat the target field of constant CallSites as a compile time
>> constant and add a dependence for invalidation of the optimization.
>> 
>> src/share/vm/opto/memnode.cpp
>> src/share/vm/opto/parse3.cpp
>> 
> 



More information about the hotspot-compiler-dev mailing list