kvn [Thu, 06 Mar 2008 20:58:16 -0800] rev 213
6670459: Fix Node::dump() performance
Summary: dump full ideal graph takes forever.
Reviewed-by: never, rasbold
kvn [Thu, 06 Mar 2008 10:53:33 -0800] rev 212
6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
kvn [Thu, 06 Mar 2008 10:30:17 -0800] rev 211
6667610: (Escape Analysis) retry compilation without EA if it fails
Summary: During split unique types EA could exceed nodes limit and fail the method compilation.
Reviewed-by: rasbold
kvn [Wed, 05 Mar 2008 11:33:31 -0800] rev 210
6671250: In Parse::do_if() old Cmp node 'c' should be replaced with new one after BoolNode transformation
Summary: In Parse::do_if() 'c' (CmpNode) node may be changed during BoolNode transformation so 'c' may became dead but the node is referenced later in the code.
Reviewed-by: never
kvn [Fri, 29 Feb 2008 19:57:41 -0800] rev 209
6667618: disable LoadL->ConvL2I ==> LoadI optimization
Summary: this optimization causes problems (sizes of Load and Store nodes do not match) for objects initialization code and Escape Analysis
Reviewed-by: jrose, never
kvn [Fri, 29 Feb 2008 19:07:15 -0800] rev 208
6667588: Don't generate duplicated CMP for float/double values
Summary: float CMove generation add duplicated CMPF if there are more then one Move depending on the condition.
Reviewed-by: jrose, never, rasbold
kvn [Fri, 29 Feb 2008 11:22:27 -0800] rev 207
6667581: Don't generate initialization (by 0) code for arrays with size 0
Summary: generate_arraycopy() does not check the size of allocated array.
Reviewed-by: jrose, never
kvn [Fri, 29 Feb 2008 09:57:18 -0800] rev 206
6667580: Optimize CmpP for allocations
Summary: CmpP could be optimized out if it compares new allocated objects.
Reviewed-by: jrose, never, rasbold
kvn [Thu, 28 Feb 2008 15:40:09 -0800] rev 205
6667573: Use set_req_X() in AddPNode::Ideal() for Iterative GVN
Summary: set_req_X() puts dependent nodes on IGVN worklist which allows to improve graph and gives more opportunities for EA scalar replacement.
Reviewed-by: jrose, never
kvn [Thu, 28 Feb 2008 10:45:15 -0800] rev 204
6590177: jck60019 test assert(!repeated,"do not walk merges twice")
Summary: A mergemem node could be not in worklist_store but in should_not_repeat vectorset since it was processed and removed from worklist_store before.
Reviewed-by: jrose, never
jrose [Wed, 27 Feb 2008 00:23:37 -0800] rev 203
6610906: inexplicable IncompatibleClassChangeError
Summary: dependency check must treat polymorphic interfaces consistently
Reviewed-by: kvn, never, sgoldman
kvn [Mon, 25 Feb 2008 15:05:44 -0800] rev 202
6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
Summary: T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes.
Reviewed-by: jrose