RFR: couple small fixes from lucene testing
Roman Kennke
rkennke at redhat.com
Thu Oct 11 09:27:55 UTC 2018
I have seen this pattern elsewhere in our big upstream diff:
- this->set_req(1, lhs);
- this->set_req(2, rhs);
+ PhaseIterGVN* igvn = phase->is_IterGVN();
+ if (igvn != NULL) {
+ set_req_X(1, lhs, igvn);
+ set_req_X(2, rhs, igvn);
+ } else {
+ set_req(1, lhs);
+ set_req(2, rhs);
+ }
This probably warrants a little abstraction. Not necessarily in this
patch, but whenever you want to upstream it.
Roman
> http://cr.openjdk.java.net/~roland/shenandoah/lucene-fixes/webrev.00/
>
> This should fix:
>
> assert(n->Opcode() != Op_ShenandoahWriteBarrier || n->outcnt() > 1) failed: bad shenandoah write barrier
>
> and
>
> assert(dom_use->adr_type() != TypePtr::BOTTOM) failed: no bottom memory phi
>
> crashes.
>
> Roland.
>
More information about the shenandoah-dev
mailing list