Mercurial > hg > xemacs-beta
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 |