Tue, 11 Mar 2008 11:25:13 -0700 6667620: (Escape Analysis) fix deoptimization for scalar replaced objects
kvn [Tue, 11 Mar 2008 11:25:13 -0700] rev 217
6667620: (Escape Analysis) fix deoptimization for scalar replaced objects Summary: Deoptimization code for reallocation and relocking scalar replaced objects has to be fixed. Reviewed-by: rasbold, never
Tue, 11 Mar 2008 11:04:40 -0700 6623167: C2 crashed in StoreCMNode::Value
kvn [Tue, 11 Mar 2008 11:04:40 -0700] rev 216
6623167: C2 crashed in StoreCMNode::Value Summary: C2 crashed in StoreCMNode::Value because n->in(MemNode::OopStore) is 0. Reviewed-by: rasbold, never
Mon, 10 Mar 2008 17:21:56 -0700 Merge
jcoomes [Mon, 10 Mar 2008 17:21:56 -0700] rev 215
Merge
Fri, 07 Mar 2008 11:09:13 -0800 6667605: (Escape Analysis) inline java constructors when EA is on
kvn [Fri, 07 Mar 2008 11:09:13 -0800] rev 214
6667605: (Escape Analysis) inline java constructors when EA is on Summary: java constructors should be inlined to be able scalar replace a new object Reviewed-by: rasbold
Thu, 06 Mar 2008 20:58:16 -0800 6670459: Fix Node::dump() performance
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
Thu, 06 Mar 2008 10:53:33 -0800 6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
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
Thu, 06 Mar 2008 10:30:17 -0800 6667610: (Escape Analysis) retry compilation without EA if it fails
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
Wed, 05 Mar 2008 11:33:31 -0800 6671250: In Parse::do_if() old Cmp node 'c' should be replaced with new one after BoolNode transformation
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
Fri, 29 Feb 2008 19:57:41 -0800 6667618: disable LoadL->ConvL2I ==> LoadI optimization
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
Fri, 29 Feb 2008 19:07:15 -0800 6667588: Don't generate duplicated CMP for float/double values
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
Fri, 29 Feb 2008 11:22:27 -0800 6667581: Don't generate initialization (by 0) code for arrays with size 0
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
Fri, 29 Feb 2008 09:57:18 -0800 6667580: Optimize CmpP for allocations
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
Thu, 28 Feb 2008 15:40:09 -0800 6667573: Use set_req_X() in AddPNode::Ideal() for Iterative GVN
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
Thu, 28 Feb 2008 10:45:15 -0800 6590177: jck60019 test assert(!repeated,"do not walk merges twice")
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
Wed, 27 Feb 2008 00:23:37 -0800 6610906: inexplicable IncompatibleClassChangeError
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
Mon, 25 Feb 2008 15:05:44 -0800 6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
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
(0) -100 -16 +16 +100 +300 +1000 +3000 +10000 +30000 tip