United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7059047 EA: can't find initializing store with several CheckCastPP
JDK-7059047 : EA: can't find initializing store with several CheckCastPP

Details
Type:
Enhancement
Submit Date:
2011-06-24
Status:
Closed
Updated Date:
2012-03-22
Project Name:
JDK
Resolved Date:
2012-01-23
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs23
Fixed Versions:
hs23 (b06)

Related Reports
Backport:
Backport:

Sub Tasks

Description
The could be several CheckCastPP nodes (with different type) associated with allocation. The code in adjust_escape_state() does take it into account when looking for initializing store. As result an allocation could be marked as ArgEscape when it could be scalar replaced.

Also EA should split escape state ArgEscape into two: ArgEscape when object passed as argument into not inlined call and ControlEscape when an non escaping object can't be scalar replaced because of complex control flow (for example, merge of two allocations).

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/59e515ee9354
                                     
2011-11-08
EVALUATION

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).
                                     
2011-11-08
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/59e515ee9354
                                     
2011-11-15
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/59e515ee9354
                                     
2011-11-29
EVALUATION

See main CR
                                     
2011-11-30
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/59e515ee9354
                                     
2012-03-22



Hardware and Software, Engineered to Work Together