remove self field of vtables
* libguile/struct.h (SCM_VTABLE_BASE_LAYOUT, scm_vtable_index_self): Remove "self" field. Renumber the other fields. * module/oop/goops.scm (<self-slot>): Remove. (fold-class-slots): Adapt for "self" slot removal. Adapt all users. (class-redefinition): Now that there is no "self" slot to update, use %modify-instance instead of %modify-class. * libguile/goops.c (class_self): Remove. (scm_sys_modify_class): Remove. * libguile/goops.h (scm_sys_modify_class): Remove. * module/rnrs/records/procedural.scm: Import vtable-offset-user. Renumber rtd indexes using vtable-offset-user. * module/srfi/srfi-35.scm (%condition-type-vtable): Remove mention of vtable fields. * module/system/base/types.scm (address->inferior-struct): Adapt for different vtable field layout.
This commit is contained in:
parent
7e91ff651b
commit
ee5994a517
7 changed files with 23 additions and 48 deletions
|
|
@ -130,7 +130,6 @@ SCM_API SCM scm_method_procedure (SCM obj);
|
|||
SCM_API SCM scm_slot_bound_p (SCM obj, SCM slot_name);
|
||||
SCM_API SCM scm_slot_exists_p (SCM obj, SCM slot_name);
|
||||
SCM_API SCM scm_sys_modify_instance (SCM old, SCM newinst);
|
||||
SCM_API SCM scm_sys_modify_class (SCM old, SCM newcls);
|
||||
SCM_API SCM scm_generic_capability_p (SCM proc);
|
||||
SCM_API SCM scm_enable_primitive_generic_x (SCM subrs);
|
||||
SCM_INTERNAL SCM scm_set_primitive_generic_x (SCM subr, SCM generic);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue