8244510: Shenandoah: invert SHC2Support::is_in_cset condition

Reviewed-by: rkennke, roland
This commit is contained in:
Aleksey Shipilev 2020-05-07 12:48:21 +02:00
parent 1ac381171e
commit b231ad70c8

@ -931,16 +931,16 @@ void ShenandoahBarrierC2Support::test_in_cset(Node*& ctrl, Node*& not_cset_ctrl,
DEBUG_ONLY(phase->C->get_adr_type(Compile::AliasIdxRaw)) NOT_DEBUG(NULL),
TypeInt::BYTE, MemNode::unordered);
Node* cset_cmp = new CmpINode(cset_load, igvn.zerocon(T_INT));
Node* cset_bool = new BoolNode(cset_cmp, BoolTest::eq);
Node* cset_bool = new BoolNode(cset_cmp, BoolTest::ne);
IfNode* cset_iff = new IfNode(old_ctrl, cset_bool, PROB_UNLIKELY(0.999), COUNT_UNKNOWN);
not_cset_ctrl = new IfTrueNode(cset_iff);
ctrl = new IfFalseNode(cset_iff);
ctrl = new IfTrueNode(cset_iff);
not_cset_ctrl = new IfFalseNode(cset_iff);
IdealLoopTree *loop = phase->get_loop(old_ctrl);
phase->register_control(cset_iff, loop, old_ctrl);
phase->register_control(not_cset_ctrl, loop, cset_iff);
phase->register_control(ctrl, loop, cset_iff);
phase->register_control(not_cset_ctrl, loop, cset_iff);
phase->set_ctrl(cset_addr, phase->C->root());