RFR: 8266550: C2: mirror TypeOopPtr/TypeInstPtr/TypeAryPtr with TypeKlassPtr/TypeInstKlassPtr/TypeAryKlassPtr [v2]

Roland Westrelin roland at openjdk.java.net
Tue Jul 13 12:04:41 UTC 2021


On Tue, 8 Jun 2021 09:59:29 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:
>> 
>>   instklassptr/aryklassptr
>
> Another case is in `Compile::flatten_alias_type()`:
> 
>   // Flatten all to bottom for now
>   switch( _AliasLevel ) {
>   ...
>   case 1:                       // Flatten to: oop, static, field or array
>     switch (tj->base()) {
>     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 = TypeInstKlassPtr::OBJECT; break;
>     case Type::AnyPtr:   tj = TypePtr::BOTTOM;      break;  // caller checks it
> 
> 
> `Type::KlassPtr` should be accompanied by `Type::InstKlassPtr` and `Type::AryKlassPtr` cases, shouldn't it?

@iwanowww Thanks for the review (and help along the way). I updated the change with your suggestions.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3880


More information about the hotspot-compiler-dev mailing list