[kaffe] Help with Heap Allocation Functions

Dalibor Topic robilad@yahoo.com
Mon Feb 3 10:00:01 2003


Hy Tony,

--- Tony Wyatt <wyattaw@optusnet.com.au> wrote:
> Greetings, fellow kaffe drinkers.

G'day to down under from cold Germany.

> I am trying to make kaffe 1.0.7 run on the m68k,
> under AmigaOS 
> 3.9. It is supposed to run, but doesn't, for a
> number of reasons. I 
> guess the Amiga configuration has been left untested
> for some 
> time. 

It's good to see the Amiga live on. They simply don't
build computers like they used to anymore. GUI,
processes, Unix-ish shell, real plug & play etc. in
512K. Sniff ;)

Could you try this patch and see if it improves things
for you:
http://www.kaffe.org/pipermail/kaffe/2001-December/007541.html

> I am configuring/compiling/testing it in a Geek
> Gadgets 
> environment, using
> gcc 2.95.2. I have already installed, built and
> tested gmp-4.1
> successfully, so something works.

Cool. With the latest source from CVS you don't need
gmp anymore. If it con't find it, it will use a pure
java implementation of the java.math libraries.
 
> First question: I've managed to get the whole kaffe
> suite to compile 
> and
> build by editing some Makefile's and the config.h
> file. The changes 
> were
> necessary to repair some syntax errors in the m68k
> Makefiles and 
> correct
> some processor options. But when I run the
> /test/regression tests, a 
> few
> run without error, but most trap out with the error:
> "Failed assertion
> 'block->avail > 0'"
> 
> For HelloWorldApp, the trap happens right after a
> request for a 
> block of
> size 32776 bytes (the first request > 32768). The
> address of the 
> block
> returned seems crazy, being in the middle of the
> range of
> already-allocated memory. Suffice it to say that
> there is no valid gc-
> block in the vicinity.

If the patch above doesn't help, you should
reconfigure kaffe to enable debugging support, read
FAQ/FAQ.debugging and run it on some failing test with
-vmdebug GCDIAG .

If the patch above does help, please report back, so
that I can check it in.
 
> I have the same build on an x86 Linux machine, and
> it runs fine. I 
> can even compare the memory requests and identify
> the same 
> request on the Linux side - it returns with a
> reasonable pointer and
> works. I have been trying to compare the behaviour
> of the two 
> systems, but
> I don't understand the structure of the heap or the
> blocks that are
> allocated.

This mail explains a bit about kaffe's internal GC
mechanisms
http://www.kaffe.org/pipermail/kaffe/2000-October/006929.html
. There is also a description of the GC in the FAQ
directory.

> Second question: Just running HelloWorldApp
> generates about 
> 26,000 memory allocation requests during execution.
> Is this 
> extraordinary overhead normal?

You can tell kaffe to grab a bigger chunk of memory at
the start by using -ms. I can't say if the overhead is
usual. How many memory requests are there on
i386-linux?

best regards,
dalibor topic

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com