Scalar replacable object pointers won't be equal to anything else
    Edward Lee 
    edilee at gmail.com
       
    Tue Dec  9 14:25:23 PST 2008
    
    
  
When expanding HashMap.get(new Packed(v1, v2)), it looks something like..
tmp = new Packed(v1, v2)
for (e = table[tmp.hashCode()]; e != null; e = e.next)
  if (e.key == tmp) return e.value
On Tue, Dec 9, 2008 at 2:21 PM, Vladimir Kozlov <Vladimir.Kozlov at sun.com> wrote:
> There is code in CmpPNode::sub() to optimize CmpP for
> allocations. Why it does not work for your case?
For this particular CmpPNode::sub() call, it uses
MemNode::detect_ptr_independence() that eventually calls
MemNode::all_controls_dominate() where the dom node is the LoadP for
list.key and sub node is the tmp Allocate.
The LoadP is inside the loop, so the Allocate node isn't dominated by
all of the LoadP's loop control.
Ed
    
    
More information about the hotspot-dev
mailing list