mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8266550: C2: mirror TypeOopPtr/TypeInstPtr/TypeAryPtr with TypeKlassPtr/TypeInstKlassPtr/TypeAryKlassPtr
Reviewed-by: vlivanov, thartmann
This commit is contained in:
parent
a143372818
commit
1d2458db34
18 changed files with 992 additions and 457 deletions
|
@ -1410,7 +1410,7 @@ const TypePtr *Compile::flatten_alias_type( const TypePtr *tj ) const {
|
|||
if ( offset == Type::OffsetBot || (offset >= 0 && (size_t)offset < sizeof(Klass)) ) {
|
||||
|
||||
tj = tk = TypeKlassPtr::make(TypePtr::NotNull,
|
||||
TypeKlassPtr::OBJECT->klass(),
|
||||
TypeInstKlassPtr::OBJECT->klass(),
|
||||
offset);
|
||||
}
|
||||
|
||||
|
@ -1457,7 +1457,9 @@ const TypePtr *Compile::flatten_alias_type( const TypePtr *tj ) const {
|
|||
case Type::RawPtr: tj = TypeRawPtr::BOTTOM; break;
|
||||
case Type::AryPtr: // do not distinguish arrays at all
|
||||
case Type::InstPtr: tj = TypeInstPtr::BOTTOM; break;
|
||||
case Type::KlassPtr: tj = TypeKlassPtr::OBJECT; break;
|
||||
case Type::KlassPtr:
|
||||
case Type::AryKlassPtr:
|
||||
case Type::InstKlassPtr: tj = TypeInstKlassPtr::OBJECT; break;
|
||||
case Type::AnyPtr: tj = TypePtr::BOTTOM; break; // caller checks it
|
||||
default: ShouldNotReachHere();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue