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