equal
deleted
inserted
replaced
2344 Node* uncast_base = base->uncast(); |
2344 Node* uncast_base = base->uncast(); |
2345 int opcode = uncast_base->Opcode(); |
2345 int opcode = uncast_base->Opcode(); |
2346 assert(opcode == Op_ConP || opcode == Op_ThreadLocal || |
2346 assert(opcode == Op_ConP || opcode == Op_ThreadLocal || |
2347 opcode == Op_CastX2P || uncast_base->is_DecodeNarrowPtr() || |
2347 opcode == Op_CastX2P || uncast_base->is_DecodeNarrowPtr() || |
2348 (uncast_base->is_Mem() && (uncast_base->bottom_type()->isa_rawptr() != NULL)) || |
2348 (uncast_base->is_Mem() && (uncast_base->bottom_type()->isa_rawptr() != NULL)) || |
2349 (uncast_base->is_Proj() && uncast_base->in(0)->is_Allocate()) || |
2349 (uncast_base->is_Proj() && uncast_base->in(0)->is_Allocate()), "sanity"); |
2350 BarrierSet::barrier_set()->barrier_set_c2()->escape_is_barrier_node(uncast_base), "sanity"); |
|
2351 } |
2350 } |
2352 } |
2351 } |
2353 return base; |
2352 return base; |
2354 } |
2353 } |
2355 |
2354 |
3083 if (!split_AddP(n, base)) continue; // wrong type from dead path |
3082 if (!split_AddP(n, base)) continue; // wrong type from dead path |
3084 } else if (n->is_Phi() || |
3083 } else if (n->is_Phi() || |
3085 n->is_CheckCastPP() || |
3084 n->is_CheckCastPP() || |
3086 n->is_EncodeP() || |
3085 n->is_EncodeP() || |
3087 n->is_DecodeN() || |
3086 n->is_DecodeN() || |
3088 BarrierSet::barrier_set()->barrier_set_c2()->escape_is_barrier_node(n) || |
|
3089 (n->is_ConstraintCast() && n->Opcode() == Op_CastPP)) { |
3087 (n->is_ConstraintCast() && n->Opcode() == Op_CastPP)) { |
3090 if (visited.test_set(n->_idx)) { |
3088 if (visited.test_set(n->_idx)) { |
3091 assert(n->is_Phi(), "loops only through Phi's"); |
3089 assert(n->is_Phi(), "loops only through Phi's"); |
3092 continue; // already processed |
3090 continue; // already processed |
3093 } |
3091 } |
3154 alloc_worklist.append_if_missing(use); |
3152 alloc_worklist.append_if_missing(use); |
3155 } else if (use->is_Phi() || |
3153 } else if (use->is_Phi() || |
3156 use->is_CheckCastPP() || |
3154 use->is_CheckCastPP() || |
3157 use->is_EncodeNarrowPtr() || |
3155 use->is_EncodeNarrowPtr() || |
3158 use->is_DecodeNarrowPtr() || |
3156 use->is_DecodeNarrowPtr() || |
3159 BarrierSet::barrier_set()->barrier_set_c2()->escape_is_barrier_node(use) || |
|
3160 (use->is_ConstraintCast() && use->Opcode() == Op_CastPP)) { |
3157 (use->is_ConstraintCast() && use->Opcode() == Op_CastPP)) { |
3161 alloc_worklist.append_if_missing(use); |
3158 alloc_worklist.append_if_missing(use); |
3162 #ifdef ASSERT |
3159 #ifdef ASSERT |
3163 } else if (use->is_Mem()) { |
3160 } else if (use->is_Mem()) { |
3164 assert(use->in(MemNode::Address) != n, "EA: missing allocation reference path"); |
3161 assert(use->in(MemNode::Address) != n, "EA: missing allocation reference path"); |