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