Request for reviews (M): 7059047: EA: can't find initializing store with several CheckCastPP

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Nov 1 11:41:00 PDT 2011


http://cr.openjdk.java.net/~kvn/7059047/webrev

7059047: EA: can't find initializing store with several CheckCastPP

Added new escape state: ControlEscape. Use it instead of ArgEscape and (NoEscape 
&& !_scalar_replaceable) in cases where not escaped objects can't be scalar 
replaced because of flow-insensitive analysis limitations. It is preparation for 
  7105605 changes.

Split adjust_escape_state() method into two. New find_init_values() method is 
used to find fields initializing values for not escaped allocations. It is 
called before deferred edges are removed since it affects results. 
adjust_escape_state() now is called after all deferred edges are removed to get 
correct results.

Factored out escape state propagation code into new method propagate_escape_state().

Removed methods is_scalar_replaceable() and hidden_alias() which are not used 
and corresponding fields in PointsToNode (which will reduce used memory).

Tested with CTW, jtreg, NSK, refworkload.

Thanks,
Vladimir


More information about the hotspot-compiler-dev mailing list