Integrated: 8293816: CI: ciBytecodeStream::get_klass() is not consistent
    Vladimir Ivanov 
    vlivanov at openjdk.org
       
    Fri Sep 16 18:00:21 UTC 2022
    
    
  
On Thu, 15 Sep 2022 19:58:13 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> CI responses should be consistent during a single compilation.
> 
> [JDK-8293044](https://bugs.openjdk.org/browse/JDK-8293044) was fixed by turning inaccessible classes into unloaded ones when resolving them through CI.
> 
> But there's another case when `ciEnv::get_klass_by_index()` returns a loaded ciKlass while setting `will_link` to `false`: a not-yet-resolved klass revealed through a class loader constraint.
> 
> In such case, after a concurrent class loading CI will start reporting a loaded ciKlass instance. Such inconsistency may trigger some paradoxical situations during compilation.   
> 
> The fix is to instantiate a proper instance of an unloaded ciKlass, so further requests will return the unloaded instances as well.
> 
> Testing: hs-tier1 - hs-tier4
This pull request has now been integrated.
Changeset: 746f5f58
Author:    Vladimir Ivanov <vlivanov at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/746f5f589db5c1036f15fa47f8a48b2a12c921ce
Stats:     10 lines in 3 files changed: 1 ins; 6 del; 3 mod
8293816: CI: ciBytecodeStream::get_klass() is not consistent
Reviewed-by: dlong, kvn
-------------
PR: https://git.openjdk.org/jdk/pull/10294
    
    
More information about the hotspot-compiler-dev
mailing list