[Top][All Lists]
[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();
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-rules-x86.c jit/jit-...,
Aleksey Demakov <=