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-apply-x86-64.h jit/jit...


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] libjit ChangeLog jit/jit-apply-x86-64.h jit/jit...
Date: Tue, 04 Nov 2008 19:49:13 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    libjit
Changes by:     Klaus Treichel <ktreichel>      08/11/04 19:49:13

Modified files:
        .              : ChangeLog 
        jit            : jit-apply-x86-64.h jit-rules-x86-64.c 

Log message:
        Fix calling variadic functions ih jit_apply. Spill values with sizes 
less than
        sizeof jit_int as jit_int on the stack.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.391&r2=1.392
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-apply-x86-64.h?cvsroot=dotgnu-pnet&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-rules-x86-64.c?cvsroot=dotgnu-pnet&r1=1.6&r2=1.7

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.391
retrieving revision 1.392
diff -u -b -r1.391 -r1.392
--- ChangeLog   12 Oct 2008 17:06:35 -0000      1.391
+++ ChangeLog   4 Nov 2008 19:49:12 -0000       1.392
@@ -1,3 +1,12 @@
+2008-11-04  Klaus Treichel  <address@hidden>
+
+       * jit/jit-apply-x86-64.h (jit_builtin_apply): Use r11 for calling
+       the function and pass the constant 8 in rax for the number of SSE
+       registers used to pass values for variadic functions.
+
+       * jit/jit-rules-x86-64.c (_spill_reg): Spill values with sizes
+       less than 4 as jit_type_int on the stack.
+
 2008-10-12  Aleksey Demakov  <address@hidden>
 
        * jit/jit-unwind.c: fix typos.

Index: jit/jit-apply-x86-64.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/libjit/jit/jit-apply-x86-64.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- jit/jit-apply-x86-64.h      26 May 2008 21:06:30 -0000      1.10
+++ jit/jit-apply-x86-64.h      4 Nov 2008 19:49:13 -0000       1.11
@@ -175,8 +175,9 @@
                                "movaps 0x90(%%rax), %%xmm5\n\t" \
                                "movaps 0xA0(%%rax), %%xmm6\n\t" \
                                "movaps 0xB0(%%rax), %%xmm7\n\t" \
-                               "movq %0, %%rax\n\t" \
-                               "callq *%%rax\n\t" \
+                               "movq %0, %%r11\n\t" \
+                               "movl $8, %%eax\n\t" \
+                               "callq *%%r11\n\t" \
                                "movq %3, %%rcx\n\t" \
                                "movq %%rax, (%%rcx)\n\t" \
                                "movq %%rdx, 0x08(%%rcx)\n\t" \

Index: jit/jit-rules-x86-64.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/libjit/jit/jit-rules-x86-64.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- jit/jit-rules-x86-64.c      26 Jul 2008 15:13:19 -0000      1.6
+++ jit/jit-rules-x86-64.c      4 Nov 2008 19:49:13 -0000       1.7
@@ -899,6 +899,7 @@
        {
                switch(type->kind)
                {
+#if 0
                        case JIT_TYPE_SBYTE:
                        case JIT_TYPE_UBYTE:
                        {
@@ -914,7 +915,12 @@
                                                                                
        _jit_reg_info[reg].cpu_reg, 2);
                        }
                        break;
-
+#else
+                       case JIT_TYPE_SBYTE:
+                       case JIT_TYPE_UBYTE:
+                       case JIT_TYPE_SHORT:
+                       case JIT_TYPE_USHORT:
+#endif
                        case JIT_TYPE_INT:
                        case JIT_TYPE_UINT:
                        case JIT_TYPE_FLOAT32:




reply via email to

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