diff --git a/src/experiments/l4-sys/aluinstr.cc b/src/experiments/l4-sys/aluinstr.cc index 37e83326..5bdeddd5 100644 --- a/src/experiments/l4-sys/aluinstr.cc +++ b/src/experiments/l4-sys/aluinstr.cc @@ -92,14 +92,14 @@ bool BochsALUInstructions::isALUInstruction(bxInstruction_c const *src) { return false; } -int BochsALUInstructions::randomEquivalent(bxInstruction_c &result, +void BochsALUInstructions::randomEquivalent(bxInstruction_c &result, std::string &details) const { // find a random member of the same equivalence class X86AluClass equClassID = lastInstr.aluClass; if (equClassID == ALU_UNDEF) { // something went wrong - just return the original instruction result = lastOrigInstr; - return 10; + return; } InstrList const &destList = equivalenceClasses.at(equClassID); @@ -136,13 +136,6 @@ int BochsALUInstructions::randomEquivalent(bxInstruction_c &result, if (dest.opcodeRegisterOffset < BochsALUInstr::REG_COUNT) { result.setRm(dest.opcodeRegisterOffset); } - - if (memcmp(&result, &lastOrigInstr, sizeof(bxInstruction_c)) == 0) { - fprintf(stderr,"randomEquivalent failed\n"); - scanf("%*s"); - } - - return 0; } #ifdef DEBUG diff --git a/src/experiments/l4-sys/aluinstr.hpp b/src/experiments/l4-sys/aluinstr.hpp index 09af8bde..fb89f572 100644 --- a/src/experiments/l4-sys/aluinstr.hpp +++ b/src/experiments/l4-sys/aluinstr.hpp @@ -343,7 +343,7 @@ public: * @param result the resulting bxInstruction_c object as described above * @param details after completion contains details about \c result */ - int randomEquivalent(bxInstruction_c &result, std::string &details) const; + void randomEquivalent(bxInstruction_c &result, std::string &details) const; protected: /** * Convert a bxInstruction_c object into its matching BochsALUInstr object. diff --git a/src/experiments/l4-sys/experiment.cc b/src/experiments/l4-sys/experiment.cc index b5fd32b3..e3b4c57d 100644 --- a/src/experiments/l4-sys/experiment.cc +++ b/src/experiments/l4-sys/experiment.cc @@ -600,7 +600,7 @@ bool L4SysExperiment::run() { // now exchange it with a random equivalent bxInstruction_c newInstr; string details; - int result = aluInstrObject.randomEquivalent(newInstr, details); + aluInstrObject.randomEquivalent(newInstr, details); if (memcmp(&newInstr, currInstr, sizeof(bxInstruction_c)) == 0) { // something went wrong - exit experiment param.msg.set_resulttype(param.msg.UNKNOWN);