Lines Matching refs:decision
610 static ModRMDecisionType getDecisionType(ModRMDecision &decision) { in getDecisionType() argument
617 if (decision.instructionIDs[index] != decision.instructionIDs[0]) in getDecisionType()
621 (decision.instructionIDs[index] != decision.instructionIDs[0xc0])) in getDecisionType()
625 (decision.instructionIDs[index] != decision.instructionIDs[0x00])) in getDecisionType()
628 if (((index & 0xc0) == 0xc0) && (decision.instructionIDs[index] != in getDecisionType()
629 decision.instructionIDs[index & 0xf8])) in getDecisionType()
632 if (((index & 0xc0) != 0xc0) && (decision.instructionIDs[index] != in getDecisionType()
633 decision.instructionIDs[index & 0x38])) in getDecisionType()
682 ModRMDecision &decision) const { in emitModRMDecision()
684 ModRMDecisionType dt = getDecisionType(decision); in emitModRMDecision()
686 if (dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0) { in emitModRMDecision()
698 ModRMDecision.push_back(decision.instructionIDs[0]); in emitModRMDecision()
701 ModRMDecision.push_back(decision.instructionIDs[0x00]); in emitModRMDecision()
702 ModRMDecision.push_back(decision.instructionIDs[0xc0]); in emitModRMDecision()
706 ModRMDecision.push_back(decision.instructionIDs[index]); in emitModRMDecision()
708 ModRMDecision.push_back(decision.instructionIDs[index]); in emitModRMDecision()
712 ModRMDecision.push_back(decision.instructionIDs[index]); in emitModRMDecision()
714 ModRMDecision.push_back(decision.instructionIDs[index]); in emitModRMDecision()
717 for (unsigned short InstructionID : decision.instructionIDs) in emitModRMDecision()
773 auto &decision = opDecision.modRMDecisions[index]; in emitOpcodeDecision() local
774 ModRMDecisionType dt = getDecisionType(decision); in emitOpcodeDecision()
775 if (!(dt == MODRM_ONEENTRY && decision.instructionIDs[0] == 0)) in emitOpcodeDecision()
807 ContextDecision &decision, in emitContextDecision() argument
819 decision.opcodeDecisions[index]); in emitContextDecision()
1061 void DisassemblerTables::setTableFields(ModRMDecision &decision, in setTableFields() argument
1066 if (decision.instructionIDs[index] == uid) in setTableFields()
1069 if (decision.instructionIDs[index] != 0) { in setTableFields()
1072 InstructionSpecifiers[decision.instructionIDs[index]]; in setTableFields()
1093 decision.instructionIDs[index] = uid; in setTableFields()
1102 ContextDecision &decision = *Tables[type]; in setTableFields() local
1113 setTableFields(decision.opcodeDecisions[index].modRMDecisions[opcode], in setTableFields()