< 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 >