You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2007/10/12 19:19:25 UTC
svn commit: r584205 -
/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
Author: gshimansky
Date: Fri Oct 12 10:19:24 2007
New Revision: 584205
URL: http://svn.apache.org/viewvc?rev=584205&view=rev
Log:
Fixed tcs to restore only 8 lower bits of eflags register
Modified:
harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp?rev=584205&r1=584204&r2=584205&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/port/src/lil/em64t/pim/stack_iterator_em64t.cpp Fri Oct 12 10:19:24 2007
@@ -226,11 +226,11 @@
// Restore processor flags
ss = alu(ss, xor_opc, rcx_opnd, rcx_opnd);
- ss = mov(ss, rcx_opnd, M_Base_Opnd(rdx_reg, CONTEXT_OFFSET(eflags)), size_32);
+ ss = mov(ss, rcx_opnd, M_Base_Opnd(rdx_reg, CONTEXT_OFFSET(eflags)), size_8);
ss = test(ss, rcx_opnd, rcx_opnd);
ss = branch8(ss, Condition_Z, Imm_Opnd(size_8, 0));
char* patch_offset = ((char*)ss) - 1; // Store location for jump patch
- ss = alu(ss, and_opc, rcx_opnd, Imm_Opnd(size_64, 0xffff));
+ ss = alu(ss, and_opc, rcx_opnd, Imm_Opnd(size_32, 0xff));
ss = push(ss, rcx_opnd);
*ss++ = (char)0x9D; // POPFD
// Patch conditional jump