dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-rules-x86.c jit/jit-...


From: Aleksey Demakov
Subject: [dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-rules-x86.c jit/jit-...
Date: Sat, 20 May 2006 10:43:18 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    libjit
Branch:         
Changes by:     Aleksey Demakov <address@hidden>        06/05/20 10:43:17

Modified files:
        .              : ChangeLog 
        jit            : jit-rules-x86.c jit-reg-alloc.h jit-reg-alloc.c 

Log message:
        fix computation of stack register index

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/ChangeLog.diff?tr1=1.227&tr2=1.228&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/jit/jit-rules-x86.c.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/jit/jit-reg-alloc.h.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/jit/jit-reg-alloc.c.diff?tr1=1.28&tr2=1.29&r1=text&r2=text

Patches:
Index: libjit/ChangeLog
diff -u libjit/ChangeLog:1.227 libjit/ChangeLog:1.228
--- libjit/ChangeLog:1.227      Fri May 19 17:38:31 2006
+++ libjit/ChangeLog    Sat May 20 10:43:17 2006
@@ -1,3 +1,11 @@
+2006-05-20  avd  <address@hidden>
+
+       * jit/jit-rules-x86.c (_jit_gen_exch_top): fix computation of stack
+       register index.
+
+       * jit/jit-reg-alloc.c (_jit_regs_assign): micro optimization by
+       changing nesting order of for and if statements.
+
 2006-05-19  Aleksey Demakov  <address@hidden>
 
        * jit-reg-alloc.h, jit/jit-reg-alloc.c: determine if input values
Index: libjit/jit/jit-reg-alloc.c
diff -u libjit/jit/jit-reg-alloc.c:1.28 libjit/jit/jit-reg-alloc.c:1.29
--- libjit/jit/jit-reg-alloc.c:1.28     Fri May 19 17:38:32 2006
+++ libjit/jit/jit-reg-alloc.c  Sat May 20 10:43:17 2006
@@ -3740,23 +3740,17 @@
 #endif
 
        /* Set clobber flags. */
-       for(index = 0; index < JIT_NUM_REGS; index++)
+       if(regs->clobber_all)
        {
-               if((_jit_reg_info[index].flags & JIT_REG_FIXED)
-                  || jit_reg_is_used(gen->permanent, index))
-               {
-                       continue;
-               }
-               if(regs->clobber_all)
+               for(index = 0; index < JIT_NUM_REGS; index++)
                {
+                       if((_jit_reg_info[index].flags & JIT_REG_FIXED)
+                          || jit_reg_is_used(gen->permanent, index))
+                       {
+                               continue;
+                       }
                        jit_reg_set_used(regs->clobber, index);
                }
-#if 0
-               if(jit_reg_is_used(regs->clobber, index))
-               {
-                       jit_reg_set_used(gen->touched, index);
-               }
-#endif
        }
 
        /* Spill all clobbered registers. */
Index: libjit/jit/jit-reg-alloc.h
diff -u libjit/jit/jit-reg-alloc.h:1.12 libjit/jit/jit-reg-alloc.h:1.13
--- libjit/jit/jit-reg-alloc.h:1.12     Fri May 19 17:38:31 2006
+++ libjit/jit/jit-reg-alloc.h  Sat May 20 10:43:17 2006
@@ -75,11 +75,6 @@
 #define _JIT_REGS_SCRATCH_MAX          6
 
 /*
- * The maximum number of stack register exchanges.
- */
-#define _JIT_REGS_MAX_EXCHANGES                16
-
-/*
  * Flags for _jit_regs_init().
  */
 #define _JIT_REGS_CLOBBER_ALL          0x0001
Index: libjit/jit/jit-rules-x86.c
diff -u libjit/jit/jit-rules-x86.c:1.34 libjit/jit/jit-rules-x86.c:1.35
--- libjit/jit/jit-rules-x86.c:1.34     Mon May  8 10:55:46 2006
+++ libjit/jit/jit-rules-x86.c  Sat May 20 10:43:17 2006
@@ -775,11 +775,11 @@
                jit_cache_setup_output(2);
                if(pop)
                {
-                       x86_fstp(inst, reg - X86_REG_ST0);
+                       x86_fstp(inst, fp_stack_index(gen, reg));
                }
                else
                {
-                       x86_fxch(inst, reg - X86_REG_ST0);
+                       x86_fxch(inst, fp_stack_index(gen, reg));
                }
                jit_cache_end_output();
        }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]