harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r584154 - /harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
Date Fri, 12 Oct 2007 12:55:23 GMT
Author: gshimansky
Date: Fri Oct 12 05:55:22 2007
New Revision: 584154

URL: http://svn.apache.org/viewvc?rev=584154&view=rev
Log:
Fixed transfer control stub so that it would restore only 16 bits of eflags register


Modified:
    harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp?rev=584154&r1=584153&r2=584154&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp Fri Oct
12 05:55:22 2007
@@ -135,7 +135,7 @@
         return addr;
     }
 
-    const int stub_size = 0x47;
+    const int stub_size = 0x4c;
     char *stub = (char *)malloc_fixed_code_for_jit(stub_size, DEFAULT_CODE_ALIGNMENT, CODE_BLOCK_HEAT_COLD,
CAA_Allocate);
 #ifdef _DEBUG
     memset(stub, 0xcc /*int 3*/, stub_size);
@@ -173,6 +173,7 @@
     ss = test(ss, ecx_opnd, ecx_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, ecx_opnd, Imm_Opnd(size_32, 0xffff));
     ss = push(ss,  ecx_opnd);
     *ss++ = (char)0x9D; // POPFD
     // Patch conditional jump



Mime
View raw message