LLL stack questions

Raul Deluth Miller rockwell@nova.umd.edu
Wed, 21 Dec 1994 11:19:20 -0500


Mike Prince:
   I'm hoping cells code will typically be under a few K.  Data might 
   baloon, but by factoring we could control it.  The nice thing is 
   evolution.  Programming styles that work would be used (i.e. SoftCo 
   writes well factored code and breaks data into reasonable sizes managed 
   by cells, their software runs fast, MicroPros write huge apps that are 
   memory hungry, their software crawls along.  Who'll stay in business 
   longer?)  I hope I'm not missing the point on some problems which must 
   have large pieces and CANNOT be factored, am I? 

The critical issue here is automatically generated code.  If we don't
provide a decent mechanism for porting existing softwar, we'll never
get off the ground.  That means we need to do something decent for a C
compiler, and we need to deal with automatically generated C code
(which is the way a lot of compilers and tools are implemented
nowadays).

Currently, I'm thinking of treating the "cell stack" as a register
set, and providing the illusion of a flat adress space using some sort
of "annotated pointer" (which denotes the memory array as well as a
virtual offset) -- I don't know if we can do better than this for
arbitrarily large data objects without hurting performance for smaller
objects or objects of "known size".

Remember, Ccode frequently manipulates pointers to "anonymous data" orr
"anonymous code".

I'm not sure how to treat arbitrarily large code objects (e.g. PERL's
yacc parser).

-- 
Raul D. Miller          N=:((*/pq)&|)@                 NB. public e, y, n=:*/pq
<rockwell@nova.umd.edu> P=:*N/@:#               NB. */-.,e e.&factors t=:*/<:pq
                        1=t|e*d    NB. (,-:<:)pq is four large primes, e medium
x-:d P,:y=:e P,:x                  NB. (d P,:y)-:D P*:N^:(i.#D)y [. D=:|.@#.d