fstp %st(0)
fstp %st(0)
- cld # clear out DF: Darwin, Solaris and Win32 at
- # least need this, and it should not hurt others
-
call *%eax # normal callout using Lisp stack
movl %eax,%ecx # remember integer return value
andl $0xfffffff0,%esp; /* Align stack */ \
pushl $0; /* Padding */ \
pushl size; /* Argument to alloc */ \
- cld; /* Clear DF */ \
call GNAME(alloc); \
movl %ebp,%esp; /* Restore ESP from EBP */ \
popl %ebp; /* Restore EBP */
#else
#define ALLOC(size) \
pushl size; /* Argument to alloc */ \
- cld; /* Clear DF */ \
call GNAME(alloc); \
addl $4,%esp; /* Pop argument */
#endif
xor %eax, %eax /* Zero EAX */
shr $2, %ecx /* Amount of 4-byte blocks to copy */
jz Lend_base
- cld /* Set direction of STOSL to increment */
rep
stosl /* Store EAX to *EDI, ECX times, incrementing
\f
END()
-
\ No newline at end of file