forked from ShuriZma/suyu
1
0
Fork 0

Merge pull request #294 from lioncash/var

armemu: Narrow the scope of some variables in handle_v6_insn
This commit is contained in:
bunnei 2014-12-19 16:46:56 -05:00
commit 245abb4125
1 changed files with 9 additions and 12 deletions

View File

@ -5681,11 +5681,8 @@ L_stm_s_takeabort:
/* Attempt to emulate an ARMv6 instruction. /* Attempt to emulate an ARMv6 instruction.
Returns non-zero upon success. */ Returns non-zero upon success. */
static int static int handle_v6_insn(ARMul_State* state, ARMword instr) {
handle_v6_insn (ARMul_State * state, ARMword instr) { switch (BITS(20, 27)) {
ARMword lhs, temp;
switch (BITS (20, 27)) {
case 0x03: case 0x03:
printf ("Unhandled v6 insn: ldr\n"); printf ("Unhandled v6 insn: ldr\n");
break; break;
@ -5719,7 +5716,7 @@ L_stm_s_takeabort:
/* strex */ /* strex */
u32 l = LHSReg; u32 l = LHSReg;
u32 r = RHSReg; u32 r = RHSReg;
lhs = LHS; u32 lhs = LHS;
bool enter = false; bool enter = false;
@ -5744,7 +5741,7 @@ L_stm_s_takeabort:
case 0x19: case 0x19:
/* ldrex */ /* ldrex */
if (BITS(4, 7) == 0x9) { if (BITS(4, 7) == 0x9) {
lhs = LHS; u32 lhs = LHS;
state->currentexaddr = lhs; state->currentexaddr = lhs;
state->currentexval = ARMul_ReadWord(state, lhs); state->currentexval = ARMul_ReadWord(state, lhs);
@ -5763,7 +5760,7 @@ L_stm_s_takeabort:
case 0x1c: case 0x1c:
if (BITS(4, 7) == 0x9) { if (BITS(4, 7) == 0x9) {
/* strexb */ /* strexb */
lhs = LHS; u32 lhs = LHS;
bool enter = false; bool enter = false;
@ -5793,11 +5790,11 @@ L_stm_s_takeabort:
case 0x1d: case 0x1d:
if ((BITS(4, 7)) == 0x9) { if ((BITS(4, 7)) == 0x9) {
/* ldrexb */ /* ldrexb */
temp = LHS; u32 lhs = LHS;
LoadByte(state, instr, temp, LUNSIGNED); LoadByte(state, instr, lhs, LUNSIGNED);
state->currentexaddr = temp; state->currentexaddr = lhs;
state->currentexval = (u32)ARMul_ReadByte(state, temp); state->currentexval = (u32)ARMul_ReadByte(state, lhs);
//state->Reg[BITS(12, 15)] = ARMul_LoadByte(state, state->Reg[BITS(16, 19)]); //state->Reg[BITS(12, 15)] = ARMul_LoadByte(state, state->Reg[BITS(16, 19)]);
//printf("ldrexb\n"); //printf("ldrexb\n");