/[guile]/guile/guile-core/libguile/tags.h
ViewVC logotype

Diff of /guile/guile-core/libguile/tags.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.100 by dirk, Sun Jun 1 13:58:42 2003 UTC revision 1.101 by dirk, Wed Jun 4 23:22:54 2003 UTC
# Line 3  Line 3 
3  #ifndef SCM_TAGS_H  #ifndef SCM_TAGS_H
4  #define SCM_TAGS_H  #define SCM_TAGS_H
5    
6  /* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002 Free Software Foundation, Inc.  /* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
7   *   *
8   * This library is free software; you can redistribute it and/or   * This library is free software; you can redistribute it and/or
9   * modify it under the terms of the GNU Lesser General Public   * modify it under the terms of the GNU Lesser General Public
# Line 156  typedef unsigned long scm_t_bits; Line 156  typedef unsigned long scm_t_bits;
156   * 0011-100     short instruction   * 0011-100     short instruction
157   * 0100-100     short instruction   * 0100-100     short instruction
158   * 0101-100     short instruction   * 0101-100     short instruction
159   * 0110-100     various immediates and long instructions   * 0110-100     short instruction
160   * 0111-100     short instruction   * 0111-100     short instruction
161   * 1000-100     short instruction   * 1000-100     short instruction
162   * 1001-100     short instruction   * 1001-100     short instruction
# Line 164  typedef unsigned long scm_t_bits; Line 164  typedef unsigned long scm_t_bits;
164   * 1011-100     short instruction   * 1011-100     short instruction
165   * 1100-100     short instruction   * 1100-100     short instruction
166   * 1101-100     short instruction   * 1101-100     short instruction
167   * 1110-100     immediate characters   * 1110-100     immediate characters, various immediates and long instructions
168   * 1111-100     ilocs   * 1111-100     ilocs
169   *   *
170   * Some of the 0110100 immediates are long instructions (they dispatch   * Some of the 1110100 immediates are long instructions (they dispatch in
171   * in two steps compared to one step for a short instruction).   * three steps compared to one step for a short instruction).  The three steps
172   * The two steps are, (1) dispatch on 7 bits to the long instruction   * are, (1) dispatch on 7 bits to the long instruction handler, (2) check, if
173   * handler, (2) dispatch on 7 additional bits.   * the immediate indicates a long instruction (rather than a character or
174     * other immediate) (3) dispatch on the additional bits.
175   *   *
176   * One way to think of it is that there are 128 short instructions,   * One way to think of it is that there are 128 short instructions,
177   * with the 13 immediates above being some of the most interesting.   * with the 13 immediates above being some of the most interesting.
# Line 235  typedef unsigned long scm_t_bits; Line 236  typedef unsigned long scm_t_bits;
236   *              TYP16S functions similarly wrt to TYP16 as TYP7S to TYP7,   *              TYP16S functions similarly wrt to TYP16 as TYP7S to TYP7,
237   *              but a different option bit is used (bit 2 for TYP7S,   *              but a different option bit is used (bit 2 for TYP7S,
238   *              bit 8 for TYP16S).   *              bit 8 for TYP16S).
239   * */   */
   
   
240    
241    
242  /* {Non-immediate values.}  /* {Non-immediate values.}
# Line 397  SCM_API char *scm_isymnames[];   /* defi Line 396  SCM_API char *scm_isymnames[];   /* defi
396   *   *
397   * These are used only in eval but their values   * These are used only in eval but their values
398   * have to be allocated here.   * have to be allocated here.
  *  
399   */   */
400    
401  #define SCM_IM_AND              SCM_MAKSPCSYM (0)  #define SCM_IM_AND              SCM_MAKSPCSYM (0)

Legend:
Removed from v.1.100  
changed lines
  Added in v.1.101

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26