On 17/01/2011, at 12:37 PM, john skaller wrote: > > On 16/01/2011, at 6:46 PM, john skaller wrote: >> >> UNFORTUNATELY whilst this fixed the list example.. it didn't make any >> difference to my "ls" command .. that still crashes ;( >> > > I put debugging prints into the list.flx library code, to check if the > C++ list mutation stuff might be causing the problems .. > > and it fixed the bug. On examining the generated C++, the whole structure > of the output was changed (for the program). "print" requires a pointer to the > thread frame, and that changed the optimisation. > > So .. this is the worst .. there's a bug in the optimiser it seems. > Or just that there's a bug in elsewhere that isn't exhibited with one > optimisation but is with the other (and the fault isn't in the optimiser). > > The code is "too long" to have any hope of finding an optimisation bug. > The rebuild time is way to high as well (200 secs to reparse the std lib > really gets in the way). >
I found another fix.. it gives a hint .. I change List::fold_left to be "noinline". Now the ls command works. The actual function being folded is recursive (digs down into directory trees). OTOH fold_left is actually tail-rec. -- john skaller skal...@users.sourceforge.net ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language