Fri May 16 15:48:58 CEST 2008

labels and multiple entry points

code with multiple entry points like this

  : default-bla 123
  : bla-it      1 + ;

is useful to have, but it's difficult to handle. the problems happen
when default-bla is accessed in isolation, i.e. when moving around

this needs a proper data structure, or at least assembler support..

* split the code into fallthrough chunks = a list of words where only
  the last one is terminated.

* add assembler support for a 'fallthrough' opcode.

the point is: make the data structure such that optimization and code
migration becomes easier to do. fallthrough code should be treated as
a single entity, even if it contains multiple entry points.

operations on word w:
  (A) does w fall into some w' ?
  (B) does some w' fall into w
this is an extra level of linking between words. (A) is essential
knowledge, but (B) doesn't matter much for the word w itself..

so, each target word has a possible fallthrough word.

what about this: pass the assembler a list of words, where each word
is the head of a fallthrough word chain. the extra compiler state this
requires is a set of independent chains.