--- gforth/engine/main.c 2003/05/04 08:55:32 1.104 +++ gforth/engine/main.c 2003/05/08 08:49:24 1.105 @@ -846,7 +846,8 @@ void finish_code(void) flush_to_here(); } -void compile_prim1(Cell *start) +/* compile *start into a dynamic superinstruction, updating *start */ +void compile_prim_dyn(Cell *start) { #if defined(DOUBLY_INDIRECT) Label prim=(Label)*start; @@ -944,12 +945,11 @@ void compile_prim1(Cell *start) #endif /* !defined(DOUBLY_INDIRECT) */ } -Label compile_prim(Label prim) +/* compile *start, possibly rewriting it into a static and/or dynamic + superinstruction */ +void compile_prim1(Cell *start) { - Cell x=(Cell)prim; - assert(0); - compile_prim1(&x); - return (Label)x; + compile_prim_dyn(start); } #if defined(PRINT_SUPER_LENGTHS) && !defined(NO_DYNAMIC)