lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi -

This is mainly directed at Mike Pall, but I figured it would be good to have the results of this discussion out in the open.
I've recently been working on making Coco work with eLua (http://eluaproject.net 
), and I've managed to get the patching approach to work for setjmp as  
provided by newlib.  I'll be happy to contribute back the changes for  
this when they're a little more polished and I've had a chance to test  
them more.
The first thing I noticed is that the default stack size pretty much  
exceeded the available memory on the device I was using (64k SRAM  
total). I was able to pare it back to about 1k and get all of the test  
scripts running with reduced numbers of coroutines.  When I try going  
lower than this further (to, say, 512 or 256 bytes), though, it blows  
up.  I'm not familiar enough with Lua itself or with coco to know what  
to expect in terms of necessary stack space, but I was wondering if  
anyone had any thoughts on this.  When the coroutines are created in  
the example scripts, what exactly is needing to be preserved on the  
stack?  Can this be pared back at the cost of performance?  Also,  
could one safely allocate stack space only as needed by actual stack  
size as opposed to pre-allocation?
All in all, I was amazed at how easy it was to get up and running on a  
device that has no operating system, but I'd like to see what I can  
squeeze out of it to make the tradeoffs work better for embedded  
devices.
Thanks!

--
James Snyder
Biomedical Engineering
Northwestern University
jbsnyder@fanplastic.org
http://fanplastic.org/key.txt
ph: (847) 448-0386

Attachment: PGP.sig
Description: This is a digitally signed message part