Remove specialised decoders. This will be done differently, if necessary.

This commit is contained in:
gbeauche 2007-01-17 06:20:36 +00:00
parent e4af8a1909
commit 5b0b60da76
4 changed files with 1 additions and 437 deletions

View File

@ -191,7 +191,6 @@ void sheepshaver_cpu::init_decoder()
static const instr_info_t sheep_ii_table[] = {
{ "sheep",
(execute_pmf)&sheepshaver_cpu::execute_sheep,
NULL,
PPC_I(SHEEP),
D_form, 6, 0, CFLOW_JUMP | CFLOW_TRAP
}

View File

@ -634,7 +634,7 @@ void powerpc_cpu::execute(uint32 entry)
}
#endif
di->opcode = opcode;
di->execute = ii->decode.ptr() ? ii->decode(this, opcode) : ii->execute;
di->execute = ii->execute;
di++;
#if PPC_EXECUTE_DUMP_STATE
if (dump_state) {

View File

@ -189,15 +189,10 @@ protected:
typedef void (powerpc_cpu::*execute_pmf)(uint32 opcode);
typedef nv_mem_fun1_t< void, powerpc_cpu, uint32 > execute_fn;
// Specialzed instruction decoders type
typedef execute_fn (powerpc_cpu::*decode_pmf)(uint32 opcode);
typedef nv_mem_fun1_t< execute_fn, powerpc_cpu, uint32 > decode_fn;
// Instruction information structure
struct instr_info_t {
char name[12]; // Instruction name
execute_fn execute; // Semantic routine for this instruction
decode_fn decode; // Specialized instruction decoder
uint16 mnemo; // Mnemonic
uint16 format; // Instruction format (XO-form, D-form, etc.)
uint16 opcode; // Primary opcode

File diff suppressed because it is too large Load Diff