Mercurial > hg > truffle
diff src/share/vm/opto/memnode.cpp @ 128:a76240c8b133
Merge
author | rasbold |
---|---|
date | Mon, 28 Apr 2008 08:08:12 -0700 |
parents | ec73d88d5b43 b130b98db9cf |
children | 723be81c1212 |
line wrap: on
line diff
--- a/src/share/vm/opto/memnode.cpp Wed Apr 23 06:35:28 2008 -0400 +++ b/src/share/vm/opto/memnode.cpp Mon Apr 28 08:08:12 2008 -0700 @@ -754,13 +754,12 @@ const TypeNarrowOop* narrowtype; if (rt->isa_narrowoop()) { narrowtype = rt->is_narrowoop(); - rt = narrowtype->make_oopptr(); } else { narrowtype = rt->is_oopptr()->make_narrowoop(); } Node* load = gvn.transform(new (C, 3) LoadNNode(ctl, mem, adr, adr_type, narrowtype)); - return new (C, 2) DecodeNNode(load, rt); + return DecodeNNode::decode(&gvn, load); } else #endif { @@ -1841,15 +1840,7 @@ (UseCompressedOops && val->bottom_type()->isa_klassptr() && adr->bottom_type()->isa_rawptr())) { const TypePtr* type = val->bottom_type()->is_ptr(); - Node* cp; - if (type->isa_oopptr()) { - const TypeNarrowOop* etype = type->is_oopptr()->make_narrowoop(); - cp = gvn.transform(new (C, 2) EncodePNode(val, etype)); - } else if (type == TypePtr::NULL_PTR) { - cp = gvn.transform(new (C, 1) ConNNode(TypeNarrowOop::NULL_PTR)); - } else { - ShouldNotReachHere(); - } + Node* cp = EncodePNode::encode(&gvn, val); return new (C, 4) StoreNNode(ctl, mem, adr, adr_type, cp); } else #endif