RFR: Slowdebug build failed after "Refactor and improve ShenandoahCodeRoots strategies"
Aleksey Shipilev
shade at redhat.com
Thu May 31 12:32:32 UTC 2018
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