equal
deleted
inserted
replaced
3433 |
3433 |
3434 case vmIntrinsics::_getComponentType: |
3434 case vmIntrinsics::_getComponentType: |
3435 if (generate_array_guard(kls, region) != NULL) { |
3435 if (generate_array_guard(kls, region) != NULL) { |
3436 // Be sure to pin the oop load to the guard edge just created: |
3436 // Be sure to pin the oop load to the guard edge just created: |
3437 Node* is_array_ctrl = region->in(region->req()-1); |
3437 Node* is_array_ctrl = region->in(region->req()-1); |
3438 Node* cma = basic_plus_adr(kls, in_bytes(arrayKlass::component_mirror_offset())); |
3438 Node* cma = basic_plus_adr(kls, in_bytes(ArrayKlass::component_mirror_offset())); |
3439 Node* cmo = make_load(is_array_ctrl, cma, TypeInstPtr::MIRROR, T_OBJECT); |
3439 Node* cmo = make_load(is_array_ctrl, cma, TypeInstPtr::MIRROR, T_OBJECT); |
3440 phi->add_req(cmo); |
3440 phi->add_req(cmo); |
3441 } |
3441 } |
3442 query_value = null(); // non-array case is null |
3442 query_value = null(); // non-array case is null |
3443 break; |
3443 break; |
5030 // Plug failing path into checked_oop_disjoint_arraycopy |
5030 // Plug failing path into checked_oop_disjoint_arraycopy |
5031 if (not_subtype_ctrl != top()) { |
5031 if (not_subtype_ctrl != top()) { |
5032 PreserveJVMState pjvms(this); |
5032 PreserveJVMState pjvms(this); |
5033 set_control(not_subtype_ctrl); |
5033 set_control(not_subtype_ctrl); |
5034 // (At this point we can assume disjoint_bases, since types differ.) |
5034 // (At this point we can assume disjoint_bases, since types differ.) |
5035 int ek_offset = in_bytes(objArrayKlass::element_klass_offset()); |
5035 int ek_offset = in_bytes(ObjArrayKlass::element_klass_offset()); |
5036 Node* p1 = basic_plus_adr(dest_klass, ek_offset); |
5036 Node* p1 = basic_plus_adr(dest_klass, ek_offset); |
5037 Node* n1 = LoadKlassNode::make(_gvn, immutable_memory(), p1, TypeRawPtr::BOTTOM); |
5037 Node* n1 = LoadKlassNode::make(_gvn, immutable_memory(), p1, TypeRawPtr::BOTTOM); |
5038 Node* dest_elem_klass = _gvn.transform(n1); |
5038 Node* dest_elem_klass = _gvn.transform(n1); |
5039 Node* cv = generate_checkcast_arraycopy(adr_type, |
5039 Node* cv = generate_checkcast_arraycopy(adr_type, |
5040 dest_elem_klass, |
5040 dest_elem_klass, |