RFR: Slowdebug build failed after "Refactor and improve ShenandoahCodeRoots strategies"

Roman Kennke rkennke at redhat.com
Thu May 31 12:37:19 UTC 2018


Oops. Yes!
Roman

> Current assert works by sheer luck. It compares oop*, not oop, and so it mismatches the signature of
> unsafe_equals in slowdebug:
> 
> diff -r 0adcdbbca5cd src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp	Thu May 31 12:29:14 2018 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp	Thu May 31 14:25:02 2018 +0200
> @@ -293,7 +293,7 @@
>  void ShenandoahNMethod::assert_same_oops(GrowableArray<oop*>* oops) {
>    assert(_oops_count == oops->length(), "should have the same number of oop*");
>    for (int c = 0; c < _oops_count; c++) {
> -    assert(oopDesc::unsafe_equals(_oops[c], oops->at(c)), "should be the same oop*");
> +    assert(_oops[c] == oops->at(c), "should be the same oop*");
>    }
>  }
>  #endif
> 
> Testing: {release, fastdebug, slowdebug} builds
> 
> Thanks,
> -Aleksey
> 




More information about the shenandoah-dev mailing list