[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug in DCODE and/or Caching.
- To: CommonLoops.PA@Xerox.COM
- Subject: Bug in DCODE and/or Caching.
- From: James Rice <rice@sumex-aim.stanford.edu>
- Date: Thu, 8 Jun 89 17:09:31 PDT
- Redistributed: CommonLoops.PA
- Reply-to: <Owners-CommonLoops.PA@Xerox.COM>
Hello,
I think the following is indicative of a bug in DCode/Caching.
I don't have time to look for it (I'm off on holiday, whoopee)
so I thought I'd just broadcast it.
The symptom is (apparently) unnecessary consing when using
an accessor for a shared slot from somewhere outside of a method.
So:
(defclass foo () ((a :Allocation :Class :Accessor a :Initform 42)))
(defun bar (x)
(a x))
(setq inst (make-instance 'foo))
(meter:test '(bar inst) #o16)
-> (sorry about the long lines)
DCODE-CACHE-MISS 1
1,269 1,269 480 1,269
(:INTERNAL (:INTERNAL #:F0533 0) 0) 1
358 358 0 358
LOOKUP-METHOD-1 1
357 357 0 357
SYS:*EVAL 2
323 161 0 323
ALL-STD-CLASS-READERS-TERTIARY-MISS 1
279 279 0 279
LOOKUP-METHOD-INTERNAL 1
260 260 0 260
COMPUTE-WRAPPER-CACHE-LOCATION-1 1
258 258 32 258
GET-CPL-1 1
217 217 0 217
(:INTERNAL (:INTERNAL #:F3600 0) 0) 1
206 206 0 206
BAR 1
144 144 0 144
(:INTERNAL LOOKUP-METHOD-1 0) 1
137 137 0 137
(:INTERNAL (:INTERNAL #:F2107 0) 0) 1
134 134 0 134
SLOT-VALUE 1
114 114 0 114
EVAL 1
113 113 0 113
(METHOD READER/WRITER-METHOD-SLOT-NAME (STANDARD-READER/WRITER-METHOD) 1
106 106 0 106
(:INTERNAL (:INTERNAL #:F2207 0) 0) 1
91 91 0 91
(METHOD SLOT-VALUE-USING-CLASS (STANDARD-CLASS T T)) 1
76 76 0 76
GET-CLASS-SLOT-VALUE-1 1
50 50 0 50
GET-CLASS-1 1
48 48 0 48
CLASS-OF 1
38 38 0 38
WRAPPER-OF 1
35 35 0 35
(METHOD ALL-STD-CLASS-READERS-MISS-1 (STANDARD-CLASS T T)) 1
31 31 0 31
INTEGER-LENGTH 1
27 27 0 27
METER::TEST 1
0 0 0 0
total 25
4,671 186 512 4,671
As you can see, DCODE-CACHE-MISS and COMPUTE-WRAPPER-CACHE-LOCATION-1
both cons a fair bit. This problem happens on every call, so
class slots can cons pretty heroically if you're not careful.
This is for "5/22/89 Victoria Day PCL"
on a TI Explorer I running release 5.
Have fun,
Rice.