LRB midpath code quality

Roman Kennke rkennke at redhat.com
Wed Mar 6 11:15:04 UTC 2019


Roland:

in this path:

    Node* new_val = uncasted_val;
    if (unc_ctrl != NULL) {
      // Clone the null check in this branch to allow implicit null check
      new_val = clone_null_check(ctrl, val, unc_ctrl, phase);
      fix_null_check(unc, unc_ctrl, ctrl->in(0)->as_If()->proj_out(0),
uses, phase);

      IfNode* iff = unc_ctrl->in(0)->as_If();
      phase->igvn().replace_input_of(iff, 1, phase->igvn().intcon(1));
    }

what is this replacement with constant 1 doing there?

Roman

>> Also, any idea how we could turn that explicit null-check into an 
>> implicit one?
> 
> That should happen in PhaseCFG::implicit_null_check(). So something's
> not going the way it should there.
> 
> Roland.
> 



More information about the shenandoah-dev mailing list