< prev index next >

src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp

Print this page
rev 53149 : [mq]: flatten-alias-types.patch

*** 1019,1023 **** --- 1019,1037 ---- return false; } } return n->outcnt() > 0; } + + bool ShenandoahBarrierSetC2::flatten_gc_alias_type(const TypePtr*& adr_type) const { + int offset = adr_type->offset(); + if (offset == BrooksPointer::byte_offset()) { + if (adr_type->isa_aryptr()) { + adr_type = TypeAryPtr::make(adr_type->ptr(), adr_type->isa_aryptr()->ary(), adr_type->isa_aryptr()->klass(), false, offset); + } else if (adr_type->isa_instptr()) { + adr_type = TypeInstPtr::make(adr_type->ptr(), ciEnv::current()->Object_klass(), false, NULL, offset); + } + return true; + } else { + return false; + } + }
< prev index next >