improves interp, only calls decode once per instr
This commit is contained in:
parent
2878dca6b5
commit
9c51d6eade
|
@ -267,7 +267,7 @@ typename vm_base<ARCH>::virt_addr_t vm_impl<ARCH>::execute_inst(finish_cond_e co
|
||||||
uint32_t inst_index = instr_decoder.decode_instr(instr);
|
uint32_t inst_index = instr_decoder.decode_instr(instr);
|
||||||
opcode_e inst_id = arch::traits<ARCH>::opcode_e::MAX_OPCODE;;
|
opcode_e inst_id = arch::traits<ARCH>::opcode_e::MAX_OPCODE;;
|
||||||
if(inst_index <instr_descr.size())
|
if(inst_index <instr_descr.size())
|
||||||
inst_id = instr_descr.at(instr_decoder.decode_instr(instr)).op;
|
inst_id = instr_descr[inst_index].op;
|
||||||
|
|
||||||
// pre execution stuff
|
// pre execution stuff
|
||||||
this->core.reg.last_branch = 0;
|
this->core.reg.last_branch = 0;
|
||||||
|
|
Loading…
Reference in New Issue