Changeset 14207


Ignore:
Timestamp:
10/20/12 10:39:03 (8 years ago)
Author:
rschlatte
Message:

Call method-function instead of directly accessing a slot.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/Profiler.java

    r14206 r14207  
    7777                                    Symbol.GENERIC_FUNCTION_METHODS.execute(object);
    7878                            }
    79                             // TODO: extract methods from non-standard
    80                             // generic functions here once they are
    81                             // implemented
    8279                            while (methods != null && methods != NIL) {
    83                                 LispObject maybeMethod = methods.car();
    84                                 if (maybeMethod instanceof StandardObject) {
    85                                     StandardObject method = (StandardObject) maybeMethod;
    86                                     LispObject function = method.getInstanceSlotValue(Symbol._FUNCTION);
    87                                     function.setCallCount(0);
    88                                     function.setHotCount(0);
    89                                     methods = methods.cdr();
     80                                LispObject method = methods.car();
     81                                LispObject function =
     82                                  Symbol.METHOD_FUNCTION.execute(method);
     83                                if (function != NIL) {
     84                                  function.setCallCount(0);
     85                                  function.setHotCount(0);
     86                                  methods = methods.cdr();
    9087                                }
    9188                            }
  • trunk/abcl/src/org/armedbear/lisp/Symbol.java

    r14134 r14207  
    29872987  public static final Symbol METAOBJECT =
    29882988    PACKAGE_MOP.addExternalSymbol("METAOBJECT");
     2989  public static final Symbol METHOD_FUNCTION =
     2990    PACKAGE_MOP.addExternalSymbol("METHOD-FUNCTION");
    29892991  public static final Symbol SPECIALIZER =
    29902992    PACKAGE_MOP.addExternalSymbol("SPECIALIZER");
Note: See TracChangeset for help on using the changeset viewer.