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)

Reply via email to