Joe Wilson a écrit :
--- Nicolas Cannasse <[EMAIL PROTECTED]> wrote:
I was unable to find the cause of the gcc 4.1.1 -O[123] build crash in
part due to memory explosion. The neko process was using over 2G of swap
space on my 512M machine. I wonder if this was due to a failure of
Boehm GC due to a bad interaction with a certain compiler optimization
in this specific version of gcc.
I think that's due to an infinite loop that's causing too much memory
allocation. It doesn't happen because of the GC since it can't be
reproduced by just recompiling Neko with other GCC/-O flags.
Neko 1.6.0 compiled with gcc 4.1.1 -O[123] crashes.
However, Neko compiled with gcc 4.1.1 -O[123] -fno-unit-at-a-time is okay.
I don't know whether this is a bug in Neko, gcc, or libgc, but
could you please add -fno-unit-at-a-time to the Neko Makefile?
The gcc 4.1.1 compiler is used in many Linux distros, and it
would be nice if it built "out of the box" on those machines.
I'm not sure that disabling no-unit-at-a-time would be a good idea,
since it seems to improve several things :
http://lwn.net/Articles/67176/
I would be more interested to know which loop in the JIT cause the
problem. Try to uncomment JIT_DEBUG in jit_x86.c
Best,
Nicolas
--
Neko : One VM to run them all
(http://nekovm.org)