hotspot/src/share/vm/adlc/formssel.cpp
changeset 40088 02cc68c622b2
parent 39433 f18e7fa11a5f
child 41318 af7443b374fb
equal deleted inserted replaced
40087:33cbd46c3241 40088:02cc68c622b2
  3645     if( (_lChild && !(mRule2->_lChild)) || (_rChild && !(mRule2->_rChild)) ) return Not_cisc_spillable;
  3645     if( (_lChild && !(mRule2->_lChild)) || (_rChild && !(mRule2->_rChild)) ) return Not_cisc_spillable;
  3646 
  3646 
  3647     // Check left operands
  3647     // Check left operands
  3648     if( (_lChild == NULL) && (mRule2->_lChild == NULL) ) {
  3648     if( (_lChild == NULL) && (mRule2->_lChild == NULL) ) {
  3649       left_spillable = Maybe_cisc_spillable;
  3649       left_spillable = Maybe_cisc_spillable;
  3650     } else {
  3650     } else  if (_lChild != NULL) {
  3651       left_spillable = _lChild->cisc_spill_match(globals, registers, mRule2->_lChild, operand, reg_type);
  3651       left_spillable = _lChild->cisc_spill_match(globals, registers, mRule2->_lChild, operand, reg_type);
  3652     }
  3652     }
  3653 
  3653 
  3654     // Check right operands
  3654     // Check right operands
  3655     if( (_rChild == NULL) && (mRule2->_rChild == NULL) ) {
  3655     if( (_rChild == NULL) && (mRule2->_rChild == NULL) ) {
  3656       right_spillable =  Maybe_cisc_spillable;
  3656       right_spillable =  Maybe_cisc_spillable;
  3657     } else {
  3657     } else if (_rChild != NULL) {
  3658       right_spillable = _rChild->cisc_spill_match(globals, registers, mRule2->_rChild, operand, reg_type);
  3658       right_spillable = _rChild->cisc_spill_match(globals, registers, mRule2->_rChild, operand, reg_type);
  3659     }
  3659     }
  3660 
  3660 
  3661     // Combine results of left and right checks
  3661     // Combine results of left and right checks
  3662     cisc_spillable = cisc_spill_merge(left_spillable, right_spillable);
  3662     cisc_spillable = cisc_spill_merge(left_spillable, right_spillable);