Diff for /gforth/engine/main.c between versions 1.57 and 1.58

version 1.57, 2002/01/26 16:31:40 version 1.58, 2002/01/26 17:30:34
Line 503  Label compile_prim(Label prim) Line 503  Label compile_prim(Label prim)
     return prim-((Label)xts)+((Label)vm_prims);      return prim-((Label)xts)+((Label)vm_prims);
 #else /* !defined(DOUBLY_INDIRECT) */  #else /* !defined(DOUBLY_INDIRECT) */
 #ifdef IND_JUMP_LENGTH  #ifdef IND_JUMP_LENGTH
   int i;    unsigned i;
   Address old_code_here=code_here;    Address old_code_here=code_here;
   static Address last_jump=0;    static Address last_jump=0;
   
     i = ((Xt)prim)-vm_prims;
   prim = *(Xt)prim;    prim = *(Xt)prim;
   for (i=0; ; i++) {    if (i>=npriminfos || priminfos[i].start == 0) { /* not a relocatable prim */
     if (i>=npriminfos) { /* not a relocatable prim */      if (last_jump) { /* make sure the last sequence is complete */
       if (last_jump) { /* make sure the last sequence is complete */        memcpy(code_here, last_jump, IND_JUMP_LENGTH);
         memcpy(code_here, last_jump, IND_JUMP_LENGTH);        code_here += IND_JUMP_LENGTH;
         code_here += IND_JUMP_LENGTH;        last_jump = 0;
         last_jump = 0;  
       }  
       return prim;  
     }      }
     if (priminfos[i].start==prim)      return prim;
       break;  
   }    }
     assert(priminfos[i].start = prim); 
 #ifdef ALIGN_CODE  #ifdef ALIGN_CODE
   ALIGN_CODE;    ALIGN_CODE;
 #endif  #endif

Removed from v.1.57  
changed lines
  Added in v.1.58


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