Mercurial > hg > truffle
comparison src/share/vm/opto/parse2.cpp @ 221:1e026f8da827
6710487: More than half of JDI Regression tests hang with COOPs in -Xcomp mode
Summary: Remove DecodeNNode::decode() and EncodePNode::encode() methods.
Reviewed-by: rasbold, never
author | kvn |
---|---|
date | Tue, 24 Jun 2008 10:43:29 -0700 |
parents | c0939256690b |
children | 2a1a77d3458f |
comparison
equal
deleted
inserted
replaced
220:30369db7f5d2 | 221:1e026f8da827 |
---|---|
65 const TypeAryPtr* arytype = _gvn.type(ary)->is_aryptr(); | 65 const TypeAryPtr* arytype = _gvn.type(ary)->is_aryptr(); |
66 const TypeInt* sizetype = arytype->size(); | 66 const TypeInt* sizetype = arytype->size(); |
67 const Type* elemtype = arytype->elem(); | 67 const Type* elemtype = arytype->elem(); |
68 | 68 |
69 if (UseUniqueSubclasses && result2 != NULL) { | 69 if (UseUniqueSubclasses && result2 != NULL) { |
70 const Type* el = elemtype; | 70 const Type* el = elemtype->make_ptr(); |
71 if (elemtype->isa_narrowoop()) { | 71 if (el && el->isa_instptr()) { |
72 el = elemtype->is_narrowoop()->make_oopptr(); | 72 const TypeInstPtr* toop = el->is_instptr(); |
73 } | |
74 const TypeInstPtr* toop = el->isa_instptr(); | |
75 if (toop) { | |
76 if (toop->klass()->as_instance_klass()->unique_concrete_subklass()) { | 73 if (toop->klass()->as_instance_klass()->unique_concrete_subklass()) { |
77 // If we load from "AbstractClass[]" we must see "ConcreteSubClass". | 74 // If we load from "AbstractClass[]" we must see "ConcreteSubClass". |
78 const Type* subklass = Type::get_const_type(toop->klass()); | 75 const Type* subklass = Type::get_const_type(toop->klass()); |
79 elemtype = subklass->join(el); | 76 elemtype = subklass->join(el); |
80 } | 77 } |