RFR: 6312651: Compiler should only use verified interface types for optimization [v3]

Roland Westrelin roland at openjdk.org
Thu Nov 10 10:01:49 UTC 2022


On Thu, 10 Nov 2022 00:14:53 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

> Much better, thanks!
> 
> Minor comments/suggestions follow.
> 
> FTR test results are clean. I'll submit performance testing shortly.

Thanks. I updated the patch and removed the interface specific code in the VM_CLASS_DEFN() macro that's indeed no longer needed.

> src/hotspot/share/ci/ciInstanceKlass.cpp line 736:
> 
>> 734:   if (_transitive_interfaces == NULL) {
>> 735:     GUARDED_VM_ENTRY(
>> 736:             InstanceKlass* ik = get_instanceKlass();
> 
> A candidate for `compute_transitive_interfaces()` helper method?

Done in new commit.

> src/hotspot/share/opto/subnode.cpp line 1050:
> 
>> 1048:   // return the ConP(Foo.klass)
>> 1049:   assert(mirror_type->is_klass(), "mirror_type should represent a Klass*");
>> 1050:   return phase->makecon(TypeKlassPtr::make(mirror_type->as_klass(),  Type::trust_interfaces));
> 
> Extra space.

Done.

> src/hotspot/share/opto/type.cpp line 4003:
> 
>> 4001:     assert(loaded->ptr() != TypePtr::Null, "insanity check");
>> 4002:     //
>> 4003:     if(      loaded->ptr() == TypePtr::TopPTR ) { return unloaded; }
> 
> Missing space after `if`.

Done.

> src/hotspot/share/opto/type.cpp line 4017:
> 
>> 4015:   // Both are unloaded, not the same class, not Object
>> 4016:   // Or meet unloaded with a different loaded class, not java/lang/Object
>> 4017:   if( ptr != TypePtr::BotPTR ) {
> 
> Missing space after `if`.

Done.

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

PR: https://git.openjdk.org/jdk/pull/10901


More information about the hotspot-compiler-dev mailing list