]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
Fix bug in x86_memindex_emit with displacements outside the x86_int8 range.
authorKlaus Treichel <ktreichel@web.de>
Wed, 16 Jan 2008 17:45:16 +0000 (17:45 +0000)
committerKlaus Treichel <ktreichel@web.de>
Wed, 16 Jan 2008 17:45:16 +0000 (17:45 +0000)
ChangeLog
jit/jit-gen-x86.h

index 1f09f7801513710204a1081bb8eca30509b391e2..29b17b455c9a3057a1460f81b89126f0740abe1d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-16  Klaus Treichel  <ktreichel@web.de>
+
+       * jit/jit-gen-x86.h: Use the suppied base register instead of
+       register no. 5 (EBP) in x86_memindex_emit for displacements greater than
+       x86_int8 (<-128 or >127).
+
 2008-01-04  Klaus Treichel  <ktreichel@web.de>
 
        * jit/jit-opcode.c: Add the nint argument to the return_small_struct and
index d6a4dfab2cdc157632a0a3806448c1c499d08456..1b26c435af1bf4f7100cb7c68266c4cbea6036eb 100644 (file)
@@ -312,7 +312,7 @@ typedef union {
                        x86_imm_emit8 ((inst), (disp)); \
                } else {        \
                        x86_address_byte ((inst), 2, (r), 4);   \
-                       x86_address_byte ((inst), (shift), (indexreg), 5);      \
+                       x86_address_byte ((inst), (shift), (indexreg), (basereg));      \
                        x86_imm_emit32 ((inst), (disp));        \
                }       \
        } while (0)