Diff for /gforth/engine/main.c between versions 1.121 and 1.122

version 1.121, 2003/08/20 09:23:46 version 1.122, 2003/08/24 09:56:10
Line 757  void check_prims(Label symbols1[]) Line 757  void check_prims(Label symbols1[])
               i, s1, s2, s3, (long)(pi->length), (long)(pi->restlength), pi->superend);                i, s1, s2, s3, (long)(pi->length), (long)(pi->restlength), pi->superend);
     if (endlabel == NULL) {      if (endlabel == NULL) {
       pi->start = NULL; /* not relocatable */        pi->start = NULL; /* not relocatable */
         if (pi->length<0) pi->length=100;
       if (debug)        if (debug)
         fprintf(stderr,"\n   non_reloc: no J label > start found\n");          fprintf(stderr,"\n   non_reloc: no J label > start found\n");
       continue;        continue;
     }      }
     if (ends1[i] > endlabel && !pi->superend) {      if (ends1[i] > endlabel && !pi->superend) {
       pi->start = NULL; /* not relocatable */        pi->start = NULL; /* not relocatable */
         pi->length = endlabel-symbols1[i];
       if (debug)        if (debug)
         fprintf(stderr,"\n   non_reloc: there is a J label before the K label (restlength<0)\n");          fprintf(stderr,"\n   non_reloc: there is a J label before the K label (restlength<0)\n");
       continue;        continue;
     }      }
     if (ends1[i] < pi->start && !pi->superend) {      if (ends1[i] < pi->start && !pi->superend) {
       pi->start = NULL; /* not relocatable */        pi->start = NULL; /* not relocatable */
         pi->length = endlabel-symbols1[i];
       if (debug)        if (debug)
         fprintf(stderr,"\n   non_reloc: K label before I label (length<0)\n");          fprintf(stderr,"\n   non_reloc: K label before I label (length<0)\n");
       continue;        continue;
Line 1265  void compile_prim1(Cell *start) Line 1268  void compile_prim1(Cell *start)
 #endif /* !(defined(DOUBLY_INDIRECT) || defined(INDIRECT_THREADED)) */  #endif /* !(defined(DOUBLY_INDIRECT) || defined(INDIRECT_THREADED)) */
 }  }
   
 #if defined(PRINT_SUPER_LENGTHS) && !defined(NO_DYNAMIC)  
 Cell prim_length(Cell prim)  
 {  
   return priminfos[prim].length;  
 }  
 #endif  
   
 Address loader(FILE *imagefile, char* filename)  Address loader(FILE *imagefile, char* filename)
 /* returns the address of the image proper (after the preamble) */  /* returns the address of the image proper (after the preamble) */
 {  {
Line 1645  int main(int argc, char **argv, char **e Line 1641  int main(int argc, char **argv, char **e
   gforth_args(argc, argv, &path, &imagename);    gforth_args(argc, argv, &path, &imagename);
 #ifndef NO_DYNAMIC  #ifndef NO_DYNAMIC
   if (no_dynamic && ss_cost == cost_codesize) {    if (no_dynamic && ss_cost == cost_codesize) {
     ss_cost = cost_lsu;      ss_cost = cost_nexts;
     cost_sums[0] = cost_sums[1];      cost_sums[0] = cost_sums[1]; /* don't use cost_codesize for print-metrics */
     if (debug)      if (debug)
       fprintf(stderr, "--no-dynamic conflicts with --ss-min-codesize, reverting to --ss-min-lsu\n");        fprintf(stderr, "--no-dynamic conflicts with --ss-min-codesize, reverting to --ss-min-nexts\n");
   }    }
 #endif /* !defined(NO_DYNAMIC) */  #endif /* !defined(NO_DYNAMIC) */
 #endif /* defined(HAS_OS) */  #endif /* defined(HAS_OS) */

Removed from v.1.121  
changed lines
  Added in v.1.122


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>