src/share/vm/opto/escape.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/escape.cpp	Fri Jun 20 14:33:53 2008
--- new/src/share/vm/opto/escape.cpp	Fri Jun 20 14:33:53 2008

*** 960,976 **** --- 960,971 ---- TypeNode *tn = n->as_Type(); tinst = igvn->type(val)->isa_oopptr(); assert(tinst != NULL && tinst->is_instance() && tinst->instance_id() == elem , "instance type expected."); const TypeOopPtr *tn_t = NULL; const Type *tn_type = igvn->type(tn); if (tn_type->isa_narrowoop()) { tn_t = tn_type->is_narrowoop()->make_oopptr()->isa_oopptr(); } else { tn_t = tn_type->isa_oopptr(); } + const TypeOopPtr *tn_t = tn_type->make_ptr()->isa_oopptr(); if (tn_t != NULL && tinst->cast_to_instance(TypeOopPtr::UNKNOWN_INSTANCE)->higher_equal(tn_t)) { if (tn_type->isa_narrowoop()) { tn_type = tinst->make_narrowoop();
*** 1919,1931 **** --- 1914,1924 ---- } case Op_StoreP: case Op_StoreN: { const Type *adr_type = phase->type(n->in(MemNode::Address)); if (adr_type->isa_narrowoop()) { adr_type = adr_type->is_narrowoop()->make_oopptr(); } + adr_type = adr_type->make_ptr(); if (adr_type->isa_oopptr()) { add_node(n, PointsToNode::UnknownType, PointsToNode::UnknownEscape, false); } else { Node* adr = n->in(MemNode::Address); if (adr->is_AddP() && phase->type(adr) == TypeRawPtr::NOTNULL &&
*** 1946,1958 **** --- 1939,1949 ---- case Op_StorePConditional: case Op_CompareAndSwapP: case Op_CompareAndSwapN: { const Type *adr_type = phase->type(n->in(MemNode::Address)); if (adr_type->isa_narrowoop()) { adr_type = adr_type->is_narrowoop()->make_oopptr(); } + adr_type = adr_type->make_ptr(); if (adr_type->isa_oopptr()) { add_node(n, PointsToNode::UnknownType, PointsToNode::UnknownEscape, false); } else { _processed.set(n->_idx); return;
*** 2129,2142 **** --- 2120,2130 ---- case Op_StorePConditional: case Op_CompareAndSwapP: case Op_CompareAndSwapN: { Node *adr = n->in(MemNode::Address); ! const Type *adr_type = phase->type(adr)->make_ptr(); if (adr_type->isa_narrowoop()) { adr_type = adr_type->is_narrowoop()->make_oopptr(); } #ifdef ASSERT if (!adr_type->isa_oopptr()) assert(phase->type(adr) == TypeRawPtr::NOTNULL, "Op_StoreP"); #endif

src/share/vm/opto/escape.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File