< prev index next >

src/share/vm/opto/arraycopynode.cpp

Print this page

        

*** 202,212 **** s = phase->transform(s); mem->set_memory_at(fieldidx, s); } if (!finish_transform(phase, can_reshape, ctl, mem)) { ! return NULL; } return mem; } --- 202,213 ---- s = phase->transform(s); mem->set_memory_at(fieldidx, s); } if (!finish_transform(phase, can_reshape, ctl, mem)) { ! // Return NodeSentinel to indicate that the transform failed ! return NodeSentinel; } return mem; }
*** 220,229 **** --- 221,231 ---- bool& disjoint_bases) { Node* src = in(ArrayCopyNode::Src); Node* dest = in(ArrayCopyNode::Dest); const Type* src_type = phase->type(src); const TypeAryPtr* ary_src = src_type->isa_aryptr(); + assert(ary_src != NULL, "should be an array copy/clone"); if (is_arraycopy() || is_copyofrange() || is_copyof()) { const Type* dest_type = phase->type(dest); const TypeAryPtr* ary_dest = dest_type->isa_aryptr(); Node* src_offset = in(ArrayCopyNode::SrcPos);
*** 518,528 **** return NULL; } Node* mem = try_clone_instance(phase, can_reshape, count); if (mem != NULL) { ! return mem; } Node* adr_src = NULL; Node* base_src = NULL; Node* adr_dest = NULL; --- 520,530 ---- return NULL; } Node* mem = try_clone_instance(phase, can_reshape, count); if (mem != NULL) { ! return (mem == NodeSentinel) ? NULL : mem; } Node* adr_src = NULL; Node* base_src = NULL; Node* adr_dest = NULL;
< prev index next >