[kaffe] Re: inlining sysdepCallMethod for m68k-linux
Chris Gray
chris at kiffer.eunet.be
Tue Apr 27 11:04:02 PDT 2004
Dali,
In the *BSD world, alloca() is regarded as a liability. Here's the FreeBSD
man page:
>>>>>>>>
ALLOCA(3) FreeBSD Library Functions Manual ALLOCA(3)
NAME
alloca - memory allocator
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdlib.h>
void *
alloca(size_t size);
DESCRIPTION
The alloca() function allocates size bytes of space in the stack frame of
the caller. This temporary space is automatically freed on return.
RETURN VALUES
The alloca() function returns a pointer to the beginning of the allocated
space. If the allocation failed, a NULL pointer is returned.
SEE ALSO
brk(2), calloc(3), getpagesize(3), malloc(3), realloc(3)
BUGS
The alloca() function is machine dependent; its use is discouraged.
FreeBSD 4.6 June 4, 1993 FreeBSD 4.6
<<<<<<<<
If you're using alloca() to mean "subtract N bytes from the stack pointer,
and tell me where it points now" then you have to realise that you're
assuming a _lot_ about how the stack is used. Especially in an inlined
function!
All the best
Chris
--
Chris Gray chris at kiffer.eunet.be +32 477 599 703
More information about the kaffe
mailing list