[Openmcl-cvs-notifications] r15279 - in /release/1.8/source: ./ level-1/l1-clos.lisp
rme at clozure.com
rme at clozure.com
Wed Mar 28 11:40:02 CDT 2012
Author: rme
Date: Wed Mar 28 11:40:02 2012
New Revision: 15279
Log:
Report no-applicable-method more sanely for optimized
reader methods.
Modified:
release/1.8/source/ (props changed)
release/1.8/source/level-1/l1-clos.lisp
Propchange: release/1.8/source/
---------------------------------------------------------------------------=
---
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Mar 28 11:40:02 2012
@@ -4,4 +4,4 @@
/branches/rme-logops:13875-13886
/branches/working-0711/ccl:7970-13192,13197-13198,13202,13208,13214,13235-=
13236,13239,13263,13277-13278,13290,13293-13294,13302-13306,13331-13332,133=
39,13361-13364,13379,13383,13386,13388,13409,13435-13436,13438,13440-13442,=
13460-13461,13465,13467,13476,13487,13490,13492-13493,13502-13528,13545-135=
47,13549,13557-13558
/release/1.5/source:13667
-/trunk/source:15221-15223,15225-15226,15228,15249,15252,15255-15256,15259,=
15277
+/trunk/source:15221-15223,15225-15226,15228,15249,15252,15255-15256,15259,=
15265-15266,15277
Modified: release/1.8/source/level-1/l1-clos.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- release/1.8/source/level-1/l1-clos.lisp (original)
+++ release/1.8/source/level-1/l1-clos.lisp Wed Mar 28 11:40:02 2012
@@ -1991,7 +1991,7 @@
(progn (update-obsolete-instance instance)
(eq (instance.class-wrapper instance) wrapper)))
(%slot-ref (instance.slots instance) location))
- (t (no-applicable-method (%gf-dispatch-table-gf dt) instance))=
))))
+ (t (no-applicable-method (method-generic-function (car (%gf-di=
spatch-table-methods dt))) instance))))))
(register-dcode-proto #'singleton-reader-dcode *gf-proto-one-arg*)
=
;;; Dcode for a GF whose methods are all reader-methods which access a
@@ -2003,7 +2003,7 @@
(%class-of-instance instance))
(%svref dt %gf-dispatch-table-first-data))
(%slot-ref (instance.slots instance) (%svref dt (1+ %gf-dispatch-tab=
le-first-data)))
- (no-applicable-method (%gf-dispatch-table-gf dt) instance)))
+ (no-applicable-method (method-generic-function (car (%gf-dispatch-ta=
ble-methods dt))) instance)))
(register-dcode-proto #'reader-constant-location-dcode *gf-proto-one-arg*)
=
;;; Dcode for a GF whose methods are all reader-methods which access a
@@ -2025,7 +2025,7 @@
(< defining-class-ordinal (the fixnum (uvsize bits)))
(not (eql 0 (sbit bits defining-class-ordinal))))
(%slot-ref (instance.slots instance) (%svref dt (1+ %gf-dispatch-tab=
le-first-data)))
- (no-applicable-method (%gf-dispatch-table-gf dt) instance))))
+ (no-applicable-method (method-generic-function (car (%gf-dispatch-ta=
ble-methods dt))) instance))))
(register-dcode-proto #'reader-constant-location-inherited-from-single-cla=
ss-dcode *gf-proto-one-arg*)
=
;;; It may be faster to make individual functions that take their
@@ -2082,7 +2082,7 @@
(not (eql 0 (sbit bits ordinal))))
(return t)))
(%slot-ref (instance.slots instance) (%svref dt (1+ %gf-dispatch-tab=
le-first-data)))
- (no-applicable-method (%gf-dispatch-table-gf dt) instance))))
+ (no-applicable-method (method-generic-function (car (%gf-dispatch-ta=
ble-methods dt))) instance))))
(register-dcode-proto #'reader-constant-location-inherited-from-multiple-c=
lasses-dcode *gf-proto-one-arg*)
=
=
@@ -2098,7 +2098,7 @@
alist))))
(if location
(%slot-ref (instance.slots instance) location)
- (no-applicable-method (%gf-dispatch-table-gf dt) instance))))
+ (no-applicable-method (method-generic-function (car (%gf-dispatch-ta=
ble-methods dt))) instance))))
(register-dcode-proto #'reader-variable-location-dcode *gf-proto-one-arg*)
=
(defun class-and-slot-location-alist (classes slot-name)
More information about the Openmcl-cvs-notifications
mailing list