*/
\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"
* 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
* 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
#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
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)
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)
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)
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)
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)
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)