0.9.6.42:
[sbcl.git] / src / runtime / x86-assem.S
index 4af6507..ad9e089 100644 (file)
@@ -14,8 +14,8 @@
  */
 \f
 #define LANGUAGE_ASSEMBLY
-#include "validate.h"
 #include "sbcl.h"
+#include "validate.h"
 #include "genesis/closure.h"
 #include "genesis/fdefn.h"
 #include "genesis/static-symbols.h"
@@ -29,7 +29,7 @@
  * turns out not to matter, perhaps it's just clutter we could get
  * rid of? -- WHN 2004-04-18)
  */
-#if defined __linux__  || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
+#if defined __linux__  || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined __sun
 #define GNAME(var) var
 #else
 #define GNAME(var) _##var
@@ -44,7 +44,7 @@
  * matter any more, perhaps it's just clutter we could get
  * rid of? -- WHN 2004-04-18)
  */
-#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun)
 #define align_4byte    4
 #define align_8byte    8
 #define align_16byte   16
@@ -669,10 +669,8 @@ GNAME(alloc_16_to_edi):
 
 #ifdef LISP_FEATURE_SB_THREAD
 #define START_REGION %fs:THREAD_ALLOC_REGION_OFFSET
-#define DISPLACEMENT $7
 #else
 #define START_REGION boxed_region
-#define DISPLACEMENT $6
 #endif
                
 /* This routine handles an overflow with eax=crfp+size. So the
@@ -690,7 +688,6 @@ GNAME(alloc_overflow_eax):
         addl    $4,%esp # pop the size arg.
         popl    %edx    # Restore edx.
         popl    %ecx    # Restore ecx.
-       addl    DISPLACEMENT,(%esp) # Adjust the return address to skip the next inst.
         ret
         .size    GNAME(alloc_overflow_eax),.-GNAME(alloc_overflow_eax)
 
@@ -708,7 +705,6 @@ GNAME(alloc_overflow_ecx):
         movl    %eax,%ecx       # setup the destination.
         popl    %edx    # Restore edx.
         popl    %eax    # Restore eax.
-       addl    DISPLACEMENT,(%esp) # Adjust the return address to skip the next inst.
         ret
         .size    GNAME(alloc_overflow_ecx),.-GNAME(alloc_overflow_ecx)
 
@@ -726,7 +722,6 @@ GNAME(alloc_overflow_edx):
         movl    %eax,%edx       # setup the destination.
         popl    %ecx    # Restore ecx.
         popl    %eax    # Restore eax.
-       addl    DISPLACEMENT,(%esp) # Adjust the return address to skip the next inst.
         ret
         .size    GNAME(alloc_overflow_edx),.-GNAME(alloc_overflow_edx)
 
@@ -748,7 +743,6 @@ GNAME(alloc_overflow_ebx):
         popl    %edx    # Restore edx.
         popl    %ecx    # Restore ecx.
         popl    %eax    # Restore eax.
-       addl    DISPLACEMENT,(%esp) # Adjust the return address to skip the next inst.
         ret
         .size    GNAME(alloc_overflow_ebx),.-GNAME(alloc_overflow_ebx)
 
@@ -770,7 +764,6 @@ GNAME(alloc_overflow_esi):
         popl    %edx    # Restore edx.
         popl    %ecx    # Restore ecx.
         popl    %eax    # Restore eax.
-       addl    DISPLACEMENT,(%esp) # Adjust the return address to skip the next inst.
         ret
         .size    GNAME(alloc_overflow_esi),.-GNAME(alloc_overflow_esi)
 
@@ -790,7 +783,6 @@ GNAME(alloc_overflow_edi):
         popl    %edx    # Restore edx.
         popl    %ecx    # Restore ecx.
         popl    %eax    # Restore eax.
-       addl    DISPLACEMENT,(%esp) # Adjust the return address to skip the next inst.
         ret
         .size    GNAME(alloc_overflow_edi),.-GNAME(alloc_overflow_edi)