Accessors optimized using the new slot location table

This commit is contained in:
Juan Jose Garcia Ripoll 2012-10-12 12:13:05 +02:00
parent 5c91e16cc5
commit 53c7e292bc
3 changed files with 4 additions and 3 deletions

View file

@ -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);
}
}

View file

@ -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},

View file

@ -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},