33 Commits

Author SHA1 Message Date
Vladimir Kozlov
73e8e582ba 6807084: AutoBox elimination is broken with compressed oops
Add checks for DecodeN nodes into AutoBox elimination code.

Reviewed-by: never
2009-02-18 13:53:42 -08:00
Vladimir Kozlov
681eb89b31 Merge 2009-02-17 14:30:24 -08:00
Tom Rodriguez
275a0bfb42 6793828: G1: invariant: queues are empty when activated
Reviewed-by: jrose, kvn
2009-02-05 11:42:10 -08:00
Christian Thalinger
3b8452da93 6796746: rename LoadC (char) opcode class to LoadUS (unsigned short)
Renaming LoadC to LoadUS would round up the planned introduction of LoadUB and LoadUI.

Reviewed-by: phh, kvn
2009-01-26 16:22:12 +01:00
Tom Rodriguez
a3d528cc30 6791132: bad control in autobox split code
Reviewed-by: kvn
2009-01-13 11:43:20 -08:00
Vladimir Kozlov
7aae40a95f 6462850: generate biased locking code in C2 ideal graph
Inline biased locking code in C2 ideal graph during macro nodes expansion

Reviewed-by: never
2008-11-07 09:29:38 -08:00
Chuck Rasbold
eee15b163e 6711100: 64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int")
Insert CastII nodes to narrow type of load_array_length() node

Reviewed-by: never, kvn
2008-09-17 08:29:17 -07:00
Vladimir Kozlov
37306315b2 6736417: Fastdebug C2 crashes in StoreBNode::Ideal
The result of step_through_mergemem() and remove_dead_region() is not checked in some cases.

Reviewed-by: never
2008-08-27 09:15:46 -07:00
Vladimir Kozlov
897278fce0 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
Fixed few addP node type and narrow oop type problems.

Reviewed-by: rasbold, never
2008-08-01 10:06:45 -07:00
Vladimir Kozlov
50c4a23cac 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Escape Analysis fixes.

Reviewed-by: never, rasbold
2008-07-28 17:12:52 -07:00
Vladimir Kozlov
fae39068e8 6723160: Nightly failure: Error: meet not symmetric
Add missing _instance_id settings and other EA fixes.

Reviewed-by: rasbold
2008-07-16 16:04:39 -07:00
Erik Trimble
2d6f42d18c Merge 2008-07-11 01:14:44 -07:00
Xiomara Jayasena
c96a95c4b8 6719955: Update copyright year
Update copyright year for files that have been modified in 2008

Reviewed-by: ohair, tbell
2008-07-02 12:55:16 -07:00
Vladimir Kozlov
4213e62fb7 6716441: error in meet with +DoEscapeAnalysis
Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.

Reviewed-by: jrose, never
2008-06-26 13:34:00 -07:00
Vladimir Kozlov
a671e7c7b5 6710487: More than half of JDI Regression tests hang with COOPs in -Xcomp mode
Remove DecodeNNode::decode() and EncodePNode::encode() methods.

Reviewed-by: rasbold, never
2008-06-24 10:43:29 -07:00
Vladimir Kozlov
6978df8f5d 6714406: Node::dominates() does not always check for TOP
Add missed checks for TOP and missed checks for non-dominating cases

Reviewed-by: rasbold, jrose, never
2008-06-13 15:08:56 -07:00
Chuck Rasbold
2e672ac9bf 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Intrinsify java/util/Arrays.equals(char[], char[])

Reviewed-by: kvn, never
2008-05-29 16:22:09 -07:00
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