|
From: <sv...@va...> - 2012-02-16 19:14:19
|
Author: sewardj
Date: 2012-02-16 19:09:43 +0000 (Thu, 16 Feb 2012)
New Revision: 2255
Log:
Re-enable RET $imm16 following insn decoding framework rework.
Fixes #292430 (a regression).
Modified:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-02-16 15:21:08 UTC (rev 2254)
+++ trunk/priv/guest_amd64_toIR.c 2012-02-16 19:09:43 UTC (rev 2255)
@@ -17432,6 +17432,15 @@
return delta;
}
+ case 0xC2: /* RET imm16 */
+ if (have66orF2orF3(pfx)) goto decode_failure;
+ d64 = getUDisp16(delta);
+ delta += 2;
+ dis_ret(vbi, d64);
+ dres->whatNext = Dis_StopHere;
+ DIP("ret $%lld\n", d64);
+ return delta;
+
case 0xC3: /* RET */
if (have66orF2(pfx)) goto decode_failure;
/* F3 is acceptable on AMD. */
@@ -19153,15 +19162,6 @@
/* ------------------------ Control flow --------------- */
- case 0xC2: /* RET imm16 */
- if (have66orF2orF3(pfx)) goto decode_failure;
- d64 = getUDisp16(delta);
- delta += 2;
- dis_ret(vbi, d64);
- dres.whatNext = Dis_StopHere;
- DIP("ret %lld\n", d64);
- break;
-
/* ------------------------ CWD/CDQ -------------------- */
/* ------------------------ FPU ops -------------------- */
|