< prev index next >

src/hotspot/share/opto/compile.cpp

Print this page

        

*** 3431,3444 **** // Check to see if address types have grounded out somehow. const TypeInstPtr *tp = mem->in(MemNode::Address)->bottom_type()->isa_instptr(); assert( !tp || oop_offset_is_sane(tp), "" ); } #endif ! if (EnableValhalla && (nop == Op_LoadKlass || nop == Op_LoadNKlass)) { const TypeKlassPtr* tk = n->bottom_type()->make_ptr()->is_klassptr(); assert(!tk->klass_is_exact(), "should have been folded"); ! if (tk->klass()->can_be_value_array_klass() && n->as_Mem()->adr_type()->offset() == oopDesc::klass_offset_in_bytes()) { // Array load klass needs to filter out property bits (but not // GetNullFreePropertyNode or GetFlattenedPropertyNode which // needs to extract the storage property bits) uint last = unique(); Node* pointer = NULL; --- 3431,3447 ---- // Check to see if address types have grounded out somehow. const TypeInstPtr *tp = mem->in(MemNode::Address)->bottom_type()->isa_instptr(); assert( !tp || oop_offset_is_sane(tp), "" ); } #endif ! if (EnableValhalla && ! ((nop == Op_LoadKlass && ((LoadKlassNode*)n)->clear_prop_bits()) || ! (nop == Op_LoadNKlass && ((LoadNKlassNode*)n)->clear_prop_bits()))) { const TypeKlassPtr* tk = n->bottom_type()->make_ptr()->is_klassptr(); assert(!tk->klass_is_exact(), "should have been folded"); ! assert(n->as_Mem()->adr_type()->offset() == oopDesc::klass_offset_in_bytes(), "unexpected LoadKlass"); ! if (tk->klass()->can_be_value_array_klass()) { // Array load klass needs to filter out property bits (but not // GetNullFreePropertyNode or GetFlattenedPropertyNode which // needs to extract the storage property bits) uint last = unique(); Node* pointer = NULL;
< prev index next >