comparison src/bytecode.h @ 185:3d6bfa290dbd r20-3b19

Import from CVS: tag r20-3b19
author cvs
date Mon, 13 Aug 2007 09:55:28 +0200
parents 131b0175ea99
children 52952cbfc5b5
comparison
equal deleted inserted replaced
184:bcd2674570bf 185:3d6bfa290dbd
40 #define COMPILED_DOMAIN 6 40 #define COMPILED_DOMAIN 6
41 41
42 #define COMPILED_FUNCTION_ANNOTATION_HACK 42 #define COMPILED_FUNCTION_ANNOTATION_HACK
43 43
44 struct Lisp_Compiled_Function 44 struct Lisp_Compiled_Function
45 {
46 struct lrecord_header lheader;
47 unsigned short maxdepth;
48 struct
45 { 49 {
46 struct lrecord_header lheader; 50 unsigned int documentationp: 1;
47 unsigned short maxdepth; 51 unsigned int interactivep: 1;
48 struct 52 /* Only used if I18N3, but always defined for simplicity. */
49 { 53 unsigned int domainp: 1;
50 unsigned int documentationp: 1; 54 /* Non-zero if this bytecode came from a v18 or v19 file.
51 unsigned int interactivep: 1; 55 We need to Ebolify the `assoc', `delq', etc. functions. */
52 /* Only used if I18N3, but always defined for simplicity. */ 56 unsigned int ebolified: 1;
53 unsigned int domainp: 1; 57 } flags;
54 /* Non-zero if this bytecode came from a v18 or v19 file. 58 Lisp_Object bytecodes;
55 We need to Ebolify the `assoc', `delq', etc. functions. */ 59 Lisp_Object constants;
56 unsigned int ebolified: 1; 60 Lisp_Object arglist;
57 } flags; 61 /* This uses the minimal number of conses; see accessors in data.c. */
58 Lisp_Object bytecodes; 62 Lisp_Object doc_and_interactive;
59 Lisp_Object constants;
60 Lisp_Object arglist;
61 /* This uses the minimal number of conses; see accessors in data.c. */
62 Lisp_Object doc_and_interactive;
63 #ifdef COMPILED_FUNCTION_ANNOTATION_HACK 63 #ifdef COMPILED_FUNCTION_ANNOTATION_HACK
64 /* Something indicating where the bytecode came from */ 64 /* Something indicating where the bytecode came from */
65 Lisp_Object annotated; 65 Lisp_Object annotated;
66 #endif 66 #endif
67 }; 67 };
68 68
69 Lisp_Object compiled_function_documentation (struct Lisp_Compiled_Function *b); 69 Lisp_Object compiled_function_documentation (struct Lisp_Compiled_Function *b);
70 Lisp_Object compiled_function_interactive (struct Lisp_Compiled_Function *b); 70 Lisp_Object compiled_function_interactive (struct Lisp_Compiled_Function *b);
71 Lisp_Object compiled_function_domain (struct Lisp_Compiled_Function *b); 71 Lisp_Object compiled_function_domain (struct Lisp_Compiled_Function *b);
72 void set_compiled_function_documentation (struct Lisp_Compiled_Function *b, 72 void set_compiled_function_documentation (struct Lisp_Compiled_Function *b,
89 doc-only (args . doc) : (* 389 2) = 778 89 doc-only (args . doc) : (* 389 2) = 778
90 int-only (args . int) : (* 42 2) = 84 90 int-only (args . int) : (* 42 2) = 84
91 neither args : (* 559 0) = 0 = 3962 91 neither args : (* 559 0) = 0 = 3962
92 combined 92 combined
93 overhead : (* 1765 1) = 1765 93 overhead : (* 1765 1) = 1765
94 doc-and-int (doc . int) : (* 775 2) = 1550 94 doc-and-int (doc . int) : (* 775 2) = 1550
95 doc-only doc : (* 389 0) = 0 95 doc-only doc : (* 389 0) = 0
96 int-only int : (* 42 0) = 0 96 int-only int : (* 42 0) = 0
97 neither - : (* 559 0) = 0 = 3315 97 neither - : (* 559 0) = 0 = 3315
98 both 98 both
99 overhead : (* 1765 2) = 3530 99 overhead : (* 1765 2) = 3530
100 doc-and-int - : (* 775 0) = 0 100 doc-and-int - : (* 775 0) = 0
101 doc-only - : (* 389 0) = 0 101 doc-only - : (* 389 0) = 0
102 int-only - : (* 42 0) = 0 102 int-only - : (* 42 0) = 0
103 neither - : (* 559 0) = 0 = 3530 103 neither - : (* 559 0) = 0 = 3530
104 */ 104 */
105 105
106 #endif /* _XEMACS_BYTECODE_H_ */ 106 #endif /* _XEMACS_BYTECODE_H_ */
107 107