Vladimir Kozlov
37b9a97e08
6670459: Fix Node::dump() performance
...
Dump full ideal graph takes forever.
Reviewed-by: never, rasbold
2008-03-06 20:58:16 -08:00
Vladimir Kozlov
277c3322f6
6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
...
Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
2008-03-06 10:53:33 -08:00
Vladimir Kozlov
bf7f5e1887
6667610: (Escape Analysis) retry compilation without EA if it fails
...
During split unique types EA could exceed nodes limit and fail the method compilation.
Reviewed-by: rasbold
2008-03-06 10:30:17 -08:00
Vladimir Kozlov
17458c9660
6671250: In Parse::do_if() old Cmp node 'c' should be replaced with new one after BoolNode transformation
...
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
2008-03-05 11:33:31 -08:00
Vladimir Kozlov
dc6ad19d70
6667618: disable LoadL->ConvL2I ==> LoadI optimization
...
This optimization causes problems (sizes of Load and Store nodes do not match) for objects initialization code and Escape Analysis
Reviewed-by: jrose, never
2008-02-29 19:57:41 -08:00
Vladimir Kozlov
09d7f4bbcf
6667588: Don't generate duplicated CMP for float/double values
...
Float CMove generation add duplicated CMPF if there are more then one Move depending on the condition.
Reviewed-by: jrose, never, rasbold
2008-02-29 19:07:15 -08:00
Vladimir Kozlov
7ec44373b5
6667581: Don't generate initialization (by 0) code for arrays with size 0
...
Generate_arraycopy() does not check the size of allocated array.
Reviewed-by: jrose, never
2008-02-29 11:22:27 -08:00
Vladimir Kozlov
c223fed084
6667580: Optimize CmpP for allocations
...
CmpP could be optimized out if it compares new allocated objects.
Reviewed-by: jrose, never, rasbold
2008-02-29 09:57:18 -08:00
Vladimir Kozlov
9a4ccf8a06
6667573: Use set_req_X() in AddPNode::Ideal() for Iterative GVN
...
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
2008-02-28 15:40:09 -08:00
Vladimir Kozlov
7be6246821
6590177: jck60019 test assert(!repeated,"do not walk merges twice")
...
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
2008-02-28 10:45:15 -08:00
Vladimir Kozlov
9f1a8ede80
6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
...
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
2008-02-25 15:05:44 -08:00
Vladimir Kozlov
0dd8f3e8c0
6650373: Assert in methodOopDesc::make_adapters()
...
AdapterHandlerLibrary::get_create_adapter_index() returns incorrect value (-2) when CodeCache is full.
Reviewed-by: sgoldman
2008-02-22 17:55:13 -08:00
Vladimir Kozlov
5ade869e8c
6614330: Node::dump(n) does not print full graph for specified depth
...
A node is not processed in dump_nodes() if it was visited during processing previous inputs.
Reviewed-by: rasbold
2008-02-20 16:19:43 -08:00
Vladimir Kozlov
90815abd51
6621098: "* HeapWordSize" for TrackedInitializationLimit is missing
...
'* HeapWordSize' is missing in GraphKit::set_output_for_allocation()
Reviewed-by: rasbold, jrose, never
2008-02-12 18:37:50 -08:00
Tom Rodriguez
10c473e425
6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long)
...
Reviewed-by: kvn, rasbold
2007-12-05 09:01:00 -08:00
J. Duke
8153779ad3
Initial load
2007-12-01 00:00:00 +00:00