diff options
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/src/lisp.h b/src/lisp.h index 0d66f57fdb1..37fa81b63f6 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1138,8 +1138,6 @@ struct Lisp_Symbol | |||
| 1138 | special (with `defvar' etc), and shouldn't be lexically bound. */ | 1138 | special (with `defvar' etc), and shouldn't be lexically bound. */ |
| 1139 | unsigned declared_special : 1; | 1139 | unsigned declared_special : 1; |
| 1140 | 1140 | ||
| 1141 | unsigned spacer : 23; | ||
| 1142 | |||
| 1143 | /* The symbol's name, as a Lisp string. | 1141 | /* The symbol's name, as a Lisp string. |
| 1144 | The name "xname" is used to intentionally break code referring to | 1142 | The name "xname" is used to intentionally break code referring to |
| 1145 | the old field "name" of type pointer to struct Lisp_String. */ | 1143 | the old field "name" of type pointer to struct Lisp_String. */ |
| @@ -1341,8 +1339,6 @@ struct Lisp_Misc_Any /* Supertype of all Misc types. */ | |||
| 1341 | ENUM_BF (Lisp_Misc_Type) type : 16; /* = Lisp_Misc_??? */ | 1339 | ENUM_BF (Lisp_Misc_Type) type : 16; /* = Lisp_Misc_??? */ |
| 1342 | unsigned gcmarkbit : 1; | 1340 | unsigned gcmarkbit : 1; |
| 1343 | int spacer : 15; | 1341 | int spacer : 15; |
| 1344 | /* Make it as long as "Lisp_Free without padding". */ | ||
| 1345 | void *fill; | ||
| 1346 | }; | 1342 | }; |
| 1347 | 1343 | ||
| 1348 | struct Lisp_Marker | 1344 | struct Lisp_Marker |
| @@ -1534,13 +1530,6 @@ struct Lisp_Free | |||
| 1534 | unsigned gcmarkbit : 1; | 1530 | unsigned gcmarkbit : 1; |
| 1535 | int spacer : 15; | 1531 | int spacer : 15; |
| 1536 | union Lisp_Misc *chain; | 1532 | union Lisp_Misc *chain; |
| 1537 | #ifdef USE_LSB_TAG | ||
| 1538 | /* Try to make sure that sizeof(Lisp_Misc) preserves TYPEBITS-alignment. | ||
| 1539 | This assumes that Lisp_Marker is the largest of the alternatives and | ||
| 1540 | that Lisp_Misc_Any has the same size as "Lisp_Free w/o padding". */ | ||
| 1541 | char padding[((((sizeof (struct Lisp_Marker) - 1) >> GCTYPEBITS) + 1) | ||
| 1542 | << GCTYPEBITS) - sizeof (struct Lisp_Misc_Any)]; | ||
| 1543 | #endif | ||
| 1544 | }; | 1533 | }; |
| 1545 | 1534 | ||
| 1546 | /* To get the type field of a union Lisp_Misc, use XMISCTYPE. | 1535 | /* To get the type field of a union Lisp_Misc, use XMISCTYPE. |
| @@ -1549,19 +1538,19 @@ struct Lisp_Free | |||
| 1549 | union Lisp_Misc | 1538 | union Lisp_Misc |
| 1550 | { | 1539 | { |
| 1551 | struct Lisp_Misc_Any u_any; /* Supertype of all Misc types. */ | 1540 | struct Lisp_Misc_Any u_any; /* Supertype of all Misc types. */ |
| 1552 | struct Lisp_Free u_free; /* Includes padding to force alignment. */ | 1541 | struct Lisp_Free u_free; |
| 1553 | struct Lisp_Marker u_marker; /* 5 */ | 1542 | struct Lisp_Marker u_marker; |
| 1554 | struct Lisp_Overlay u_overlay; /* 5 */ | 1543 | struct Lisp_Overlay u_overlay; |
| 1555 | struct Lisp_Save_Value u_save_value; /* 3 */ | 1544 | struct Lisp_Save_Value u_save_value; |
| 1556 | }; | 1545 | }; |
| 1557 | 1546 | ||
| 1558 | union Lisp_Fwd | 1547 | union Lisp_Fwd |
| 1559 | { | 1548 | { |
| 1560 | struct Lisp_Intfwd u_intfwd; /* 2 */ | 1549 | struct Lisp_Intfwd u_intfwd; |
| 1561 | struct Lisp_Boolfwd u_boolfwd; /* 2 */ | 1550 | struct Lisp_Boolfwd u_boolfwd; |
| 1562 | struct Lisp_Objfwd u_objfwd; /* 2 */ | 1551 | struct Lisp_Objfwd u_objfwd; |
| 1563 | struct Lisp_Buffer_Objfwd u_buffer_objfwd; /* 2 */ | 1552 | struct Lisp_Buffer_Objfwd u_buffer_objfwd; |
| 1564 | struct Lisp_Kboard_Objfwd u_kboard_objfwd; /* 2 */ | 1553 | struct Lisp_Kboard_Objfwd u_kboard_objfwd; |
| 1565 | }; | 1554 | }; |
| 1566 | 1555 | ||
| 1567 | /* Lisp floating point type */ | 1556 | /* Lisp floating point type */ |
| @@ -2847,6 +2836,14 @@ extern void syms_of_alloc (void); | |||
| 2847 | extern struct buffer * allocate_buffer (void); | 2836 | extern struct buffer * allocate_buffer (void); |
| 2848 | extern int valid_lisp_object_p (Lisp_Object); | 2837 | extern int valid_lisp_object_p (Lisp_Object); |
| 2849 | 2838 | ||
| 2839 | #ifdef REL_ALLOC | ||
| 2840 | /* Defined in ralloc.c */ | ||
| 2841 | extern void *r_alloc (void **, size_t); | ||
| 2842 | extern void r_alloc_free (void **); | ||
| 2843 | extern void *r_re_alloc (void **, size_t); | ||
| 2844 | extern void r_alloc_reset_variable (void **, void **); | ||
| 2845 | #endif | ||
| 2846 | |||
| 2850 | /* Defined in chartab.c */ | 2847 | /* Defined in chartab.c */ |
| 2851 | EXFUN (Fmake_char_table, 2); | 2848 | EXFUN (Fmake_char_table, 2); |
| 2852 | EXFUN (Fset_char_table_parent, 2); | 2849 | EXFUN (Fset_char_table_parent, 2); |