16 Commits

Author SHA1 Message Date
Vladimir Kozlov
a1f50998ae 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Generate addresses and implicit null checks with narrow oops to avoid decoding.

Reviewed-by: jrose, never
2008-05-29 12:04:14 -07:00
Vladimir Kozlov
76035424de 6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions
Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes to generate narrow oops compare instructions.

Reviewed-by: never, rasbold
2008-05-21 13:46:23 -07:00
Vladimir Kozlov
757229db71 6695810: null oop passed to encode_heap_oop_not_null
Fix several problems in C2 related to Escape Analysis and Compressed Oops.

Reviewed-by: never, jrose
2008-05-21 10:45:07 -07:00
Vladimir Kozlov
60c74ba115 6701887: JDK7 server VM in endless loop in Node::dominates
The method Node::dominates loops in the dead code which does not have a Region node.

Reviewed-by: jrose, never
2008-05-15 22:43:11 -07:00
Vladimir Kozlov
69155d87f9 6689060: Escape Analysis does not work with Compressed Oops
64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops)

Reviewed-by: never, sgoldman
2008-04-23 11:20:36 -07:00
Vladimir Kozlov
df8fc19aac 6686791: Side effect in NumberFormat tests with -server -Xcomp
Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control().

Reviewed-by: jrose, sgoldman
2008-04-16 19:19:48 -07:00
Coleen Phillimore
4a831d45f0 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv

Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
2008-04-13 17:43:42 -04:00
Vladimir Kozlov
833746644c 6682236: C2 hits ideal nodes limit during IGVN optimization with EA
Missing check in LoadNode::Ideal() causes infinite generation of a value Phi.

Reviewed-by: jrose, never
2008-03-31 18:37:36 -07:00
Vladimir Kozlov
cdd27962da 6674600: (Escape Analysis) Optimize memory graph for instance's fields
EA gives opportunite to do more aggressive memory optimizations.

Reviewed-by: never, jrose
2008-03-20 15:11:44 -07:00
Tom Rodriguez
8e1624d88c 6676841: ClearArrayNode::Identity is incorrect for 64-bit
ClearArrayNode::Identity should use TypeX instead of TypeInt

Reviewed-by: jrose, kvn, sgoldman
2008-03-18 23:44:46 -07:00
Vladimir Kozlov
30dc0edfc8 6673473: (Escape Analysis) Add the instance's field information to PhiNode
Avoid an infinite generation of instance's field values Phi nodes.

Reviewed-by: never
2008-03-13 16:31:32 -07:00
Vladimir Kozlov
50708126d4 6623167: C2 crashed in StoreCMNode::Value
C2 crashed in StoreCMNode::Value because n->in(MemNode::OopStore) is 0.

Reviewed-by: rasbold, never
2008-03-11 11:04:40 -07: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
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
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