pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: docode.c,v 1.11 1997/02/14 04:45:57 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.12 1997/03/05 05:22:55 hubbe Exp $");   #include "las.h"   #include "program.h"   #include "language.h"   #include "pike_types.h"   #include "stralloc.h"   #include "interpret.h"   #include "constants.h"   #include "array.h"   #include "macros.h"   #include "error.h"
pike.git/src/docode.c:134:      void do_pop(int x)   {    switch(x)    {    case 0: return;    case 1: emit2(F_POP_VALUE); break;    default: emit(F_POP_N_ELEMS,x); break;    }   } - #define DO_CODE_BLOCK(N) do_pop(do_docode(N,DO_NOT_COPY | DO_POP)) +     -  + #define DO_CODE_BLOCK(X) do_pop(do_docode((X),DO_NOT_COPY | DO_POP)); +    int do_docode(node *n,INT16 flags)   {    int i;    int save_current_line=current_line;    if(!n) return 0;    current_line=n->line_number;    i=do_docode2(n, flags);       current_line=save_current_line;    return i;
pike.git/src/docode.c:1063:    fatal("Infernal compiler error (unknown parse-tree-token).\n");    return 0; /* make gcc happy */    }   }      void do_code_block(node *n)   {    init_bytecode();    label_no=0;    DO_CODE_BLOCK(n); -  asm_opt(); +     assemble();   }      int docode(node *n)   {    int tmp;    int label_no_save = label_no;    dynamic_buffer instrbuf_save = instrbuf;       instrbuf.s.str=0;    label_no=0;    init_bytecode();       tmp=do_docode(n,0); -  asm_opt(); +     assemble();       instrbuf=instrbuf_save;    label_no = label_no_save;    return tmp;   }