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