Lines Matching defs:Merge
578 const RegType& RegType::Merge(const RegType& incoming_type, RegTypeCache* reg_types) const {
589 // not used. Undefined registers must not be copied. So any merge with undefined should return
593 return conflict; // (Conflict MERGE *) or (* MERGE Conflict) => Conflict
600 // +ve1 MERGE +ve2 => MAX(+ve1, +ve2)
615 // -ve1 MERGE -ve2 => MIN(-ve1, -ve2)
663 return reg_types->Boolean(); // boolean MERGE boolean => boolean
666 return reg_types->Byte(); // byte MERGE byte => byte
669 return reg_types->Short(); // short MERGE short => short
672 return reg_types->Char(); // char MERGE char => char
674 return reg_types->Integer(); // int MERGE * => int
682 // float/long/double MERGE float/long/double_constant => float/long/double
688 // caller of Merge(), see the DCHECK on entry). So mark any other merge as conflicting here.
691 return SelectNonConstant(*this, incoming_type); // 0 MERGE ref => ref
693 return reg_types->JavaLangObject(false); // Object MERGE ref => Object
695 // We know how to merge an unresolved type with itself, 0 or Object. In this case we
696 // have two sub-classes and don't know how to merge. Create a new string-based unresolved
838 // For a merge to be an array, both the resolved and the unresolved part need to be object
846 // It is enough to check just one of the merged types. Otherwise the merge should have been