comparison src/share/vm/opto/macro.cpp @ 221:1e026f8da827

6710487: More than half of JDI Regression tests hang with COOPs in -Xcomp mode Summary: Remove DecodeNNode::decode() and EncodePNode::encode() methods. Reviewed-by: rasbold, never
author kvn
date Tue, 24 Jun 2008 10:43:29 -0700
parents 8d191a7697e2
children 1dd146f17531
comparison
equal deleted inserted replaced
220:30369db7f5d2 221:1e026f8da827
596 assert(field_type != NULL, "field singleton type must be consistent"); 596 assert(field_type != NULL, "field singleton type must be consistent");
597 } else { 597 } else {
598 field_type = TypeOopPtr::make_from_klass(elem_type->as_klass()); 598 field_type = TypeOopPtr::make_from_klass(elem_type->as_klass());
599 } 599 }
600 if (UseCompressedOops) { 600 if (UseCompressedOops) {
601 field_type = field_type->is_oopptr()->make_narrowoop(); 601 field_type = field_type->make_narrowoop();
602 basic_elem_type = T_NARROWOOP; 602 basic_elem_type = T_NARROWOOP;
603 } 603 }
604 } else { 604 } else {
605 field_type = Type::get_const_basic_type(basic_elem_type); 605 field_type = Type::get_const_basic_type(basic_elem_type);
606 } 606 }
664 return false; 664 return false;
665 } 665 }
666 if (UseCompressedOops && field_type->isa_narrowoop()) { 666 if (UseCompressedOops && field_type->isa_narrowoop()) {
667 // Enable "DecodeN(EncodeP(Allocate)) --> Allocate" transformation 667 // Enable "DecodeN(EncodeP(Allocate)) --> Allocate" transformation
668 // to be able scalar replace the allocation. 668 // to be able scalar replace the allocation.
669 _igvn.set_delay_transform(false); 669 if (field_val->is_EncodeP()) {
670 field_val = DecodeNNode::decode(&_igvn, field_val); 670 field_val = field_val->in(1);
671 _igvn.set_delay_transform(true); 671 } else {
672 field_val = transform_later(new (C, 2) DecodeNNode(field_val, field_val->bottom_type()->make_ptr()));
673 }
672 } 674 }
673 sfpt->add_req(field_val); 675 sfpt->add_req(field_val);
674 } 676 }
675 JVMState *jvms = sfpt->jvms(); 677 JVMState *jvms = sfpt->jvms();
676 jvms->set_endoff(sfpt->req()); 678 jvms->set_endoff(sfpt->req());