Diff for /gforth/prim between versions 1.248 and 1.250

version 1.248, 2010/04/25 18:27:09 version 1.250, 2010/05/17 09:01:11
Line 2492  c_addr = "libltdl is not configured"; Line 2492  c_addr = "libltdl is not configured";
 u = strlen(c_addr);  u = strlen(c_addr);
 #endif  #endif
   
   w!be ( w c_addr -- )    gforth w_store_be
   ""Store the bottom 16 bits of @i{w} at @i{c_addr} in big endian format.""
   *(Wyde*)(c_addr) = htobe16(w);
   
   l!be ( w c_addr -- )    gforth l_store_be
   ""Store the bottom 32 bits of @i{w} at @i{c_addr} in big endian format.""
   *(Tetrabyte*)(c_addr) = htobe32(w);
   
   x!be ( w c_addr -- )    gforth x_store_be
   ""Store the bottom 64 bits of @i{w} at @i{c_addr} in big endian format.""
   *(Octabyte*)(c_addr) = htobe64(w);
   
   w!le ( w c_addr -- )    gforth w_store_le
   ""Store the bottom 16 bits of @i{w} at @i{c_addr} in big endian format.""
   *(Wyde*)(c_addr) = htole16(w);
   
   l!le ( w c_addr -- )    gforth l_store_le
   ""Store the bottom 32 bits of @i{w} at @i{c_addr} in big endian format.""
   *(Tetrabyte*)(c_addr) = htole32(w);
   
   x!le ( w c_addr -- )    gforth x_store_le
   ""Store the bottom 64 bits of @i{w} at @i{c_addr} in big endian format.""
   *(Octabyte*)(c_addr) = htole64(w);
   
   w@be ( c_addr -- u )    gforth w_fetch_be
   ""@i{u} is the zero-extended 16-bit big endian value stored at @i{c_addr}.""
   u = be16toh(*(UWyde*)(c_addr));
   
   l@be ( c_addr -- u )    gforth l_fetch_be
   ""@i{u} is the zero-extended 32-bit big endian value stored at @i{c_addr}.""
   u = be32toh(*(UTetrabyte*)(c_addr));
   
   x@be ( c_addr -- u )    gforth x_fetch_be
   ""@i{u} is the zero-extended 64-bit big endian value stored at @i{c_addr}.""
   u = be64toh(*(UOctabyte*)(c_addr));
   
   w@le ( c_addr -- u )    gforth w_fetch_le
   ""@i{u} is the zero-extended 16-bit little endian value stored at @i{c_addr}.""
   u = le16toh(*(UWyde*)(c_addr));
   
   l@le ( c_addr -- u )    gforth l_fetch_le
   ""@i{u} is the zero-extended 32-bit little endian value stored at @i{c_addr}.""
   u = le32toh(*(UTetrabyte*)(c_addr));
   
   x@le ( c_addr -- u )    gforth x_fetch_le
   ""@i{u} is the zero-extended 64-bit little endian value stored at @i{c_addr}.""
   u = le64toh(*(UOctabyte*)(c_addr));
   
 \+  \+
 \g peephole  \g peephole
   
Line 2559  Address body = (Address)PFA(a_cfa); Line 2607  Address body = (Address)PFA(a_cfa);
 sp = (*f)(sp, &fp_mem, body);  sp = (*f)(sp, &fp_mem, body);
 fp = fp_mem;  fp = fp_mem;
   
 ;code-exec ( #a_cfa -- ) gforth-internal semi_code_exec  lit-execute     ( #a_addr -- )  new     lit_execute
 /* routine for performing ;code-defined words */  /* for ;code and code words; a static superinstruction would be more general, 
      but VM_JUMP is currently not supported there */
   #ifndef NO_IP
   ip=IP;
   #endif
 SUPER_END;  SUPER_END;
 VM_JUMP(EXEC1(a_cfa));  VM_JUMP(EXEC1((Xt)a_addr));
   
   
 \g static_super  \g static_super

Removed from v.1.248  
changed lines
  Added in v.1.250


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