mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-03-15 17:30:37 -07:00
Accessors optimized using the new slot location table
This commit is contained in:
parent
5c91e16cc5
commit
53c7e292bc
3 changed files with 4 additions and 3 deletions
|
|
@ -59,9 +59,8 @@ slot_method_index(cl_object gfun, cl_object instance, cl_object args)
|
|||
else {
|
||||
cl_object table = _ecl_funcall3(@'slot-value',
|
||||
ECL_CLASS_OF(instance),
|
||||
@'clos::slot-table');
|
||||
cl_object slotd = ecl_gethash_safe(slot_name, table, OBJNULL);
|
||||
return _ecl_funcall3(@'slot-value', slotd, @'ext::location');
|
||||
@'clos::location-table');
|
||||
return ecl_gethash_safe(slot_name, table, OBJNULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1679,6 +1679,7 @@ cl_symbols[] = {
|
|||
{CLOS_ "GENERIC-FUNCTION-METHODS", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "GENERIC-FUNCTION-NAME", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "INTERN-EQL-SPECIALIZER", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "LOCATION-TABLE", CLOS_ORDINARY | PRIVATE, NULL, -1, OBJNULL},
|
||||
{CLOS_ "MAKE-METHOD-LAMBDA", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "MAP-DEPENDENTS", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "METAOBJECT", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
|
|
|
|||
|
|
@ -1679,6 +1679,7 @@ cl_symbols[] = {
|
|||
{CLOS_ "GENERIC-FUNCTION-METHODS",NULL},
|
||||
{CLOS_ "GENERIC-FUNCTION-NAME",NULL},
|
||||
{CLOS_ "INTERN-EQL-SPECIALIZER",NULL},
|
||||
{CLOS_ "LOCATION-TABLE",NULL},
|
||||
{CLOS_ "MAKE-METHOD-LAMBDA",NULL},
|
||||
{CLOS_ "MAP-DEPENDENTS",NULL},
|
||||
{CLOS_ "METAOBJECT",NULL},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue