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

Tom Rodriguez tom.rodriguez at oracle.com
Thu Aug 25 11:34:13 PDT 2011


On Aug 25, 2011, at 11:21 AM, 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.
> 
> Maybe the call to assert_call_site_target_value should be guarded by a check whether the field is marked final.

target isn't final.  The semantics of the field are captured in the subclass.  It's true you don't need the dependence for ConstantCallSite though.

tom

> 
> 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.
> 
> -- 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