Description: TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. . gcl (2.6.12-2) unstable; urgency=medium . * Version_2_6_13pre1 Author: Camm Maguire --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: https://bugs.debian.org/ Bug-Ubuntu: https://launchpad.net/bugs/ Forwarded: Reviewed-By: Last-Update: --- gcl-2.6.12.orig/clcs/package.lisp +++ gcl-2.6.12/clcs/package.lisp @@ -20,3 +20,4 @@ (defvar *this-package* (find-package :conditions)) +(import 'si::(clines defentry defcfun object void int double)) --- gcl-2.6.12.orig/clcs/sys-proclaim.lisp +++ gcl-2.6.12/clcs/sys-proclaim.lisp @@ -1,45 +1,46 @@ -(IN-PACKAGE "CONDITIONS") -(PROCLAIM - '(FTYPE (FUNCTION (T) T) CONDITION-CLASS-P IS-WARNING CONDITIONP - IS-CONDITION ESCAPE-SPECIAL-CASES-REPLACE - SIMPLE-CONDITION-CLASS-P INTERNAL-SIMPLE-CONDITION-CLASS-P)) -(PROCLAIM '(FTYPE (FUNCTION (*) *) CLCS-COMPILE)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) T) ASSERT-REPORT SYMCAT COERCE-TO-FN - SLOT-SYM)) -(PROCLAIM - '(FTYPE (FUNCTION (T *) *) CLCS-LOAD CLCS-OPEN CLCS-COMPILE-FILE - MAKE-CONDITION)) -(PROCLAIM '(FTYPE (FUNCTION (T) (*)) SIMPLE-ASSERTION-FAILURE)) -(PROCLAIM '(FTYPE (FUNCTION (T T T) T) ACCUMULATE-CASES)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T) T) - |(PCL::FAST-METHOD PRINT-OBJECT (CONDITION T))|)) -(PROCLAIM '(FTYPE (FUNCTION (T T) *) ASSERT-PROMPT)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T) *) - |(PCL::FAST-METHOD PRINT-OBJECT (INTERNAL-WARNING T))| - |(PCL::FAST-METHOD PRINT-OBJECT (UNBOUND-SLOT T))| - |(PCL::FAST-METHOD PRINT-OBJECT (END-OF-FILE T))| - |(PCL::FAST-METHOD PRINT-OBJECT (FILE-ERROR T))| - |(PCL::FAST-METHOD PRINT-OBJECT (ARITHMETIC-ERROR T))| - |(PCL::FAST-METHOD PRINT-OBJECT (SIMPLE-CONDITION T))| - |(PCL::FAST-METHOD PRINT-OBJECT (ABORT-FAILURE T))| - |(PCL::FAST-METHOD PRINT-OBJECT (CASE-FAILURE T))| - |(PCL::FAST-METHOD PRINT-OBJECT (UNDEFINED-FUNCTION T))| - |(PCL::FAST-METHOD PRINT-OBJECT (PRINT-NOT-READABLE T))| - |(PCL::FAST-METHOD PRINT-OBJECT (INTERNAL-ERROR T))| - |(PCL::FAST-METHOD PRINT-OBJECT (PACKAGE-ERROR T))| - |(PCL::FAST-METHOD PRINT-OBJECT (CELL-ERROR T))| - |(PCL::FAST-METHOD PRINT-OBJECT (INTERNAL-CONDITION T))| - |(PCL::FAST-METHOD PRINT-OBJECT (STREAM-ERROR T))| - COERCE-TO-CONDITION - |(PCL::FAST-METHOD PRINT-OBJECT (TYPE-ERROR T))| - |(PCL::FAST-METHOD PRINT-OBJECT (UNBOUND-VARIABLE T))|)) -(PROCLAIM - '(FTYPE (FUNCTION NIL T) REVERT-CLCS-SYMBOLS INSTALL-CLCS-SYMBOLS - READ-EVALUATED-FORM)) -(MAPC (LAMBDA (COMPILER::X) - (SETF (GET COMPILER::X 'SYSTEM::PROCLAIMED-CLOSURE) T)) - '(INSTALL-SYMBOL REVERT-SYMBOL)) \ No newline at end of file +(COMMON-LISP::IN-PACKAGE "CONDITIONS") +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::T) + CONDITIONS::IS-WARNING CONDITIONS::DEFAULT-REPORT + CONDITIONS::IS-CONDITION CONDITIONS::CONDITIONP)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::*) + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (ARITHMETIC-ERROR T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (PACKAGE-ERROR T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (INTERNAL-CONDITION T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (UNDEFINED-FUNCTION T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (UNBOUND-SLOT T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (UNBOUND-VARIABLE T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (CASE-FAILURE T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (PRINT-NOT-READABLE T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (SIMPLE-CONDITION T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (ABORT-FAILURE T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (TYPE-ERROR T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (CELL-ERROR T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (FILE-ERROR T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (END-OF-FILE T))| + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (STREAM-ERROR T))|)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::T) + CONDITIONS::|(PCL::FAST-METHOD PRINT-OBJECT (CONDITION T))| + CONDITIONS::|(PCL::FAST-METHOD MAKE-LOAD-FORM (CONDITION))|)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + CONDITIONS::COERCE-TO-FN CONDITIONS::SLOT-SYM)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + COMMON-LISP::MAKE-CONDITION)) \ No newline at end of file --- gcl-2.6.12.orig/cmpnew/gcl_cmpbind.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpbind.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'bds-bind 'set-bds-bind 'set-loc) --- gcl-2.6.12.orig/cmpnew/gcl_cmpblock.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpblock.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'block 'c1block 'c1special) (si:putprop 'block 'c2block 'c2) --- gcl-2.6.12.orig/cmpnew/gcl_cmpcall.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpcall.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (defvar *ifuncall* nil) --- gcl-2.6.12.orig/cmpnew/gcl_cmpcatch.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpcatch.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'catch 'c1catch 'c1special) (si:putprop 'catch 'c2catch 'c2) --- gcl-2.6.12.orig/cmpnew/gcl_cmpenv.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpenv.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (defvar *safe-compile* nil) (defvar *compiler-check-args* nil) @@ -337,7 +337,7 @@ readtable sequence short-float simple-array simple-bit-vector simple-string simple-vector single-float standard-char stream string dynamic-extent :dynamic-extent - string-char symbol t vector signed-byte unsigned-byte) + symbol t vector signed-byte unsigned-byte) (proclaim-var (car decl) (cdr decl))) (otherwise (unless (member (car decl) *alien-declarations*) @@ -366,6 +366,12 @@ (t (warn "The variable name ~s is not a symbol." var))))) +(defun mexpand-deftype (tp &aux (l (listp tp))(i (when l (cdr tp)))(tp (if l (car tp) tp))) + (when (symbolp tp) + (let ((fn (get tp 'si::deftype-definition))) + (when fn + (apply fn i))))) + (defun c1body (body doc-p &aux (ss nil) (is nil) (ts nil) (others nil) doc form) (loop @@ -383,10 +389,8 @@ ;;; 20040320 CM (cmpck (not (consp decl)) "The declaration ~s is illegal." decl) - (let* ((dtype (car decl))) -;; Can process user deftypes here in the future -- 20040318 CM -;; (dft (and (symbolp dtype) (get dtype 'si::deftype-definition))) -;; (dtype (or (and dft (funcall dft)) dtype))) + (let* ((dtype (car decl)) + (dtype (or (mexpand-deftype dtype) dtype))) (if (consp dtype) (let ((stype (car dtype))) (cmpck (or (not (symbolp stype)) (cdddr dtype)) "The declaration ~s is illegal." decl) @@ -449,7 +453,7 @@ integer keyword list long-float nil null number package pathname random-state ratio rational readtable sequence simple-array simple-bit-vector simple-string simple-base-string simple-vector single-float - standard-char stream string string-char symbol t vector + standard-char stream string symbol t vector signed-byte unsigned-byte) (let ((type (type-filter stype))) (when type @@ -667,7 +671,7 @@ readtable sequence short-float simple-array simple-bit-vector simple-string simple-vector single-float standard-char stream string dynamic-extent :dynamic-extent - string-char symbol t vector signed-byte unsigned-byte) + symbol t vector signed-byte unsigned-byte) (let ((type (type-filter (car decl)))) (dolist** (var (cdr decl) t) (if (symbolp var) --- gcl-2.6.12.orig/cmpnew/gcl_cmpeval.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpeval.lsp @@ -23,9 +23,9 @@ (export '(si::define-compiler-macro si::undef-compiler-macro - si::define-inline-function) 'system) + si::define-inline-function) :system) -(in-package 'compiler) +(in-package :compiler) (si:putprop 'progn 'c1progn 'c1special) (si:putprop 'progn 'c2progn 'c2) @@ -180,9 +180,8 @@ (defun result-type-from-args(f args &aux tem) - (when (and (setq tem (get f 'return-type)) - (not (eq tem '*)) - (not (consp tem))) + (when (if (setq tem (get f 'return-type)) + (and (not (eq tem '*)) (not (consp tem))) t) (dolist (v '(inline-always inline-unsafe)) (dolist (w (get f v)) (fix-opt w) @@ -486,19 +485,22 @@ (defun c1structure-ref1 (form name index &aux (info (make-info))) ;;; Explicitly called from c1expr and c1structure-ref. - (declare (special *aet-types*)) (cond (*safe-compile* (c1expr `(si::structure-ref ,form ',name ,index))) - (t - (let* ((sd (get name 'si::s-data)) - (aet-type (aref (si::s-data-raw sd) index)) - ) - (setf (info-type info) (type-filter (aref *aet-types* aet-type))) - (list 'structure-ref info - (c1expr* form info) - (add-symbol name) - index sd) - - )))) + ((let* ((sd (get name 'si::s-data)) + (aet-type (aref (si::s-data-raw sd) index)) + (sym (find-symbol (si::string-concatenate + (or (si::s-data-conc-name sd) "") + (car (nth index (si::s-data-slot-descriptions sd)))))) + (tp (if sym (get-return-type sym) '*)) + (tp (type-filter (type-and tp (aref *aet-types* aet-type))))) + + (setf (info-type info) (if (and (eq name 'si::s-data) (= index 2));;FIXME -- this belongs somewhere else. CM 20050106 + '(vector unsigned-char) + tp)) + (list 'structure-ref info + (c1expr* form info) + (add-symbol name) + index sd))))) (defun coerce-loc-structure-ref (arg type-wanted &aux (form (cdr arg))) (let* ((sd (fourth form)) --- gcl-2.6.12.orig/cmpnew/gcl_cmpflet.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpflet.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'flet 'c1flet 'c1special) (si:putprop 'flet 'c2flet 'c2) --- gcl-2.6.12.orig/cmpnew/gcl_cmpfun.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpfun.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'princ 'c1princ 'c1) (si:putprop 'princ 'c2princ 'c2) @@ -565,7 +565,7 @@ (equal (third type) '(*))))) (setq tem (si::best-array-element-type (second type))) - (cond ((eq tem 'string-char) `(stringp ,x)) + (cond ((eq tem 'character) `(stringp ,x)) ((eq tem 'bit) `(bit-vector-p ,x)) ((setq tem (position tem *aet-types*)) `(the boolean (vector-type ,x ,tem))))) @@ -803,7 +803,7 @@ (defvar *aet-types* - #(T STRING-CHAR SIGNED-CHAR FIXNUM SHORT-FLOAT LONG-FLOAT + #(T CHARACTER SIGNED-CHAR FIXNUM SHORT-FLOAT LONG-FLOAT SIGNED-CHAR UNSIGNED-CHAR SIGNED-SHORT UNSIGNED-SHORT)) @@ -811,7 +811,7 @@ (defun aet-c-type (type) (ecase type ((t) "object") - ((string-char signed-char) "char") + ((character signed-char) "char") (fixnum "fixnum") (unsigned-char "unsigned char") (unsigned-short "unsigned short") --- gcl-2.6.12.orig/cmpnew/gcl_cmpif.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpif.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'if 'c1if 'c1special) (si:putprop 'if 'c2if 'c2) --- gcl-2.6.12.orig/cmpnew/gcl_cmpinline.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpinline.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) ;;; Pass 1 generates the internal form ;;; ( id info-object . rest ) --- gcl-2.6.12.orig/cmpnew/gcl_cmplabel.lsp +++ gcl-2.6.12/cmpnew/gcl_cmplabel.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (defvar *last-label* 0) (defvar *exit*) --- gcl-2.6.12.orig/cmpnew/gcl_cmplam.lsp +++ gcl-2.6.12/cmpnew/gcl_cmplam.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) ;;; During Pass1, a lambda-list ;;; --- gcl-2.6.12.orig/cmpnew/gcl_cmplet.lsp +++ gcl-2.6.12/cmpnew/gcl_cmplet.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (eval-when (compile) (or (fboundp 'write-block-open) (load "cmplet.lsp"))) --- gcl-2.6.12.orig/cmpnew/gcl_cmploc.lsp +++ gcl-2.6.12/cmpnew/gcl_cmploc.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (defvar *value-to-go*) --- gcl-2.6.12.orig/cmpnew/gcl_cmpmain.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpmain.lsp @@ -24,7 +24,7 @@ ;;; ***************** -(in-package 'compiler) +(in-package :compiler) (export '(*compile-print* *compile-verbose*)) @@ -49,7 +49,11 @@ (defvar *cmpinclude* "\"cmpinclude.h\"") ;;If the following is a string, then it is inserted instead of ;; the include file cmpinclude.h, EXCEPT for system-p calls. -(defvar *cmpinclude-string* t) +(defvar *cmpinclude-string* + (si::file-to-string + (namestring + (make-pathname :directory (append (pathname-directory si::*system-directory*) (list :parent "h")) + :name "cmpinclude" :type "h")))) ;; Let the user write dump c-file etc to /dev/null. --- gcl-2.6.12.orig/cmpnew/gcl_cmpmap.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpmap.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'mapcar 'c1mapcar 'c1) (si:putprop 'maplist 'c1maplist 'c1) --- gcl-2.6.12.orig/cmpnew/gcl_cmpmulti.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpmulti.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'multiple-value-call 'c1multiple-value-call 'c1special) (si:putprop 'multiple-value-call 'c2multiple-value-call 'c2) --- gcl-2.6.12.orig/cmpnew/gcl_cmpopt.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpopt.lsp @@ -1,4 +1,4 @@ -(in-package 'compiler) +(in-package :compiler) ;; The optimizers have been redone to allow more flags ;; The old style optimizations correspond to the first 2 @@ -136,8 +136,11 @@ (get 'system:aset 'inline-unsafe)) (push '(((array t) fixnum t) t #.(flags set)"(#0)->v.v_self[#1]= (#2)") (get 'system:aset 'inline-unsafe)) -(push '(((array string-char) fixnum character) character #.(flags rfa set)"(#0)->ust.ust_self[#1]= (#2)") +(push '(((array character) fixnum character) character #.(flags rfa set)"(#0)->ust.ust_self[#1]= (#2)") (get 'system:aset 'inline-unsafe)) +(push '(((array bit) fixnum fixnum) fixnum #.(flags rfa) + "({object _o=(#0);fixnum _i=(#1)+_o->bv.bv_offset;char _c=1<bv.bv_self+(_i>>3);bool _b=(#2);if (_b) *_d|=_c; else *_d&=~_c;_b;})") + (get 'si::aset 'inline-unsafe)) (push '(((array fixnum) fixnum fixnum) fixnum #.(flags set rfa)"(#0)->fixa.fixa_self[#1]= (#2)") (get 'system:aset 'inline-unsafe)) (push '(((array signed-short) fixnum fixnum) fixnum #.(flags rfa set)"((short *)(#0)->ust.ust_self)[#1]=(#2)") @@ -159,7 +162,7 @@ (push '(((array t) fixnum fixnum t) t #.(flags set) "@0;(#0)->a.a_self[(#1)*(#0)->a.a_dims[1]+#2]= (#3)") (get 'system:aset 'inline-unsafe)) -(push '(((array string-char) fixnum fixnum character) character +(push '(((array character) fixnum fixnum character) character #.(flags rfa set) "@0;(#0)->ust.ust_self[(#1)*(#0)->a.a_dims[1]+#2]= (#3)") (get 'system:aset 'inline-unsafe)) @@ -433,7 +436,9 @@ (get 'aref 'inline-unsafe)) (push '(((array t) fixnum) t #.(flags)"(#0)->v.v_self[#1]") (get 'aref 'inline-unsafe)) -(push '(((array string-char) fixnum) character #.(flags rfa)"(#0)->ust.ust_self[#1]") +(push '(((array character) fixnum) character #.(flags rfa)"(#0)->ust.ust_self[#1]") + (get 'aref 'inline-unsafe)) +(push '(((array bit) fixnum) fixnum #.(flags rfa)"({object _o=(#0);fixnum _i=(#1)+(_o)->bv.bv_offset;(_o->bv.bv_self[_i>>3]>>BIT_ENDIAN(_i&0x7))&0x1;})") (get 'aref 'inline-unsafe)) (push '(((array fixnum) fixnum) fixnum #.(flags rfa)"(#0)->fixa.fixa_self[#1]") (get 'aref 'inline-unsafe)) @@ -456,7 +461,7 @@ (push '(((array t) fixnum fixnum) t #.(flags ) "@0;(#0)->a.a_self[(#1)*(#0)->a.a_dims[1]+#2]") (get 'aref 'inline-unsafe)) -(push '(((array string-char) fixnum fixnum) character #.(flags rfa) +(push '(((array character) fixnum fixnum) character #.(flags rfa) "@0;(#0)->ust.ust_self[(#1)*(#0)->a.a_dims[1]+#2]") (get 'aref 'inline-unsafe)) (push '(((array fixnum) fixnum fixnum) fixnum #.(flags rfa) --- gcl-2.6.12.orig/cmpnew/gcl_cmpspecial.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpspecial.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'quote 'c1quote 'c1special) (si:putprop 'function 'c1function 'c1special) --- gcl-2.6.12.orig/cmpnew/gcl_cmptag.lsp +++ gcl-2.6.12/cmpnew/gcl_cmptag.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (import 'si::switch) (import 'si::switch-finish) --- gcl-2.6.12.orig/cmpnew/gcl_cmptest.lsp +++ gcl-2.6.12/cmpnew/gcl_cmptest.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (defun self-compile () (with-open-file (log "lsplog" :direction :output) --- gcl-2.6.12.orig/cmpnew/gcl_cmptop.lsp +++ gcl-2.6.12/cmpnew/gcl_cmptop.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (defvar *objects* (make-hash-table :test 'eq)) ;(defvar *objects* nil) @@ -572,7 +572,7 @@ (defun make-inline-string (cfun args fname) (if (null args) (format nil "~d()" (c-function-name "LI" cfun fname)) - (let ((o (make-array 100 :element-type 'string-char :fill-pointer 0 + (let ((o (make-array 100 :element-type 'character :fill-pointer 0 :adjustable t ))) (format o "~d(" (c-function-name "LI" cfun fname)) (do ((l args (cdr l)) @@ -696,7 +696,7 @@ ))) (defun si::add-debug (fname x) - (si::putprop fname x 'si::debug)) + (si::putprop fname x 'si::debugger)) (defun t3init-fun (fname cfun lambda-expr doc) @@ -1237,10 +1237,10 @@ (si::fixnump (cdr (var-ref va)))) (setf (nth (cdr (var-ref va)) locals) (var-name va)))) - (setf (get fname 'si::debug) locals) - (let ((locals (get fname 'si::debug))) + (setf (get fname 'si::debugger) locals) + (let ((locals (get fname 'si::debugger))) (if (and locals (or (cdr locals) (not (null (car locals))))) - (add-init `(si::debug ',fname ',locals) ) + (add-init `(debug ',fname ',locals) ) )) )))) @@ -1406,7 +1406,7 @@ ((and (consp form) (symbolp (car form)) (or (eq (car form) 'setq) - (not (special-form-p (car form)))) + (not (special-operator-p (car form)))) (do ((v (cdr form) (and (consp v) (cdr v))) (i 1 (the fixnum (+ 1 i)))) ((or (>= i 1000) @@ -1457,7 +1457,7 @@ (setf (get 'si::define-structure 't1) 't1define-structure) (defun t1define-structure (args) - (maybe-eval t `(si::define-structure ,@args ,(not (maybe-eval nil nil)))) + (maybe-eval t `(si::define-structure ,@(copy-tree args) ,(not (maybe-eval nil nil))));FIXME (t1ordinary (cons 'si::define-structure args))) @@ -1484,7 +1484,7 @@ (cond ((stringp s) (push s body)) ((consp s) (cond ((symbolp (car s)) - (cmpck (special-form-p (car s)) + (cmpck (special-operator-p (car s)) "Special form ~s is not allowed in defCfun." (car s)) (push (list (cons (car s) (parse-cvspecs (cdr s)))) body)) ((and (consp (car s)) (symbolp (caar s)) @@ -1493,7 +1493,7 @@ (not (endp (cddar s))) (endp (cdr s)) (not (endp (cddr s)))) - (special-form-p (caar s))))) + (special-operator-p (caar s))))) (push (cons (cons (caar s) (if (eq (caar s) 'quote) (list (add-object (cadar s))) --- gcl-2.6.12.orig/cmpnew/gcl_cmptype.lsp +++ gcl-2.6.12/cmpnew/gcl_cmptype.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) ;;; CL-TYPE is any valid type specification of Common Lisp. ;;; @@ -51,7 +51,7 @@ (let ((type (type-of thing))) (case type ((fixnum short-float long-float) type) - ((string-char standard-char character) 'character) + ((standard-char character) 'character) ((string bit-vector) type) (vector (list 'vector (array-element-type thing))) (array (list 'array (array-element-type thing))) @@ -82,7 +82,7 @@ (and (consp (caddr type)) (= (length (caddr type)) 1)))) (case element-type - (string-char 'string) + (character 'string) (bit 'bit-vector) (t (list 'vector element-type)))) (t (list 'array element-type)))) @@ -109,8 +109,8 @@ ((subtypep type '(vector long-float)) '(vector long-float)) ((subtypep type '(array t)) '(array t)) - ((subtypep type '(array string-char)) - '(array string-char)) + ((subtypep type '(array character)) + '(array character)) ((subtypep type '(array bit)) '(array bit)) ((subtypep type '(array fixnum)) '(array fixnum)) ((subtypep type '(array short-float)) @@ -142,11 +142,13 @@ ((eq type1 t) type2) ((eq type2 'object) type1) ((eq type2 t) type1) - ((consp type1) + ((subtypep type2 type1) type2) + ((subtypep type1 type2) type1) + ((consp type1) (case (car type1) (array (case (cadr type1) - (string-char (if (eq type2 'string) type2 nil)) + (character (if (eq type2 'string) type2 nil)) (bit (if (eq type2 'bit-vector) type2 nil)) (t (if (and (consp type2) (eq (car type2) 'vector) @@ -160,7 +162,7 @@ (t (case type1 (string (if (and (consp type2) (eq (car type2) 'array) - (eq (cadr type2) 'string-char)) + (eq (cadr type2) 'character)) type1 nil)) (bit-vector (if (and (consp type2) (eq (car type2) 'array) --- gcl-2.6.12.orig/cmpnew/gcl_cmputil.lsp +++ gcl-2.6.12/cmpnew/gcl_cmputil.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (export '(*suppress-compiler-warnings* *suppress-compiler-notes* @@ -204,7 +204,7 @@ (do-macro-expansion '(macroexpand-1) form) form)) -(defun cmp-expand-macro (fd fname args &aux env (form (cons fname args))) +(defun cmp-expand-macro (fd fname args &aux (form (cons fname args))) (if (macro-def-p form) (do-macro-expansion `(funcall *macroexpand-hook* ',fd) form) form)) @@ -214,7 +214,7 @@ (defun cmp-toplevel-eval (form) (let* ((si::*ihs-base* si::*ihs-top*) (si::*ihs-top* (1- (si::ihs-top))) - (*break-enable* *compiler-break-enable*) + (si::*break-enable* *compiler-break-enable*) (si::*break-hidden-packages* (cons (find-package 'compiler) si::*break-hidden-packages*))) --- gcl-2.6.12.orig/cmpnew/gcl_cmpvar.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpvar.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'var 'c2var 'c2) (si:putprop 'location 'c2location 'c2) --- gcl-2.6.12.orig/cmpnew/gcl_cmpvs.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpvs.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (si:putprop 'vs 'set-vs 'set-loc) (si:putprop 'vs 'wt-vs 'wt-loc) --- gcl-2.6.12.orig/cmpnew/gcl_cmpwt.lsp +++ gcl-2.6.12/cmpnew/gcl_cmpwt.lsp @@ -19,7 +19,7 @@ ;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -(in-package 'compiler) +(in-package :compiler) (eval-when (compile eval) (require 'FASDMACROS "../cmpnew/gcl_fasdmacros.lsp") --- gcl-2.6.12.orig/cmpnew/gcl_collectfn.lsp +++ gcl-2.6.12/cmpnew/gcl_collectfn.lsp @@ -13,7 +13,7 @@ ;; Additionally cross reference information about functions in the system is ;; collected. -(in-package 'compiler) +(in-package :compiler) (import 'sloop::sloop) (defstruct fn --- gcl-2.6.12.orig/cmpnew/gcl_lfun_list.lsp +++ gcl-2.6.12/cmpnew/gcl_lfun_list.lsp @@ -3,7 +3,7 @@ ;; and making the arglists correct if they have optional args. ;; -(in-package 'compiler) +(in-package :compiler) (DEFSYSFUN 'GENSYM "Lgensym" '(*) 'T NIL NIL) (DEFSYSFUN 'SUBSEQ "Lsubseq" '(T T *) 'T NIL NIL) @@ -129,7 +129,7 @@ (DEFSYSFUN 'STRING-NOT-GREATERP "Lstring_not_greaterp" '(T T *) 'T NIL NIL) (DEFSYSFUN 'STRING> "Lstring_g" '(T T *) 'T NIL NIL) (DEFSYSFUN 'FINISH-OUTPUT "Lfinish_output" '(*) 'T NIL NIL) -(DEFSYSFUN 'SPECIAL-FORM-P "Lspecial_form_p" '(T) 'T NIL T) +(DEFSYSFUN 'SPECIAL-OPERATOR-P "Lspecial_operator_p" '(T) 'T NIL T) (DEFSYSFUN 'STRINGP "Lstringp" '(T) 'T NIL T) (DEFSYSFUN 'GET-INTERNAL-RUN-TIME "Lget_internal_run_time" 'NIL 'T NIL NIL) @@ -303,7 +303,7 @@ (DEFSYSFUN '= "Lall_the_same" '(T *) 'T NIL T) (DEFSYSFUN 'GENTEMP "Lgentemp" '(*) 'T NIL NIL) (DEFSYSFUN 'RENAME-PACKAGE "Lrename_package" '(T T *) 'T NIL NIL) -(DEFSYSFUN 'COMMONP "Lcommonp" '(T) 'T NIL T) +(DEFSYSFUN 'COMMONP "siLcommonp" '(T) 'T NIL T) (DEFSYSFUN 'NUMBERP "Lnumberp" '(T) 'T NIL T) (DEFSYSFUN 'COPY-READTABLE "Lcopy_readtable" '(*) 'T NIL NIL) (DEFSYSFUN 'RANDOM-STATE-P "Lrandom_state_p" '(T) 'T NIL T) @@ -365,7 +365,7 @@ (DEFSYSFUN 'ASSOC-IF "Lassoc_if" '(T T) 'T NIL NIL) (DEFSYSFUN 'GET-PROPERTIES "Lget_properties" '(T T) '* NIL NIL) (DEFSYSFUN 'STRING<= "Lstring_le" '(T T *) 'T NIL NIL) -(DEFSYSFUN 'EVALHOOK "Levalhook" '(T T T *) 'T NIL NIL) +(DEFSYSFUN 'EVALHOOK "siLevalhook" '(T T T *) 'T NIL NIL) (DEFSYSFUN 'FILE-WRITE-DATE "Lfile_write_date" '(T) 'T NIL NIL) (DEFSYSFUN 'LOGCOUNT "Llogcount" '(T) 'T NIL NIL) (DEFSYSFUN 'MERGE-PATHNAMES "Lmerge_pathnames" '(T *) 'T NIL NIL) --- gcl-2.6.12.orig/cmpnew/gcl_make_ufun.lsp +++ gcl-2.6.12/cmpnew/gcl_make_ufun.lsp @@ -20,13 +20,13 @@ -(in-package 'compiler) +(in-package :compiler) (defvar gazonk (make-package 'symbol-table :use nil)) (defvar eof (cons nil nil)) (defvar *Ufun-out*) -(defvar *str* (make-array 128 :element-type 'string-char :fill-pointer 0)) +(defvar *str* (make-array 128 :element-type 'character :fill-pointer 0)) (defun make-Ufun (in-files &key (out-file "Ufun_list.lsp")) (with-open-file (*Ufun-out* out-file :direction :output) --- gcl-2.6.12.orig/cmpnew/gcl_nocmpinc.lsp +++ gcl-2.6.12/cmpnew/gcl_nocmpinc.lsp @@ -1,6 +1,6 @@ -(in-package 'compiler) +(in-package :compiler) (defvar *cmpinclude-string* nil) @@ -20,4 +20,4 @@ - \ No newline at end of file + --- gcl-2.6.12.orig/cmpnew/sys-proclaim.lisp +++ gcl-2.6.12/cmpnew/sys-proclaim.lisp @@ -1,168 +1,377 @@ -(IN-PACKAGE "COMPILER") -(MAPC (LAMBDA (X) (SETF (GET X 'PROCLAIMED-CLOSURE) T)) - '(CMP-TMP-MACRO COMPILE DISASSEMBLE CMP-ANON)) -(PROCLAIM '(FTYPE (FUNCTION (STRING *) T) TS)) -(PROCLAIM - '(FTYPE (FUNCTION (T) T) VAR-REP-LOC C1FUNOB C1STRUCTURE-REF - T1PROGN GET-RETURN-TYPE ADD-REG1 C1VAR C1ECASE - C1SHARP-COMMA C1ASH LTVP CTOP-WRITE C2FUNCTION - DECLARATION-TYPE C1TERPRI C1FUNCALL VAR-REGISTER C1ASSOC - CONS-TO-LISTA WT-LIST C1NTHCDR-CONDITION - C1MULTIPLE-VALUE-CALL CHECK-DOWNWARD TYPE-FILTER - C2TAGBODY-LOCAL BLK-NAME C1FSET T1DEFENTRY C1MEMBER - C1GETHASH C2GO-CCB SCH-LOCAL-FUN C1RPLACD C1RPLACA-NTHCDR - INLINE-POSSIBLE C1MAPC C2VAR WT-FUNCALL-C C1ADD-GLOBALS - FUN-NAME SAVE-FUNOB FUN-CFUN PROCLAIM TAG-REF-CCB - FIXNUM-LOC-P UNWIND-NO-EXIT WT-H1 MAXARGS C1GO INFO-P TAG-P - C1AND INLINE-TYPE VAR-REF-CCB C1MULTIPLE-VALUE-BIND C1THE - C2DM-RESERVE-VL WT-DOWNWARD-CLOSURE-MACRO VAR-NAME C1THROW - INFO-TYPE C1ASH-CONDITION LTVP-EVAL CHARACTER-LOC-P - C2DOWNWARD-FUNCTION C1EXPR C1TAGBODY BLK-REF INFO-VOLATILE - VAR-REF CONSTANT-FOLD-P WT-DATA-PACKAGE-OPERATION FUN-P - VAR-LOC C1PROGN C1NTHCDR VOLATILE TAG-UNWIND-EXIT - REPLACE-CONSTANT NAME-TO-SD SET-TOP C1GET PUSH-ARGS - FUN-REF-CCB INLINE-BOOLE3-STRING C1SETQ C1LOCAL-CLOSURE - CLINK GET-INCLUDED SET-PUSH-CATCH-FRAME FUNCTION-ARG-TYPES - T2DECLARE OBJECT-TYPE CHECK-VREF COPY-INFO - T1DEFINE-STRUCTURE C1BOOLE3 FUN-LEVEL C1NTH C2GET FIX-OPT - C1OR FUNCTION-RETURN-TYPE T1DEFUN T1CLINES FLAGS-POS - SAVE-AVMA WT-DOWN C2GO-CLB C1SWITCH WT-SWITCH-CASE - C1FUNCTION C2RPLACD C1LABELS C1MULTIPLE-VALUE-SETQ WT-VV - C2TAGBODY-CLB WT-CADR C1MAPCAR MACRO-DEF-P T1DEFMACRO - SET-RETURN THE-PARAMETER BLK-REF-CCB AET-C-TYPE - PUSH-ARGS-LISPCALL WRITE-BLOCK-OPEN SET-UP-VAR-CVS TAG-VAR - INFO-SP-CHANGE ADD-LOOP-REGISTERS C1MULTIPLE-VALUE-PROG1 - WT-VS C2LOCATION C1COMPILER-LET T3CLINES RESULT-TYPE - PROCLAMATION C1MAPL C1PRINC TAG-LABEL C2FUNCALL-AUX BLK-VAR - TAG-REF-CLB C2TAGBODY-CCB VERIFY-DATA-VECTOR C1MAPCAN - BLK-EXIT WT-VS-BASE REGISTER UNDEFINED-VARIABLE - SYSTEM:UNDEF-COMPILER-MACRO C1BLOCK C1MAPLIST - ARGS-CAUSE-SIDE-EFFECT C2BIND C1LET WT-SYMBOL-FUNCTION - CMP-MACRO-FUNCTION WT1 C1MEMQ BLK-REF-CLB ADD-ADDRESS - GET-LOCAL-ARG-TYPES C1UNWIND-PROTECT REP-TYPE ADD-CONSTANT - C1IF C1QUOTE C1FMLA-CONSTANT WT-DATA1 NAME-SD1 BLK-P - C1CATCH CMP-MACROEXPAND SHORT-FLOAT-LOC-P T3ORDINARY - C1LENGTH NEED-TO-SET-VS-POINTERS C1DOWNWARD-FUNCTION C1FLET - TAG-SWITCH TAG-REF PARSE-CVSPECS TAG-NAME VAR-P VAR-KIND - C1VREF C2GETHASH LONG-FLOAT-LOC-P C1MAPCON C1NTH-CONDITION - WT-FUNCTION-LINK WT-VAR-DECL C1STACK-LET ADD-SYMBOL T1DEFLA - C2EXPR* C1LOAD-TIME-VALUE C1DM-BAD-KEY C1PROGV FSET-FN-NAME - C2VALUES FUN-REF C2VAR-KIND C1PSETQ VARARG-P T1ORDINARY - C2GO-LOCAL C1LET* C2DM-RESERVE-V PUSH-DATA-INCF - C1DEFINE-STRUCTURE DEFAULT-INIT MDELETE-FILE - C1BOOLE-CONDITION C2RPLACA C1VALUES GET-ARG-TYPES WT-CAR - FUN-INFO C1DECLARE C1STRUCTURE-SET WT-VS* CMP-MACROEXPAND-1 - SCH-GLOBAL GET-LOCAL-RETURN-TYPE C1EVAL-WHEN C2TAGBODY-BODY - C1APPLY C1LOCAL-FUN C1MACROLET ADD-OBJECT C1RETURN-FROM - SAFE-SYSTEM RESET-INFO-TYPE T1DEFCFUN C1RPLACA WT-CDR - VAR-TYPE T1MACROLET C1LIST-NTH INFO-CHANGED-ARRAY - INFO-REFERRED-ARRAY BLK-VALUE-TO-GO ADD-OBJECT2 WT-CCB-VS)) -(PROCLAIM '(FTYPE (FUNCTION (*) *) INLINE-BOOLE3)) -(PROCLAIM '(FTYPE (FUNCTION (T) FIXNUM) F-TYPE)) -(PROCLAIM - '(FTYPE (FUNCTION (T (VECTOR T) FIXNUM T) FIXNUM) PUSH-ARRAY)) -(PROCLAIM - '(FTYPE (FUNCTION (T (VECTOR T) FIXNUM FIXNUM T) FIXNUM) - BSEARCHLEQ)) -(PROCLAIM - '(FTYPE (FUNCTION (T) *) C2EXPR WT-FIXNUM-LOC WT-LONG-FLOAT-LOC - C2OR WT-SHORT-FLOAT-LOC CMP-EVAL C2PROGN WT-TO-STRING - SET-LOC CMP-TOPLEVEL-EVAL VV-STR T1EXPR T1EVAL-WHEN WT-LOC - C2AND WT-CHARACTER-LOC)) -(PROCLAIM - '(FTYPE (FUNCTION (*) T) FCALLN-INLINE MAKE-BLK MAKE-FUN - LIST*-INLINE WT-CLINK COMPILE-FILE C2FSET MAKE-TAG CS-PUSH - LIST-INLINE MAKE-VAR COMPILER-COMMAND MAKE-INFO)) -(PROCLAIM - '(FTYPE (FUNCTION (STRING FIXNUM FIXNUM) T) DASH-TO-UNDERSCORE-INT)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T) *) C2COMPILER-LET C2FLET C2LABELS C2IF - WT-INLINE)) -(PROCLAIM '(FTYPE (FUNCTION (T T *) *) T3DEFUN-AUX)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T) *) C1DM-V C2RETURN-FROM C2DM C1DM-VL - C2APPLY-OPTIMIZE)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) T) C2APPLY C2RETURN-CCB C2BIND-INIT - PROCLAIM-VAR PRIN1-CMP C2LAMBDA-EXPR-WITH-KEY - SYSTEM::ADD-DEBUG C2LAMBDA-EXPR-WITHOUT-KEY C2STACK-LET - MULTIPLE-VALUE-CHECK C1DECL-BODY COMPILER-CC C1EXPR* - C2MULTIPLE-VALUE-PROG1 CO1VECTOR-PUSH - ARGS-INFO-CHANGED-VARS C2DM-BIND-INIT C1PROGN* - CO1WRITE-CHAR COERCE-LOC WT-FIXNUM-VALUE IS-REP-REFERRED - C2MULTIPLE-VALUE-CALL CO1SPECIAL-FIX-DECL INLINE-PROC - WT-CHARACTER-VALUE SET-VS C2PSETQ T3SHARP-COMMA - STRUCT-TYPE-OPT WT-MAKE-DCLOSURE C2DM-BIND-VL SET-JUMP-TRUE - DO-MACRO-EXPANSION CO1SCHAR C2BLOCK-CLB - C2LIST-NTH-IMMEDIATE C2DM-BIND-LOC WT-LONG-FLOAT-VALUE - CO1CONS COMPILER-CLEAR-COMPILER-PROPERTIES C2EXPR-TOP - ARGS-INFO-REFERRED-VARS C2MEMBER!2 C2MULTIPLE-VALUE-SETQ - C2SETQ ADD-DEBUG-INFO GET-INLINE-LOC RESULT-TYPE-FROM-ARGS - C2BIND-LOC CO1STRUCTURE-PREDICATE C1ARGS SHIFT<< UNWIND-BDS - MAYBE-EVAL C2UNWIND-PROTECT TYPE-AND C2CALL-LOCAL C2THROW - CO1TYPEP SET-BDS-BIND C1SETQ1 C2CATCH TYPE>= C1LAMBDA-FUN - NEED-TO-PROTECT C2ASSOC!2 CO1READ-BYTE CO1LDB - CONVERT-CASE-TO-SWITCH FAST-READ MAKE-USER-INIT - CO1CONSTANT-FOLD C1FMLA CHECK-FNAME-ARGS - COERCE-LOC-STRUCTURE-REF WT-SHORT-FLOAT-VALUE C2BLOCK-CCB - ADD-INFO CAN-BE-REPLACED CO1READ-CHAR C2CALL-LAMBDA - CFAST-WRITE PUSH-CHANGED-VARS SHIFT>> JUMPS-TO-P CO1SUBLIS - C1CONSTANT-VALUE C2RETURN-CLB WT-VAR CHECK-END C2EXPR-TOP* - WT-V*-MACROS SET-JUMP-FALSE CMPFIX-ARGS SET-DBIND - CO1WRITE-BYTE CO1EQL COMPILER-DEF-HOOK WT-REQUIREDS)) -(PROCLAIM '(FTYPE (FUNCTION (T *) *) COMPILE-FILE1)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM FIXNUM) T) MLIN)) -(PROCLAIM '(FTYPE (FUNCTION (STRING) T) DASH-TO-UNDERSCORE)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) FIXNUM) PROCLAIMED-ARGD ANALYZE-REGS1 - ANALYZE-REGS)) -(PROCLAIM '(FTYPE (FUNCTION (T FIXNUM) T) MEMOIZED-HASH-EQUAL)) -(PROCLAIM '(FTYPE (FUNCTION ((VECTOR T)) T) COPY-ARRAY)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) *) C2BLOCK-LOCAL C1SYMBOL-FUN C1BODY - C2BLOCK C2DECL-BODY C2RETURN-LOCAL NCONC-FILES - WT-INLINE-LOC COMPILER-BUILD)) -(PROCLAIM - '(FTYPE (FUNCTION (T *) T) WT-CVAR C1LAMBDA-EXPR UNWIND-EXIT - CMPWARN WT-COMMENT WT-INTEGER-LOC CMPERR ADD-INIT - FAST-LINK-PROCLAIMED-TYPE-P CMPNOTE C1CASE INIT-NAME)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T) T) T3DEFUN-VARARG C2STRUCTURE-REF - C2CALL-UNKNOWN-GLOBAL C1MAKE-VAR C2SWITCH WT-GLOBAL-ENTRY - C2CALL-GLOBAL T3INIT-FUN MY-CALL T3DEFUN-NORMAL)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T) T) CJT WT-INLINE-INTEGER CMP-EXPAND-MACRO - CHECK-FORM-TYPE SET-VAR C2CASE ADD-FUNCTION-PROCLAMATION - INLINE-TYPE-MATCHES T3DEFCFUN C2MAPCAN AND-FORM-TYPE - C2PROGV C1DM WT-INLINE-CHARACTER C2MULTIPLE-VALUE-BIND - C2FUNCALL-SFUN C2LET MYSUB C-FUNCTION-NAME WT-MAKE-CCLOSURE - C2GO WT-INLINE-COND ADD-FAST-LINK C1STRUCTURE-REF1 C2MAPCAR - BOOLE3 TOO-FEW-ARGS FIX-DOWN-ARGS COMPILER-PASS2 - GET-INLINE-INFO C2LET* WT-INLINE-SHORT-FLOAT - WT-IF-PROCLAIMED C2PRINC ASSIGN-DOWN-VARS - WT-INLINE-LONG-FLOAT C2TAGBODY C1MAP-FUNCTIONS CHECK-VDECL - MAKE-INLINE-STRING WT-INLINE-FIXNUM C2MAPC CAN-BE-REPLACED* - SUBLIS1-INLINE TOO-MANY-ARGS ADD-FUNCTION-DECLARATION CJF)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T *) T) T3LOCAL-DCFUN T3LOCAL-FUN)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T) T) T2DEFUN T3DEFUN C2STRUCTURE-SET - C1APPLY-OPTIMIZE T3DEFUN-LOCAL-ENTRY)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T *) T) WT-SIMPLE-CALL GET-OUTPUT-PATHNAME)) -(PROCLAIM - '(FTYPE (FUNCTION (T T *) T) INLINE-ARGS C2FUNCALL C2LAMBDA-EXPR - LINK)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T) T) T3DEFMACRO DEFSYSFUN T2DEFENTRY - T2DEFMACRO T3DEFENTRY)) -(PROCLAIM - '(FTYPE (FUNCTION NIL T) WT-DATA-BEGIN PRINT-COMPILER-INFO - GAZONK-NAME CCB-VS-PUSH INC-INLINE-BLOCKS - PRINT-CURRENT-FORM C1NIL WT-DATA-FILE - ADD-LOAD-TIME-SHARP-COMMA CVS-PUSH RESET-TOP WT-CVARS - BABOON WT-FASD-DATA-FILE WT-DATA-END INIT-ENV - TAIL-RECURSION-POSSIBLE WFS-ERROR C1T VS-PUSH - WT-NEXT-VAR-ARG WT-FIRST-VAR-ARG WT-C-PUSH - CLOSE-INLINE-BLOCKS)) \ No newline at end of file +(COMMON-LISP::IN-PACKAGE "COMPILER") +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::STRING COMMON-LISP::*) + COMMON-LISP::T) + COMPILER::TS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::T) + COMPILER::C1MULTIPLE-VALUE-BIND COMPILER::C1VALUES + COMPILER::C1RPLACA COMPILER::FUN-P + COMPILER::FUNCTION-ARG-TYPES COMPILER::C1STRUCTURE-REF + COMPILER::GET-RETURN-TYPE COMPILER::WT-FUNCALL-C + COMPILER::MACRO-DEF-P COMPILER::T1DEFUN COMPILER::C1ASSOC + COMPILER::SET-UP-VAR-CVS COMPILER::C2FUNCTION + COMPILER::C1DM-BAD-KEY COMPILER::ADD-OBJECT + COMPILER::WT-SWITCH-CASE COMPILER::VARARG-P + COMPILER::C1TAGBODY COMPILER::C2GET COMPILER::VAR-REF + COMPILER::SCH-LOCAL-FUN COMPILER::ADD-SYMBOL + COMPILER::TAG-UNWIND-EXIT COMPILER::C1MULTIPLE-VALUE-SETQ + COMPILER::C1PRINC COMPILER::WT-VAR-DECL COMPILER::C1QUOTE + COMPILER::C2RPLACD COMPILER::CHECK-VREF + COMPILER::PUSH-ARGS-LISPCALL COMPILER::C1MAPLIST + COMPILER::ADD-REG1 COMPILER::C1OR COMPILER::WT-SYMBOL-FUNCTION + COMPILER::TAG-P COMPILER::SAFE-SYSTEM COMPILER::C1ECASE + COMPILER::LTVP COMPILER::GET-INCLUDED COMPILER::INFO-P + COMPILER::FUN-INFO COMPILER::C1LOAD-TIME-VALUE + COMPILER::GET-LOCAL-ARG-TYPES COMPILER::BLK-P + COMPILER::BLK-EXIT COMPILER::C2VAR-KIND COMPILER::C2LOCATION + COMPILER::WT1 COMPILER::WT-CCB-VS + COMPILER::WT-DOWNWARD-CLOSURE-MACRO COMPILER::BLK-REF-CCB + COMPILER::UNDEFINED-VARIABLE COMPILER::C1MULTIPLE-VALUE-CALL + COMPILER::VAR-LOC COMPILER::C1SETQ COMPILER::C1NTH-CONDITION + COMPILER::C2RPLACA COMPILER::FUN-REF COMPILER::C2VAR + COMPILER::WT-CAR COMPILER::WT-LIST COMPILER::WRITE-BLOCK-OPEN + COMPILER::INFO-VOLATILE COMPILER::GET-LOCAL-RETURN-TYPE + COMPILER::AET-C-TYPE COMPILER::PUSH-ARGS COMPILER::TAG-REF-CLB + COMPILER::BLK-REF COMPILER::VAR-P COMPILER::C1ADD-GLOBALS + COMPILER::T3ORDINARY COMPILER::ADD-OBJECT2 COMPILER::SET-TOP + COMPILER::T1DEFLA COMPILER::C1FUNCTION COMPILER::T3CLINES + COMPILER::T1DEFCFUN COMPILER::C1VREF COMPILER::C1ASH + COMPILER::BLK-NAME COMPILER::WT-CADR COMPILER::WT-DOWN + COMPILER::C1TERPRI COMPILER::C2GETHASH COMPILER::C2GO-CCB + COMPILER::SAVE-FUNOB COMPILER::T2DECLARE COMPILER::FUN-REF-CCB + COMPILER::C1MAPCAR COMPILER::T1DEFMACRO + COMPILER::C2TAGBODY-LOCAL COMPILER::C1STACK-LET + COMPILER::INFO-TYPE COMPILER::T1MACROLET COMPILER::C1LET* + COMPILER::C1RPLACD COMPILER::DECLARATION-TYPE + COMPILER::T1ORDINARY COMPILER::C2EXPR* COMPILER::C1LOCAL-FUN + COMPILER::WT-DATA-PACKAGE-OPERATION + COMPILER::C1BOOLE-CONDITION SYSTEM::UNDEF-COMPILER-MACRO + COMPILER::C2TAGBODY-BODY COMPILER::C1NTHCDR COMPILER::C1VAR + COMPILER::C1MULTIPLE-VALUE-PROG1 COMPILER::C1NTHCDR-CONDITION + COMPILER::CONSTANT-FOLD-P COMPILER::C1UNWIND-PROTECT + COMPILER::PROCLAMATION COMPILER::C1NTH COMPILER::C1RETURN-FROM + COMPILER::INFO-SP-CHANGE COMPILER::C1LENGTH + COMPILER::CMP-MACRO-FUNCTION COMPILER::BLK-REF-CLB + COMPILER::NAME-TO-SD COMPILER::CTOP-WRITE COMPILER::C1MAPCON + COMPILER::C1FUNOB COMPILER::FIX-OPT COMPILER::C1RPLACA-NTHCDR + COMPILER::C1FLET COMPILER::RESULT-TYPE COMPILER::C1CATCH + COMPILER::C2DM-RESERVE-V COMPILER::VAR-NAME + COMPILER::CMP-MACROEXPAND COMPILER::VERIFY-DATA-VECTOR + COMPILER::T1CLINES COMPILER::C1MAPL COMPILER::T1DEFENTRY + COMPILER::TAG-REF-CCB COMPILER::WT-VS + COMPILER::LONG-FLOAT-LOC-P COMPILER::C1MAPCAN + COMPILER::OBJECT-TYPE COMPILER::ADD-ADDRESS + COMPILER::RESET-INFO-TYPE COMPILER::C1BOOLE3 COMPILER::C1MEMQ + COMPILER::C1DEFINE-STRUCTURE COMPILER::TYPE-FILTER + COMPILER::UNWIND-NO-EXIT COMPILER::C1FMLA-CONSTANT + COMPILER::C2DM-RESERVE-VL COMPILER::C1FSET COMPILER::LTVP-EVAL + COMPILER::C1GO COMPILER::WT-VV COMPILER::INFO-CHANGED-ARRAY + COMPILER::C1FUNCALL COMPILER::C2TAGBODY-CCB + COMPILER::TAG-LABEL COMPILER::VAR-KIND COMPILER::WT-VS* + COMPILER::VAR-TYPE COMPILER::C2GO-LOCAL COMPILER::REGISTER + COMPILER::T1PROGN COMPILER::C1BLOCK COMPILER::TAG-SWITCH + COMPILER::VAR-REP-LOC COMPILER::C2BIND + COMPILER::SET-PUSH-CATCH-FRAME COMPILER::COPY-INFO + COMPILER::C1LIST-NTH COMPILER::CONS-TO-LISTA + COMPILER::FUN-LEVEL COMPILER::C1DOWNWARD-FUNCTION + COMPILER::THE-PARAMETER COMPILER::C2VALUES COMPILER::C1LABELS + COMPILER::MAXARGS COMPILER::VAR-REF-CCB COMPILER::MDELETE-FILE + COMPILER::WT-FUNCTION-LINK COMPILER::SAVE-AVMA + COMPILER::VOLATILE COMPILER::ADD-CONSTANT COMPILER::C1APPLY + COMPILER::C1GETHASH COMPILER::FUN-NAME COMPILER::DEFAULT-INIT + COMPILER::CLINK COMPILER::WT-CDR COMPILER::PARSE-CVSPECS + COMPILER::REP-TYPE COMPILER::C2GO-CLB + COMPILER::ARGS-CAUSE-SIDE-EFFECT COMPILER::PUSH-DATA-INCF + COMPILER::SCH-GLOBAL COMPILER::C1STRUCTURE-SET + COMPILER::TAG-NAME COMPILER::INFO-REFERRED-ARRAY + COMPILER::C1EXPR COMPILER::C1GET COMPILER::BLK-VAR + COMPILER::TAG-REF COMPILER::C1MAPC COMPILER::SET-RETURN + COMPILER::SHORT-FLOAT-LOC-P COMPILER::C1DECLARE + COMPILER::WT-DATA1 COMPILER::FLAGS-POS + COMPILER::BLK-VALUE-TO-GO COMPILER::NAME-SD1 + COMPILER::C2DOWNWARD-FUNCTION COMPILER::C1SHARP-COMMA + COMPILER::INLINE-POSSIBLE COMPILER::WT-H1 + COMPILER::FIXNUM-LOC-P COMPILER::C1LET COMPILER::C1IF + COMPILER::C1THE COMPILER::FUNCTION-RETURN-TYPE + COMPILER::GET-ARG-TYPES COMPILER::INLINE-TYPE + COMPILER::FUN-CFUN COMPILER::TAG-VAR COMPILER::CHARACTER-LOC-P + COMPILER::CHECK-DOWNWARD COMPILER::C1PSETQ + COMPILER::INLINE-BOOLE3-STRING COMPILER::C1THROW + COMPILER::FSET-FN-NAME COMPILER::T1DEFINE-STRUCTURE + COMPILER::NEED-TO-SET-VS-POINTERS COMPILER::C1PROGN + COMPILER::C2FUNCALL-AUX COMPILER::C1MACROLET COMPILER::C1AND + COMPILER::WT-VS-BASE COMPILER::ADD-LOOP-REGISTERS + COMPILER::VAR-REGISTER COMPILER::C1PROGV COMPILER::C1SWITCH + COMPILER::C1MEMBER COMPILER::C2TAGBODY-CLB + COMPILER::CMP-MACROEXPAND-1 COMMON-LISP::PROCLAIM + COMPILER::C1ASH-CONDITION COMPILER::C1EVAL-WHEN + COMPILER::C1LOCAL-CLOSURE COMPILER::REPLACE-CONSTANT)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::*) + COMPILER::INLINE-BOOLE3)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::*) + COMPILER::C2DM COMPILER::C1DM-V COMPILER::C1DM-VL + COMPILER::C2RETURN-FROM COMPILER::C2APPLY-OPTIMIZE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + COMPILER::WT-INLINE COMPILER::C2IF COMPILER::C2LABELS + COMPILER::C2FLET)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + COMPILER::T3DEFUN-AUX)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::FIXNUM) + COMPILER::F-TYPE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::STRING) COMMON-LISP::T) + COMPILER::DASH-TO-UNDERSCORE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + COMPILER::INIT-NAME COMPILER::ADD-INIT COMPILER::C1LAMBDA-EXPR + COMPILER::WT-CVAR COMPILER::C1CASE COMPILER::WT-COMMENT + COMPILER::CMPERR COMPILER::WT-INTEGER-LOC COMPILER::CMPNOTE + COMPILER::FAST-LINK-PROCLAIMED-TYPE-P COMPILER::UNWIND-EXIT + COMPILER::CMPWARN)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + COMPILER::C2RETURN-LOCAL COMPILER::C2BLOCK-LOCAL + COMPILER::NCONC-FILES COMPILER::C1SYMBOL-FUN COMPILER::C2BLOCK + COMPILER::C1BODY COMPILER::COMPILER-BUILD + COMPILER::C2DECL-BODY COMPILER::WT-INLINE-LOC)) +(COMMON-LISP::MAPC + (COMMON-LISP::LAMBDA (COMPILER::X) + (COMMON-LISP::SETF + (COMMON-LISP::GET COMPILER::X 'SYSTEM::PROCLAIMED-CLOSURE) + COMMON-LISP::T)) + '(COMPILER::CMP-ANON COMMON-LISP::COMPILE COMPILER::CMP-TMP-MACRO + COMMON-LISP::DISASSEMBLE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T (COMMON-LISP::VECTOR COMMON-LISP::T) + COMMON-LISP::FIXNUM COMMON-LISP::FIXNUM + COMMON-LISP::T) + COMMON-LISP::FIXNUM) + COMPILER::BSEARCHLEQ)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T (COMMON-LISP::VECTOR COMMON-LISP::T) + COMMON-LISP::FIXNUM COMMON-LISP::T) + COMMON-LISP::FIXNUM) + COMPILER::PUSH-ARRAY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + COMPILER::AND-FORM-TYPE COMPILER::SET-VAR COMPILER::C2LET* + COMPILER::COMPILER-PASS2 COMPILER::ADD-FUNCTION-DECLARATION + COMPILER::BOOLE3 COMPILER::C1MAP-FUNCTIONS + COMPILER::TOO-MANY-ARGS COMPILER::CHECK-FORM-TYPE + COMPILER::C2LET COMPILER::C-FUNCTION-NAME + COMPILER::WT-INLINE-SHORT-FLOAT COMPILER::FIX-DOWN-ARGS + COMPILER::C2PRINC COMPILER::WT-IF-PROCLAIMED + COMPILER::ADD-FAST-LINK COMPILER::C2MULTIPLE-VALUE-BIND + COMPILER::C2MAPCAN COMPILER::CJT COMPILER::CHECK-VDECL + COMPILER::INLINE-TYPE-MATCHES COMPILER::WT-INLINE-LONG-FLOAT + COMPILER::C2GO COMPILER::CAN-BE-REPLACED* COMPILER::MYSUB + COMPILER::ASSIGN-DOWN-VARS COMPILER::C2MAPC + COMPILER::WT-INLINE-INTEGER COMPILER::GET-INLINE-INFO + COMPILER::CJF COMPILER::TOO-FEW-ARGS COMPILER::T3DEFCFUN + COMPILER::CMP-EXPAND-MACRO COMPILER::WT-MAKE-CCLOSURE + COMPILER::C2FUNCALL-SFUN COMPILER::C1DM + COMPILER::WT-INLINE-COND COMPILER::C2TAGBODY + COMPILER::WT-INLINE-CHARACTER COMPILER::C2PROGV + COMPILER::C2MAPCAR COMPILER::C1STRUCTURE-REF1 COMPILER::C2CASE + COMPILER::ADD-FUNCTION-PROCLAMATION + COMPILER::MAKE-INLINE-STRING COMPILER::SUBLIS1-INLINE + COMPILER::WT-INLINE-FIXNUM)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + COMPILER::C2LAMBDA-EXPR COMPILER::C2FUNCALL COMPILER::LINK + COMPILER::INLINE-ARGS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::T) + COMPILER::C2STRUCTURE-REF COMPILER::WT-GLOBAL-ENTRY + COMPILER::T3DEFUN-VARARG COMPILER::T3DEFUN-NORMAL + COMPILER::C2CALL-GLOBAL COMPILER::C1MAKE-VAR + COMPILER::C2CALL-UNKNOWN-GLOBAL COMPILER::C2SWITCH + COMPILER::T3INIT-FUN COMPILER::MY-CALL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + COMPILER::DEFSYSFUN COMPILER::T2DEFMACRO COMPILER::T2DEFENTRY + COMPILER::T3DEFMACRO COMPILER::T3DEFENTRY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + COMPILER::T2DEFUN COMPILER::C1APPLY-OPTIMIZE COMPILER::T3DEFUN + COMPILER::C2STRUCTURE-SET COMPILER::T3DEFUN-LOCAL-ENTRY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::T) + COMPILER::WT-SIMPLE-CALL COMPILER::GET-OUTPUT-PATHNAME)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + COMPILER::T3LOCAL-FUN COMPILER::T3LOCAL-DCFUN)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::*) + COMPILER::C2PROGN COMPILER::WT-LONG-FLOAT-LOC COMPILER::C2EXPR + COMPILER::WT-FIXNUM-LOC COMPILER::WT-CHARACTER-LOC + COMPILER::C2AND COMPILER::T1EXPR COMPILER::CMP-TOPLEVEL-EVAL + COMPILER::WT-SHORT-FLOAT-LOC COMPILER::C2OR COMPILER::WT-LOC + COMPILER::CMP-EVAL COMPILER::T1EVAL-WHEN COMPILER::SET-LOC + COMPILER::VV-STR COMPILER::WT-TO-STRING)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::T) + COMPILER::MAKE-FUN COMPILER::MAKE-BLK + COMMON-LISP::COMPILE-FILE COMPILER::FCALLN-INLINE + COMPILER::MAKE-INFO COMPILER::CS-PUSH COMPILER::MAKE-VAR + COMPILER::LIST-INLINE COMPILER::C2FSET COMPILER::WT-CLINK + COMPILER::COMPILER-COMMAND COMPILER::MAKE-TAG + COMPILER::LIST*-INLINE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION ((COMMON-LISP::VECTOR COMMON-LISP::T)) + COMMON-LISP::T) + COMPILER::COPY-ARRAY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + COMPILER::C2EXPR-TOP COMPILER::CO1SUBLIS + COMPILER::C2CALL-LAMBDA COMPILER::GET-INLINE-LOC + COMPILER::CHECK-END COMPILER::C2PSETQ COMPILER::TYPE-AND + COMPILER::TYPE>= COMPILER::C2MULTIPLE-VALUE-PROG1 + COMPILER::CO1SCHAR SYSTEM::ADD-DEBUG COMPILER::C2BLOCK-CCB + COMPILER::C2DM-BIND-VL COMPILER::MAKE-USER-INIT + COMPILER::NEED-TO-PROTECT COMPILER::FAST-READ + COMPILER::RESULT-TYPE-FROM-ARGS COMPILER::C2BIND-INIT + COMPILER::JUMPS-TO-P COMPILER::C2MEMBER!2 + COMPILER::C2CALL-LOCAL COMPILER::C2BLOCK-CLB + COMPILER::ARGS-INFO-CHANGED-VARS COMPILER::INLINE-PROC + COMPILER::C2THROW COMPILER::C1DECL-BODY + COMPILER::WT-MAKE-DCLOSURE COMPILER::CO1WRITE-CHAR + COMPILER::C1SETQ1 COMPILER::SET-JUMP-FALSE COMPILER::CO1CONS + COMPILER::CO1VECTOR-PUSH COMPILER::SET-VS COMPILER::SHIFT>> + COMPILER::COERCE-LOC-STRUCTURE-REF COMPILER::WT-FIXNUM-VALUE + COMPILER::C2CATCH COMPILER::C2RETURN-CCB COMPILER::MAYBE-EVAL + COMPILER::C2ASSOC!2 COMPILER::C2DM-BIND-INIT + COMPILER::C2STACK-LET COMPILER::C2LAMBDA-EXPR-WITH-KEY + COMPILER::ARGS-INFO-REFERRED-VARS + COMPILER::C2MULTIPLE-VALUE-SETQ COMPILER::C1PROGN* + COMPILER::WT-LONG-FLOAT-VALUE COMPILER::C2MULTIPLE-VALUE-CALL + COMPILER::WT-SHORT-FLOAT-VALUE COMPILER::CO1CONSTANT-FOLD + COMPILER::C1CONSTANT-VALUE COMPILER::C1EXPR* + COMPILER::CO1SPECIAL-FIX-DECL COMPILER::C2RETURN-CLB + COMPILER::CMPFIX-ARGS COMPILER::PROCLAIM-VAR COMPILER::C2APPLY + COMPILER::DO-MACRO-EXPANSION COMPILER::CFAST-WRITE + COMPILER::PRIN1-CMP COMPILER::SHIFT<< COMPILER::WT-REQUIREDS + COMPILER::C2EXPR-TOP* COMPILER::UNWIND-BDS + COMPILER::MULTIPLE-VALUE-CHECK COMPILER::COERCE-LOC + COMPILER::STRUCT-TYPE-OPT COMPILER::CO1READ-CHAR + COMPILER::ADD-DEBUG-INFO COMPILER::C2LIST-NTH-IMMEDIATE + COMPILER::WT-VAR COMPILER::C2LAMBDA-EXPR-WITHOUT-KEY + COMPILER::CHECK-FNAME-ARGS COMPILER::CAN-BE-REPLACED + COMPILER::WT-CHARACTER-VALUE COMPILER::C2UNWIND-PROTECT + COMPILER::SET-DBIND COMPILER::T3SHARP-COMMA + COMPILER::IS-REP-REFERRED COMPILER::C1FMLA + COMPILER::WT-V*-MACROS COMPILER::C2DM-BIND-LOC + COMPILER::C2BIND-LOC + COMPILER::COMPILER-CLEAR-COMPILER-PROPERTIES + COMPILER::ADD-INFO COMPILER::C2SETQ + COMPILER::PUSH-CHANGED-VARS COMPILER::CO1STRUCTURE-PREDICATE + COMPILER::SET-BDS-BIND COMPILER::SET-JUMP-TRUE + COMPILER::CO1READ-BYTE COMPILER::C1LAMBDA-FUN + COMPILER::CO1TYPEP COMPILER::CONVERT-CASE-TO-SWITCH + COMPILER::COMPILER-DEF-HOOK COMPILER::CO1LDB COMPILER::C1ARGS + COMPILER::CO1WRITE-BYTE COMPILER::CO1EQL + COMPILER::COMPILER-CC)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::FIXNUM COMMON-LISP::FIXNUM) COMMON-LISP::T) + COMPILER::MLIN)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + COMPILER::COMPILE-FILE1)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::T) + COMPILER::WT-DATA-BEGIN COMPILER::WT-C-PUSH COMPILER::WT-CVARS + COMPILER::C1T COMPILER::CVS-PUSH COMPILER::WT-DATA-FILE + COMPILER::ADD-LOAD-TIME-SHARP-COMMA + COMPILER::CLOSE-INLINE-BLOCKS COMPILER::WT-FASD-DATA-FILE + COMPILER::GAZONK-NAME COMPILER::WFS-ERROR + COMPILER::WT-NEXT-VAR-ARG COMPILER::WT-FIRST-VAR-ARG + COMPILER::C1NIL COMPILER::WT-DATA-END COMPILER::RESET-TOP + COMPILER::TAIL-RECURSION-POSSIBLE + COMPILER::PRINT-COMPILER-INFO COMPILER::CCB-VS-PUSH + COMPILER::BABOON COMPILER::INIT-ENV + COMPILER::PRINT-CURRENT-FORM COMPILER::VS-PUSH + COMPILER::INC-INLINE-BLOCKS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::FIXNUM) + COMMON-LISP::T) + COMPILER::MEMOIZED-HASH-EQUAL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::FIXNUM) + COMPILER::PROCLAIMED-ARGD COMPILER::ANALYZE-REGS1 + COMPILER::ANALYZE-REGS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::STRING COMMON-LISP::FIXNUM + COMMON-LISP::FIXNUM) + COMMON-LISP::T) + COMPILER::DASH-TO-UNDERSCORE-INT)) \ No newline at end of file --- gcl-2.6.12.orig/configure +++ gcl-2.6.12/configure @@ -7569,9 +7569,6 @@ fi if test "$enable_ansi" = "yes" ; then SYSTEM=ansi_gcl - -$as_echo "#define ANSI_COMMON_LISP 1" >>confdefs.h - CLSTANDARD=ANSI else SYSTEM=gcl --- gcl-2.6.12.orig/configure.in +++ gcl-2.6.12/configure.in @@ -2112,7 +2112,6 @@ AC_ARG_ENABLE(ansi,[--enable-ansi builds if test "$enable_ansi" = "yes" ; then SYSTEM=ansi_gcl - AC_DEFINE(ANSI_COMMON_LISP,1,[compile ansi compliant image]) CLSTANDARD=ANSI else SYSTEM=gcl --- gcl-2.6.12.orig/h/amd64-linux.h +++ gcl-2.6.12/h/amd64-linux.h @@ -21,3 +21,4 @@ #define C_GC_OFFSET 4 #define RELOC_H "elf64_i386_reloc.h" +#define MAX_CODE_ADDRESS (1L<<31)/*large memory model broken gcc 4.8*/ --- gcl-2.6.12.orig/h/att_ext.h +++ gcl-2.6.12/h/att_ext.h @@ -145,8 +145,8 @@ object simple_lispcall(); object simple_lispcall_no_event(); object simple_symlispcall(); object simple_symlispcall_no_event(); -EXTER object Vevalhook; -EXTER object Vapplyhook; +EXTER object siVevalhook; +EXTER object siVapplyhook; object ieval(); object ifuncall(object,int,...); object ifuncall1(); @@ -301,13 +301,13 @@ EXTER object sLquote; EXTER object sLlambda; -EXTER object sLlambda_block; -EXTER object sLlambda_closure; -EXTER object sLlambda_block_closure; +EXTER object sSlambda_block; +EXTER object sSlambda_closure; +EXTER object sSlambda_block_closure; EXTER object sLfunction; -EXTER object sLmacro; -EXTER object sLtag; +EXTER object sSmacro; +EXTER object sStag; EXTER object sLblock; @@ -359,9 +359,6 @@ object shift_integer(); /* package.d */ EXTER object lisp_package; EXTER object user_package; -#ifdef ANSI_COMMON_LISP -EXTER object common_lisp_package; -#endif EXTER object keyword_package; EXTER object system_package; EXTER object sLApackageA; @@ -565,15 +562,13 @@ EXTER object sSfunction_documentation; /* typespec.c */ EXTER object sLcommon,sLnull,sLcons,sLlist,sLsymbol,sLarray,sLvector,sLbit_vector,sLstring; EXTER object sLsequence,sLsimple_array,sLsimple_vector,sLsimple_bit_vector,sLsimple_string; -EXTER object sLcompiled_function,sLpathname,sLcharacter,sLnumber,sLrational,sLfloat,sLstring_char; +EXTER object sLcompiled_function,sLpathname,sLcharacter,sLnumber,sLrational,sLfloat; EXTER object sLinteger,sLreal,sLratio,sLshort_float,sLstandard_char,sLfixnum,sLpositive_fixnum, sLcomplex; EXTER object sLsingle_float,sLpackage,sLbignum,sLrandom_state,sLdouble_float,sLstream,sLbit,sLreadtable; EXTER object sLlong_float,sLhash_table,sLstructure,sLboolean; EXTER object sLdivision_by_zero,sLfloating_point_inexact,sLfloating_point_invalid_operation; EXTER object sLfloating_point_overflow,sLfloating_point_underflow; -/* #ifdef ANSI_COMMON_LISP */ -/* new ansi types */ EXTER object sLarithmetic_error,sLbase_char,sLbase_string,sLbroadcast_stream,sLbuilt_in_class; EXTER object sLcell_error,sLclass,sLconcatenated_stream,sLcondition,sLcontrol_error; EXTER object sLecho_stream,sLend_of_file,sLerror,sLextended_char,sLfile_error,sLfile_stream; @@ -584,7 +579,6 @@ EXTER object sLstandard_generic_function EXTER object sLstream_error,sLstring_stream,sLstructure_class,sLstyle_warning,sLsynonym_stream; EXTER object sLtwo_way_stream,sLtype_error,sLunbound_slot,sLunbound_variable,sLundefined_function,sLwarning; EXTER object sLmethod_combination,sLstructure_object; -/* #endif */ EXTER object sLsatisfies; EXTER object sLmember; @@ -595,10 +589,10 @@ EXTER object sLvalues; EXTER object sLmod; EXTER object sLsigned_byte; EXTER object sLunsigned_byte; -EXTER object sLsigned_char; -EXTER object sLunsigned_char; -EXTER object sLsigned_short; -EXTER object sLunsigned_short; +EXTER object sSsigned_char; +EXTER object sSunsigned_char; +EXTER object sSsigned_short; +EXTER object sSunsigned_short; EXTER object sLA; EXTER object sLplusp; EXTER object TSor_symbol_string; --- gcl-2.6.12.orig/h/compdefs.h +++ gcl-2.6.12/h/compdefs.h @@ -114,3 +114,4 @@ stp_ordinary SIGNED_CHAR(x) FEerror(x,y...) FEwrong_type_argument(x,y) +BIT_ENDIAN(x) --- gcl-2.6.12.orig/h/elf64_i386_reloc.h +++ gcl-2.6.12/h/elf64_i386_reloc.h @@ -8,5 +8,6 @@ add_val(where,~0L,s+a); break; case R_X86_64_PC32: + massert(ovchks(s+a-p,~MASK(32))); add_val(where,MASK(32),s+a-p); break; --- gcl-2.6.12.orig/h/lu.h +++ gcl-2.6.12/h/lu.h @@ -94,12 +94,12 @@ struct symbol { object s_dbind; void (*s_sfdef) (); char *s_self; + short s_stype; + short s_mflag; int s_fillp; object s_gfdef; object s_plist; object s_hpack; - short s_stype; - short s_mflag; SPAD; }; @@ -142,6 +142,7 @@ struct hashtable { int ht_nent; int ht_size; short ht_test; + short ht_static; SPAD; }; @@ -152,10 +153,10 @@ struct array { short a_rank; short a_elttype; object *a_self; - short a_adjustable; - short a_offset; int a_dim; int *a_dims; + short a_adjustable; + short a_offset; SPAD; }; @@ -168,8 +169,8 @@ struct vector { short v_hasfillp; short v_elttype; object *v_self; - int v_fillp; int v_dim; + int v_fillp; short v_adjustable; short v_offset; SPAD; @@ -181,8 +182,8 @@ struct string { short st_hasfillp; short st_adjustable; char *st_self; - int st_fillp; int st_dim; + int st_fillp; }; struct ustring { @@ -191,8 +192,8 @@ struct ustring { short ust_hasfillp; short ust_adjustable; unsigned char *ust_self; - int ust_fillp; int ust_dim; + int ust_fillp; }; struct bitvector { @@ -201,8 +202,8 @@ struct bitvector { short bv_hasfillp; short bv_elttype; char *bv_self; - int bv_fillp; int bv_dim; + int bv_fillp; short bv_adjustable; short bv_offset; SPAD; @@ -214,10 +215,10 @@ struct fixarray { short fixa_rank; short fixa_elttype; fixnum *fixa_self; - short fixa_adjustable; - short fixa_offset; int fixa_dim; int *fixa_dims; + short fixa_adjustable; + short fixa_offset; SPAD; }; @@ -227,10 +228,10 @@ struct sfarray { short sfa_rank; short sfa_elttype; shortfloat *sfa_self; - short sfa_adjustable; - short sfa_offset; int sfa_dim; int *sfa_dims; + short sfa_adjustable; + short sfa_offset; SPAD; }; @@ -240,10 +241,10 @@ struct lfarray { short lfa_rank; short lfa_elttype; longfloat *lfa_self; - short lfa_adjustable; - short lfa_offset; int lfa_dim; int *lfa_dims; + short lfa_adjustable; + short lfa_offset; SPAD; }; --- gcl-2.6.12.orig/h/notcomp.h +++ gcl-2.6.12/h/notcomp.h @@ -22,9 +22,6 @@ void segmentation_catcher(); EXTER int gc_enabled, saving_system; EXTER object lisp_package,user_package; -#ifdef ANSI_COMMON_LISP -EXTER object common_lisp_package; -#endif EXTER char *core_end; EXTER int catch_fatal; EXTER long real_maxpage; @@ -105,6 +102,7 @@ void old(void) \ #define make_function(a_,b_) make_function_internal(a_,FFN(b_)) #define make_si_function(a_,b_) make_si_function_internal(a_,FFN(b_)) #define make_special_form(a_,b_) make_special_form_internal(a_,FFN(b_)) +#define make_si_special_form(a_,b_) make_si_special_form_internal(a_,FFN(b_)) #define make_si_sfun(a_,b_,c_) make_si_sfun_internal(a_,FFN(b_),c_) #define STATD static #else @@ -114,6 +112,7 @@ void old(void) \ #define make_function(a_,b_) make_function_internal(a_,b_) #define make_si_function(a_,b_) make_si_function_internal(a_,b_) #define make_special_form(a_,b_) make_special_form_internal(a_,b_) +#define make_si_special_form(a_,b_) make_si_special_form_internal(a_,b_) #define make_si_sfun(a_,b_,c_) make_si_sfun_internal(a_,b_,c_) #define STATD #endif --- gcl-2.6.12.orig/h/object.h +++ gcl-2.6.12/h/object.h @@ -77,7 +77,7 @@ Foundation, 675 Mass Ave, Cambridge, MA Definition of the type of LISP objects. */ typedef union int_object iobject; -union int_object {object o; fixnum i;}; +union int_object {object *o; fixnum i;}; #define SMALL_FIXNUM_LIMIT 1024 @@ -150,6 +150,12 @@ enum aelttype { /* array element type #define SET_BV_OFFSET(x,val) ((type_of(x)==t_bitvector ? x->bv.bv_offset = val : \ type_of(x)== t_array ? x->a.a_offset=val : (abort(),0))) +#if !defined(DOUBLE_BIGENDIAN) +#define BIT_ENDIAN(a_) (7-(a_)) +#else +#define BIT_ENDIAN(a_) (a_) +#endif + #define S_DATA(x) ((struct s_data *)((x)->str.str_self)) #define SLOT_TYPE(def,i) (((S_DATA(def))->raw->ust.ust_self[i])) @@ -304,9 +310,9 @@ EXTER struct typemanager tm_table[ 32 / /* Contiguous block header. */ -EXTER bool prefer_low_mem_contblock; +EXTER ufixnum contblock_lim; struct contblock { /* contiguous block header */ - int cb_size; /* size in bytes */ + ufixnum cb_size; /* size in bytes */ struct contblock *cb_link; /* contiguous block link */ }; @@ -324,7 +330,6 @@ EXTER struct contblock *old_cb_pointer; /* Variables for memory management. */ -EXTER long ncb; /* number of contblocks */ #define ncbpage tm_table[t_contiguous].tm_npage #define maxcbpage tm_table[t_contiguous].tm_maxpage #define cbgbccount tm_table[t_contiguous].tm_gbccount @@ -337,15 +342,12 @@ EXTER long holepage; /* hole pages * EXTER long new_holepage,starting_hole_div,starting_relb_heap_mult; -#ifdef SGC -EXTER char *old_rb_start; /* read-only relblock start */ -#endif EXTER char *rb_start; /* relblock start */ EXTER char *rb_end; /* relblock end */ EXTER char *rb_limit; /* relblock limit */ EXTER char *rb_pointer; /* relblock pointer */ -EXTER char *rb_start1; /* relblock start in copy space */ -EXTER char *rb_pointer1; /* relblock pointer in copy space */ +/* EXTER char *rb_start1; /\* relblock start in copy space *\/ */ +/* EXTER char *rb_pointer1; /\* relblock pointer in copy space *\/ */ EXTER char *heap_end; /* heap end */ EXTER char *core_end; /* core end */ --- gcl-2.6.12.orig/h/page.h +++ gcl-2.6.12/h/page.h @@ -21,9 +21,6 @@ #define PTR_ALIGN SIZEOF_LONG #endif -#define ROUND_UP_PTR(n) (((long)(n) + (PTR_ALIGN-1)) & ~(PTR_ALIGN-1)) -#define ROUND_DOWN_PTR(n) (((long)(n) & ~(PTR_ALIGN-1))) - /* minimum size required for contiguous pointers */ #if PTR_ALIGN < SIZEOF_CONTBLOCK #define CPTR_SIZE SIZEOF_CONTBLOCK @@ -31,9 +28,10 @@ #define CPTR_SIZE PTR_ALIGN #endif -#define ROUND_UP_PTR_CONT(n) (((long)(n) + (CPTR_SIZE-1)) & ~(CPTR_SIZE-1)) -#define ROUND_DOWN_PTR_CONT(n) (((long)(n) & ~(CPTR_SIZE-1))) - +#define FLR(x,r) (((x))&~(r-1)) +#define CEI(x,r) FLR((x)+(r-1),r) +#define PFLR(x,r) ((void *)FLR((ufixnum)x,r)) +#define PCEI(x,r) ((void *)CEI((ufixnum)x,r)) #ifdef SGC @@ -47,33 +45,25 @@ #define SGC_WRITABLE (SGC_PERM_WRITABLE | SGC_PAGE_FLAG) -#define WRITABLE_PAGE_P(p) IS_WRITABLE(p) -#define ON_WRITABLE_PAGE(x) WRITABLE_PAGE_P(page(x)) - -#define IF_WRITABLE(x,if_code) ({if (IS_WRITABLE(page(x))) {if_code;}})/*FIXME maxpage*/ - -#define sgc_mark_object(x) IF_WRITABLE(x,if(!is_marked(x)) sgc_mark_object1(x)) - /* When not 0, the free lists in the type manager are freelists on SGC_PAGE's, for those types supporting sgc. Marking and sweeping is done specially */ int sgc_on; +#define SGC_WHOLE_PAGE /* disallow old data on sgc pages*/ +#ifndef SGC_WHOLE_PAGE /* for the S field of the FIRSTWORD */ enum sgc_type { SGC_NORMAL, /* not allocated since the last sgc */ SGC_RECENT /* allocated since last sgc */ }; - +#define SGC_OR_M(x) (!TYPEWORD_TYPE_P(pageinfo(x)->type) ? pageinfo(x)->sgc_flags&SGC_PAGE_FLAG : ((object)x)->d.s) +#endif #define TM_BASE_TYPE_P(i) (tm_table[i].tm_type == i) -/* check if a relblock address is new relblock */ -#define SGC_RELBLOCK_P(x) ((char *)(x) >= rb_start) - /* is this an sgc cell? encompasses all free cells. Used where cell cannot yet be marked */ -#define SGC_OR_M(x) (!TYPEWORD_TYPE_P(pageinfo(x)->type) ? pageinfo(x)->sgc_flags&SGC_PAGE_FLAG : ((object)x)->d.s) #ifndef SIGPROTV #define SIGPROTV SIGSEGV @@ -107,28 +97,26 @@ extern fixnum writable_pages; #define CLEAR_WRITABLE(i) set_writable(i,0) #define SET_WRITABLE(i) set_writable(i,1) -#define IS_WRITABLE(i) is_writable(i) +#define WRITABLE_PAGE_P(i) is_writable(i) +#define CACHED_WRITABLE_PAGE_P(i) is_writable_cached(i) +#define ON_WRITABLE_PAGE(x) WRITABLE_PAGE_P(page(x)) +#define ON_WRITABLE_PAGE_CACHED(x) CACHED_WRITABLE_PAGE_P(page(x)) + EXTER long first_data_page,real_maxpage,phys_pages,available_pages; -EXTER void *data_start; +EXTER void *data_start,*initial_sbrk; #if !defined(IN_MAIN) && defined(SGC) #include "writable.h" #endif -#ifdef SGC -#define REAL_RB_START (sgc_enabled ? old_rb_start : rb_start) -#else -#define REAL_RB_START rb_start -#endif - #define CB_BITS CPTR_SIZE*CHAR_SIZE #define ceil(a_,b_) (((a_)+(b_)-1)/(b_)) #define npage(m_) ceil(m_,PAGESIZE) #define cpage(m_) ({ufixnum _m=(m_);ceil(sizeof(struct pageinfo)+_m+2*ceil(_m,(CB_BITS-2)),PAGESIZE);}) #define mbytes(p_) ceil((p_)*PAGESIZE-sizeof(struct pageinfo),CB_BITS) -#define tpage(tm_,m_) (tm_->tm_type==t_relocatable ? npage(m_-(rb_limit-rb_pointer)) : (tm_->tm_type==t_contiguous ? cpage(m_) : npage(m_))) +#define tpage(tm_,m_) (tm_->tm_type==t_relocatable ? npage(m_-(rb_limit-rb_pointer)+1) : (tm_->tm_type==t_contiguous ? cpage(m_) : npage(m_))) #define CB_DATA_SIZE(z_) ({fixnum _z=(z_);_z*PAGESIZE-2*mbytes(_z)-sizeof(struct pageinfo);}) #define CB_MARK_START(pi_) ((void *)(pi_)+sizeof(struct pageinfo)) --- gcl-2.6.12.orig/h/protoize.h +++ gcl-2.6.12/h/protoize.h @@ -7,7 +7,7 @@ /* alloc.c:364:OF */ extern object on_stack_cons (object x, object y); /* (x, y) object x; object y; */ /* alloc.c:376:OF */ extern object fSallocated (object typ); /* (typ) object typ; */ /* alloc.c:401:OF */ extern object fSreset_number_used (object typ); /* (typ) object typ; */ -/* alloc.c:480:OF */ extern void insert_contblock (char *p, int s); /* (p, s) char *p; int s; */ +/* alloc.c:480:OF */ extern void insert_contblock (void *p, ufixnum s); /* (p, s) char *p; int s; */ /* alloc.c:480:OF */ extern void insert_maybe_sgc_contblock (char *p, int s); /* (p, s) char *p; int s; */ /* alloc.c:611:OF */ extern void set_maxpage (void); /* () */ /* alloc.c:635:OF */ extern void gcl_init_alloc (void *); /* () */ @@ -124,6 +124,7 @@ struct key {short n,allow_other_keys; /* cfun.c:299:OF */ extern object make_si_sfun_internal (char *s, object (*f)(), int argd); /* (s, f, argd) char *s; int (*f)(); int argd; */ /* cfun.c:322:OF */ extern object make_si_function_internal (char *s, void (*f) ()); /* (s, f) char *s; int (*f)(); */ /* cfun.c:341:OF */ extern object make_special_form_internal (char *s, void (*f)()); /* (s, f) char *s; int (*f)(); */ +/* cfun.c:341:OF */ extern object make_si_special_form_internal (char *s, void (*f)()); /* (s, f) char *s; int (*f)(); */ /* cfun.c:352:OF */ extern object fScompiled_function_name (object fun); /* (fun) object fun; */ /* cfun.c:371:OF */ extern void turbo_closure (object fun); /* (fun) object fun; */ /* cfun.c:392:OF */ extern object fSturbo_closure (object funobj); /* (funobj) object funobj; */ @@ -467,7 +468,7 @@ typedef void (*funcvoid)(void); /* regexp.c:1588:OF */ extern void regerror (char *s); /* (s) char *s; */ /* regexpr.c:48:OF */ extern object fSmatch_beginning (fixnum i); /* (i) int i; */ /* regexpr.c:57:OF */ extern object fSmatch_end (fixnum i); /* (i) int i; */ -/* save.c:17:OF */ extern void Lsave (void); /* () */ +/* save.c:17:OF */ extern void siLsave (void); /* () */ #include /* sbrk.c:9:OF */ /* extern void * sbrk (int n); */ /* (n) int n; */ /* strcspn.c:3:OF */ /* extern size_t strcspn (const char *s1, const char *s2); */ /* (s1, s2) char *s1; char *s2; */ @@ -862,9 +863,6 @@ void Lstandard_char_p(void); void -Lstring_char_p(void); - -void Lchar_code(void); void @@ -955,9 +953,6 @@ void Lstandard_char_p(void); void -Lstring_char_p(void); - -void Lcharacter(void); void @@ -1405,7 +1400,6 @@ void Lforce_output(void); void Lnthcdr(void); void Llogior(void); void Lchar_downcase(void); -void Lstring_char_p(void); void Lstream_element_type(void); void Lpackage_used_by_list(void); void Ldivide(void); @@ -1923,3 +1917,21 @@ rl_stream_p(FILE *f); void sigint(void); + +void +allocate_code_block_reserve(void); + +inline void +resize_hole(ufixnum,enum type); + +inline void * +alloc_contblock_no_gc(size_t); + +inline void +reset_contblock_freelist(void); + +inline void +empty_relblock(void); + +fixnum +check_avail_pages(void); --- gcl-2.6.12.orig/h/symbol.h +++ gcl-2.6.12/h/symbol.h @@ -23,6 +23,6 @@ object sLquote; object sLlambda; -object sLlambda_block; -object sLlambda_closure; -object sLlambda_block_closure; +object sSlambda_block; +object sSlambda_closure; +object sSlambda_block_closure; --- gcl-2.6.12.orig/h/writable.h +++ gcl-2.6.12/h/writable.h @@ -1,11 +1,16 @@ +EXTER fixnum last_page; +EXTER int last_result; + EXTER inline int -set_writable(fixnum i,fixnum m) { +set_writable(fixnum i,bool m) { fixnum j; object v; - if (i=page(core_end)) - error("out of core in set_writable"); + last_page=last_result=0; + + if (i=page(heap_end)) + error("out of heap in set_writable"); if ((v=sSAwritableA ? sSAwritableA->s.s_dbind : Cnil)==Cnil) error("no wrimap in set_writable"); @@ -16,13 +21,13 @@ set_writable(fixnum i,fixnum m) { if ((void *)wrimap!=(void *)v->v.v_self) error("set_writable called in gc"); + writable_pages+=m-((wrimap[j/8]>>(j%8))&0x1); + if (m) wrimap[j/8]|=(1<<(j%8)); else wrimap[j/8]&=~(1<<(j%8)); - writable_pages+=m ? 1 : -1; - return 0; } @@ -35,13 +40,24 @@ is_writable(fixnum i) { if (i=page(core_end)) return 0; - + if ((v=sSAwritableA ? sSAwritableA->s.s_dbind : Cnil)==Cnil) return 1; - + if ((j=i-first_data_page)<0 || j>=v->v.v_dim) return 1; - + return (wrimap[j/8]>>(j%8))&0x1; + +} + +EXTER inline int +is_writable_cached(fixnum i) { + + if (last_page==i) + return last_result; + + last_page=i; + return last_result=is_writable(i); } --- gcl-2.6.12.orig/info/form.texi +++ gcl-2.6.12/info/form.texi @@ -8,18 +8,6 @@ List of all the lambda-list keywords use @end defvr -@defun GET-SETF-METHOD (form) -Package:LISP - -Returns the five values (or five 'gangs') constituting the SETF method for -FORM. See the doc of DEFINE-SETF-METHOD for the meanings of the gangs. It -is an error if the third value (i.e., the list of store variables) is not a -one-element list. See the doc of GET-SETF-METHOD-MULTIPLE-VALUE for -comparison. - - -@end defun - @deffn {Special Form} THE Package:LISP --- gcl-2.6.12.orig/lsp/gcl_arraylib.lsp +++ gcl-2.6.12/lsp/gcl_arraylib.lsp @@ -22,23 +22,7 @@ ;;;; array routines -(in-package 'lisp) - - -(export '(make-array array-displacement vector - array-element-type array-rank array-dimension - array-dimensions - array-in-bounds-p array-row-major-index - adjustable-array-p - bit sbit - bit-and bit-ior bit-xor bit-eqv bit-nand bit-nor - bit-andc1 bit-andc2 bit-orc1 bit-orc2 bit-not - array-has-fill-pointer-p fill-pointer - vector-push vector-push-extend vector-pop - adjust-array upgraded-array-element-type)) - -(in-package 'system) - +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) @@ -47,7 +31,7 @@ (or (gethash type *baet-hash*) (setf (gethash type *baet-hash*) (if type - (car (member type '(string-char bit signed-char unsigned-char signed-short unsigned-short + (car (member type '(character bit signed-char unsigned-char signed-short unsigned-short fixnum short-float long-float t) :test 'subtypep)) t))))) --- gcl-2.6.12.orig/lsp/gcl_auto.lsp +++ gcl-2.6.12/lsp/gcl_auto.lsp @@ -1,4 +1,4 @@ -(in-package 'si) +(in-package :si) ;;; Autoloaders. --- gcl-2.6.12.orig/lsp/gcl_auto_new.lsp +++ gcl-2.6.12/lsp/gcl_auto_new.lsp @@ -1,4 +1,4 @@ -(in-package 'si) +(in-package :si) ;;; Autoloaders. @@ -67,8 +67,7 @@ (autoload 'ftruncate '|gcl_numlib|) #-unix (autoload 'get-decoded-time '|gcl_mislib|) #+aosvs (autoload 'get-universal-time '|gcl_mislib|) -(autoload 'get-setf-method '|gcl_setf|) -(autoload 'get-setf-method-multiple-value '|gcl_setf|) +(autoload 'get-setf-expansion '|gcl_setf|) (autoload 'inspect '|gcl_describe|) (autoload 'intersection '|gcl_listlib|) (autoload 'isqrt '|gcl_numlib|) --- gcl-2.6.12.orig/lsp/gcl_autoload.lsp +++ gcl-2.6.12/lsp/gcl_autoload.lsp @@ -21,8 +21,9 @@ ;;;; AUTOLOAD -;;; Go into LISP. -(in-package 'lisp) +(in-package :si) + +(export '(clines defentry defcfun object void int double)) ;(defvar *features*) @@ -127,13 +128,13 @@ ;;; Allocator. -(import 'si::allocate) -(export '(allocate +;(import 'si::allocate) +;(export '(allocate ;allocated-pages maximum-allocatable-pages ;allocate-contiguous-pages ;allocated-contiguous-pages maximum-contiguous-pages ;allocate-relocatable-pages allocated-relocatable-pages - sfun gfun cfun cclosure spice structure)) +; sfun gfun cfun cclosure spice structure)) ;(defvar type-character-alist ; '((cons . #\.) @@ -279,12 +280,12 @@ ncbpage maxcbpage (if (zerop cbgbccount) nil cbgbccount) ncb) (format t "~9T~D~35Thole~%" holepage) (format t "~8D/~D~19T~6,1F%~@[~8D~]~35Trelocatable~%~%" - nrbpage maxrbpage (/ rbused 0.01 (+ rbused rbfree)) + nrbpage maxrbpage (if (zerop (+ rbused rbfree)) 0.0 (/ rbused 0.01 (+ rbused rbfree))) (if (zerop rbgbccount) nil rbgbccount)) (format t "~10D pages for cells~%~%" npage) (format t "~10D total pages in core~%" (+ npage ncbpage nrbpage)) (format t "~10D current core maximum pages~%" (+ maxnpage maxcbpage maxrbpage)) - (format t "~10D pages reserved for gc~%" maxrbpage) + (format t "~10D pages reserved for gc~%" nrbpage) (format t "~10D pages available for adding to core~%" leftpage) (format t "~10D pages reserved for core exhaustion~%~%" (- maxpage (+ maxnpage maxcbpage (ash maxrbpage 1) leftpage))) (format t "~10D maximum pages~%" maxpage) @@ -411,8 +412,8 @@ Good luck! The GCL Development Team" (setf (get 'with-output-to-string 'si:pretty-print-format) 1) -(in-package 'si) +(in-package :si) (defvar *lib-directory* (namestring (truename "../"))) -(import '(*lib-directory* *load-path* *system-directory*) 'si::user) +(import '(*lib-directory* *load-path* *system-directory*) :user) --- gcl-2.6.12.orig/lsp/gcl_debug.lsp +++ gcl-2.6.12/lsp/gcl_debug.lsp @@ -1,8 +1,8 @@ ;;Copyright William F. Schelter 1990, All Rights Reserved -(In-package "SYSTEM") -(import 'sloop::sloop) +(In-package :si) +(import '(sloop::sloop)) (eval-when (compile eval) (proclaim '(optimize (safety 2) (space 3))) @@ -98,7 +98,7 @@ (cond ((compiled-function-p fun) (setq name (compiled-function-name fun))) (t (setq name fun))) - (if (symbolp name)(setq args (get name 'debug))) + (if (symbolp name)(setq args (get name 'debugger))) (let ((next (ihs-vs (f + 1 *current-ihs*)))) (cond (next (format *debug-io* ">> ~a():" name) @@ -583,7 +583,7 @@ ;; in other common lisps this should be a string output stream. (defvar *display-string* - (make-array 100 :element-type 'string-char :fill-pointer 0 :adjustable t)) + (make-array 100 :element-type 'character :fill-pointer 0 :adjustable t)) (defun display-env (n env) (do ((v (reverse env) (cdr v))) @@ -625,7 +625,7 @@ (mv-values nil j)) (let ((na (ihs-fname j))) - (cond ((special-form-p na)) + (cond ((special-operator-p na)) ((get na 'dbl-invisible)) ((fboundp na)(return (mv-values na j))))))) @@ -677,7 +677,7 @@ (vs (1+ k)) (vs (+ k 2))) ))))))) - ((special-form-p na) nil) + ((special-operator-p na) nil) ((get na 'dbl-invisible)) ((fboundp na) (mv-values i na nil nil @@ -717,7 +717,7 @@ (end (min (ihs-vs (1+ ihs)) (vs-top)))) (format *display-string* "") (do ((i base ) - (v (get (ihs-fname ihs) 'debug) (cdr v))) + (v (get (ihs-fname ihs) 'debugger) (cdr v))) ((or (fb >= i end)(fb > (fill-pointer *display-string*) plength))) (format *display-string* "~a~@[~d~]=~s~@[,~]" (or (car v) 'loc) (if (not (car v)) (f - i base)) (vs i) --- gcl-2.6.12.orig/lsp/gcl_defmacro.lsp +++ gcl-2.6.12/lsp/gcl_defmacro.lsp @@ -22,11 +22,7 @@ ;;;; defines SI:DEFMACRO*, the defmacro preprocessor -(in-package 'lisp) -(export '(&whole &environment &body)) - - -(in-package 'system) +(in-package :si) (eval-when (compile) (proclaim '(optimize (safety 2) (space 3)))) --- gcl-2.6.12.orig/lsp/gcl_defstruct.lsp +++ gcl-2.6.12/lsp/gcl_defstruct.lsp @@ -22,21 +22,13 @@ ;;;; The structure routines. -(in-package 'lisp) -(export 'defstruct) - - -(in-package 'system) +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) -;(in-package 'system) - - - (defvar *accessors* (make-array 10 :adjustable t)) (defvar *list-accessors* (make-array 2 :adjustable t)) (defvar *vector-accessors* (make-array 2 :adjustable t)) @@ -99,7 +91,10 @@ (setq dont-overwrite t) ) (t (setf (get access-function 'structure-access) - (cons (if type type name) offset))))))) + (cons (if type type name) offset)) + (when slot-type + (proclaim `(ftype (function (,name) ,slot-type) ,access-function))) + ))))) nil)) @@ -504,7 +499,7 @@ ;bootstrapping code! (setq def (make-s-data-structure (make-array (* leng (size-of t)) - :element-type 'string-char :static t) + :element-type 'character :static t) (make-t-type leng nil slot-descriptions) *standard-slot-positions* slot-descriptions @@ -569,9 +564,7 @@ (setf (symbol-function predicate) #'(lambda (x) (si::structure-subtype-p x name)))) - (setf (get predicate 'compiler::co1) - 'compiler::co1structure-predicate) - (setf (get predicate 'struct-predicate) name) + (proclaim `(ftype (function (,name) t) ,predicate));FIXME boolean is unboxed ) ) nil) --- gcl-2.6.12.orig/lsp/gcl_describe.lsp +++ gcl-2.6.12/lsp/gcl_describe.lsp @@ -22,12 +22,7 @@ ;;;; DESCRIBE and INSPECT -(in-package 'lisp) - -(export '(describe inspect)) - - -(in-package 'system) +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) @@ -191,7 +186,6 @@ (defun inspect-character (character) (format t (cond ((standard-char-p character) "~S - standard character") - ((string-char-p character) "~S - string character") (t "~S - character")) character) (inspect-print "code: #x~X" (char-code character)) @@ -353,7 +347,7 @@ (find-package "SYSTEM") *package*))) - (cond ((special-form-p symbol) + (cond ((special-operator-p symbol) (doc1 (or (documentation symbol 'function) "") (if (macro-function symbol) "[Special form and Macro]" --- gcl-2.6.12.orig/lsp/gcl_destructuring_bind.lsp +++ gcl-2.6.12/lsp/gcl_destructuring_bind.lsp @@ -8,9 +8,7 @@ ;;; in DEFMACRO are the reason this isn't as easy as it sounds. ;;; -(in-package 'lisp) - -(export '(destructuring-bind)) +(in-package :si) (defvar *arg-tests* () "A list of tests that do argument counting at expansion time.") --- gcl-2.6.12.orig/lsp/gcl_doc-file.lsp +++ gcl-2.6.12/lsp/gcl_doc-file.lsp @@ -13,7 +13,7 @@ for w in-package v when (setq doc (documentation w 'function)) do (format st "F~a~%~ain ~a package:~a" w - (cond ((special-form-p w) "Special Form ") + (cond ((special-operator-p w) "Special Form ") ((functionp w) "Function ") ((macro-function w) "Macro ") (t "")) --- gcl-2.6.12.orig/lsp/gcl_evalmacros.lsp +++ gcl-2.6.12/lsp/gcl_evalmacros.lsp @@ -20,11 +20,7 @@ ;;;; evalmacros.lsp -(in-package "LISP") - -(export '(defvar defparameter defconstant)) - -(in-package "SYSTEM") +(in-package :si) (eval-when (compile) (proclaim '(optimize (safety 2) (space 3)))) --- gcl-2.6.12.orig/lsp/gcl_export.lsp +++ gcl-2.6.12/lsp/gcl_export.lsp @@ -21,313 +21,468 @@ ;;;; ;;;; Exporting external symbols of LISP package - -(in-package 'lisp) - +(in-package :common-lisp) (export '( - -&whole -&environment -&body -* -** -*** -*break-enable* -*break-on-warnings* -*features* -*modules* -+ -++ -+++ -- -/ -// -/// -COMMON -KYOTO -KCL -abs -acos -acosh -adjust-array -adjustable-array-p -apropos -apropos-list -array-dimension -array-dimensions -array-element-type -array-has-fill-pointer-p -array-in-bounds-p -array-rank -array-row-major-index -asin -asinh -assert -atanh -bit -bit-and -bit-andc1 -bit-andc2 -bit-eqv -bit-ior -bit-nand -bit-nor -bit-not -bit-orc1 -bit-orc2 -bit-xor -break -byte -byte-position -byte-size -ccase -cerror -check-type -cis -coerce -compile -compile-file -concatenate -cosh -count -count-if -count-if-not -ctypecase -decf -declaim -decode-universal-time -defconstant -define-modify-macro -define-setf-method -defparameter -defsetf -defstruct -deftype -defvar -delete -delete-duplicates -delete-if -delete-if-not -deposit-field -describe -disassemble -do* -do-all-symbols -do-external-symbols -do-symbols -documentation -dolist -dotimes -dpb -dribble -ecase -ed -eighth -encode-universal-time -error -etypecase -eval-when -every -fceiling -ffloor -fifth -fill -fill-pointer -find -find-all-symbols -find-if -find-if-not -first -format -fourth -fround -ftruncate -get-decoded-time -get-setf-method -get-setf-method-multiple-value -get-universal-time -getf -ignore -ignorable -incf -inspect -intersection -isqrt -ldb -ldb-test -lisp-implementation-type -logandc1 -logandc2 -lognand -lognor -lognot -logorc1 -logorc2 -logtest -long-site-name -machine-instance -machine-type -machine-version -make-array -make-sequence -map -mask-field -merge -mismatch -mod -multiple-value-setq -nintersection -ninth -notany -notevery -nset-difference -nset-exclusive-or -nsubstitute -nsubstitute-if -nsubstitute-if-not -nunion -phase -pop -position -position-if -position-if-not -prin1-to-string -princ-to-string -prog* -provide -psetf -push -pushnew -rational -rationalize -real -read-from-string -reduce -rem -remf -remove -remove-duplicates -remove-if -remove-if-not -replace -require -rotatef -room -sbit -search -second -set-difference -set-exclusive-or -setf -seventh -shiftf -short-site-name -signum -sinh -sixth -software-type -software-version -some -sort -stable-sort -step -structure -subsetp -substitute -substitute-if -substitute-if-not -subtypep -tanh -tenth -third -time -trace -type -typecase -typep -union -untrace -variable -vector -vector-pop -vector-push -vector-push-extend -warn -with-input-from-string -with-open-file -with-open-stream -with-output-to-string -write-to-string -y-or-n-p -yes-or-no-p - -proclaim -proclamation -special -type -ftype -function -inline -notinline -ignore -optimize -speed -space -safety -compilation-speed -declaration - -*eval-when-compile* - -clines -defcfun -defentry -defla - -void -object -char -int -float -double - -define-compiler-macro -compiler-macro -compiler-macro-function - -with-compilation-unit -with-standard-io-syntax -*print-lines* -*print-miser-width* -*print-pprint-dispatch* -*print-right-margin* - -*read-eval* - -dynamic-extent - -loop -check-type assert typecase etypecase ctypecase case ecase ccase - -restart-bind restart-case with-condition-restarts muffle-warning continue abort - store-value use-value - restart restart-name restart-function restart-report-function - restart-interactive-function restart-test-function - compute-restarts find-restart invoke-restart invoke-restart-interactively - with-simple-restart signal - -simple-condition simple-error simple-warning invoke-debugger *debugger-hook* *break-on-signals* - -handler-case handler-bind ignore-errors define-condition make-condition - condition warning serious-condition simple-condition-format-control simple-condition-format-arguments - storage-condition stack-overflow storage-exhausted type-error - type-error-datum type-error-expected-type simple-type-error - program-error control-error stream-error stream-error-stream - end-of-file file-error file-error-pathname cell-error cell-error-name - unbound-variable undefined-function arithmetic-error - arithmetic-error-operation arithmetic-error-operands - package-error package-error-package - division-by-zero floating-point-overflow floating-point-underflow - -)) + &allow-other-keys *print-miser-width* + &aux *print-pprint-dispatch* + &body *print-pretty* + &environment *print-radix* + &key *print-readably* + &optional *print-right-margin* + &rest *query-io* + &whole *random-state* + * *read-base* + ** *read-default-float-format* + *** *read-eval* + *break-on-signals* *read-suppress* + *compile-file-pathname* *readtable* + *compile-file-truename* *standard-input* + *compile-print* *standard-output* + *compile-verbose* *terminal-io* + *debug-io* *trace-output* + *debugger-hook* + + *default-pathname-defaults* ++ + *error-output* +++ + *features* - + *gensym-counter* / + *load-pathname* // + *load-print* /// + *load-truename* /= + *load-verbose* 1+ + *macroexpand-hook* 1- + *modules* < + *package* <= + *print-array* = + *print-base* > + *print-case* >= + *print-circle* abort + *print-escape* abs + *print-gensym* acons + *print-length* acos + *print-level* acosh + *print-lines* add-method + + adjoin atom boundp + adjust-array base-char break + adjustable-array-p base-string broadcast-stream + allocate-instance bignum broadcast-stream-streams + alpha-char-p bit built-in-class + alphanumericp bit-and butlast + and bit-andc1 byte + append bit-andc2 byte-position + apply bit-eqv byte-size + apropos bit-ior caaaar + apropos-list bit-nand caaadr + aref bit-nor caaar + arithmetic-error bit-not caadar + arithmetic-error-operands bit-orc1 caaddr + arithmetic-error-operation bit-orc2 caadr + array bit-vector caar + array-dimension bit-vector-p cadaar + array-dimension-limit bit-xor cadadr + array-dimensions block cadar + array-displacement boole caddar + array-element-type boole-1 cadddr + array-has-fill-pointer-p boole-2 caddr + array-in-bounds-p boole-and cadr + array-rank boole-andc1 call-arguments-limit + array-rank-limit boole-andc2 call-method + array-row-major-index boole-c1 call-next-method + array-total-size boole-c2 car + array-total-size-limit boole-clr case + arrayp boole-eqv catch + ash boole-ior ccase + asin boole-nand cdaaar + asinh boole-nor cdaadr + assert boole-orc1 cdaar + assoc boole-orc2 cdadar + assoc-if boole-set cdaddr + assoc-if-not boole-xor cdadr + atan boolean cdar + atanh both-case-p cddaar + + cddadr clear-input copy-tree + cddar clear-output cos + cdddar close cosh + cddddr clrhash count + cdddr code-char count-if + cddr coerce count-if-not + cdr compilation-speed ctypecase + ceiling compile debug + cell-error compile-file decf + cell-error-name compile-file-pathname declaim + cerror compiled-function declaration + change-class compiled-function-p declare + char compiler-macro decode-float + char-code compiler-macro-function decode-universal-time + char-code-limit complement defclass + char-downcase complex defconstant + char-equal complexp defgeneric + char-greaterp compute-applicable-methods define-compiler-macro + char-int compute-restarts define-condition + char-lessp concatenate define-method-combination + char-name concatenated-stream define-modify-macro + char-not-equal concatenated-stream-streams define-setf-expander + char-not-greaterp cond define-symbol-macro + char-not-lessp condition defmacro + char-upcase conjugate defmethod + char/= cons defpackage + char< consp defparameter + char<= constantly defsetf + char= constantp defstruct + char> continue deftype + char>= control-error defun + character copy-alist defvar + characterp copy-list delete + check-type copy-pprint-dispatch delete-duplicates + cis copy-readtable delete-file + class copy-seq delete-if + class-name copy-structure delete-if-not + class-of copy-symbol delete-package + + denominator eq + deposit-field eql + describe equal + describe-object equalp + destructuring-bind error + digit-char etypecase + digit-char-p eval + directory eval-when + directory-namestring evenp + disassemble every + division-by-zero exp + do export + do* expt + do-all-symbols extended-char + do-external-symbols fboundp + do-symbols fceiling + documentation fdefinition + dolist ffloor + dotimes fifth + double-float file-author + double-float-epsilon file-error + double-float-negative-epsilon file-error-pathname + dpb file-length + dribble file-namestring + dynamic-extent file-position + ecase file-stream + echo-stream file-string-length + echo-stream-input-stream file-write-date + echo-stream-output-stream fill + ed fill-pointer + eighth find + elt find-all-symbols + encode-universal-time find-class + end-of-file find-if + endp find-if-not + enough-namestring find-method + ensure-directories-exist find-package + ensure-generic-function find-restart + + find-symbol get-internal-run-time + finish-output get-macro-character + first get-output-stream-string + fixnum get-properties + flet get-setf-expansion + float get-universal-time + float-digits getf + float-precision gethash + float-radix go + float-sign graphic-char-p + floating-point-inexact handler-bind + floating-point-invalid-operation handler-case + floating-point-overflow hash-table + floating-point-underflow hash-table-count + floatp hash-table-p + floor hash-table-rehash-size + fmakunbound hash-table-rehash-threshold + force-output hash-table-size + format hash-table-test + formatter host-namestring + fourth identity + fresh-line if + fround ignorable + ftruncate ignore + ftype ignore-errors + funcall imagpart + function import + function-keywords in-package + function-lambda-expression incf + functionp initialize-instance + gcd inline + generic-function input-stream-p + gensym inspect + gentemp integer + get integer-decode-float + get-decoded-time integer-length + get-dispatch-macro-character integerp + get-internal-real-time interactive-stream-p + + intern lisp-implementation-type + internal-time-units-per-second lisp-implementation-version + intersection list + invalid-method-error list* + invoke-debugger list-all-packages + invoke-restart list-length + invoke-restart-interactively listen + isqrt listp + keyword load + keywordp load-logical-pathname-translations + labels load-time-value + lambda locally + lambda-list-keywords log + lambda-parameters-limit logand + last logandc1 + lcm logandc2 + ldb logbitp + ldb-test logcount + ldiff logeqv + least-negative-double-float logical-pathname + least-negative-long-float logical-pathname-translations + least-negative-normalized-double-float logior + least-negative-normalized-long-float lognand + least-negative-normalized-short-float lognor + least-negative-normalized-single-float lognot + least-negative-short-float logorc1 + least-negative-single-float logorc2 + least-positive-double-float logtest + least-positive-long-float logxor + least-positive-normalized-double-float long-float + least-positive-normalized-long-float long-float-epsilon + least-positive-normalized-short-float long-float-negative-epsilon + least-positive-normalized-single-float long-site-name + least-positive-short-float loop + least-positive-single-float loop-finish + length lower-case-p + let machine-instance + let* machine-type + + machine-version mask-field + macro-function max + macroexpand member + macroexpand-1 member-if + macrolet member-if-not + make-array merge + make-broadcast-stream merge-pathnames + make-concatenated-stream method + make-condition method-combination + make-dispatch-macro-character method-combination-error + make-echo-stream method-qualifiers + make-hash-table min + make-instance minusp + make-instances-obsolete mismatch + make-list mod + make-load-form most-negative-double-float + make-load-form-saving-slots most-negative-fixnum + make-method most-negative-long-float + make-package most-negative-short-float + make-pathname most-negative-single-float + make-random-state most-positive-double-float + make-sequence most-positive-fixnum + make-string most-positive-long-float + make-string-input-stream most-positive-short-float + make-string-output-stream most-positive-single-float + make-symbol muffle-warning + make-synonym-stream multiple-value-bind + make-two-way-stream multiple-value-call + makunbound multiple-value-list + map multiple-value-prog1 + map-into multiple-value-setq + mapc multiple-values-limit + mapcan name-char + mapcar namestring + mapcon nbutlast + maphash nconc + mapl next-method-p + maplist nil + + nintersection package-error + ninth package-error-package + no-applicable-method package-name + no-next-method package-nicknames + not package-shadowing-symbols + notany package-use-list + notevery package-used-by-list + notinline packagep + nreconc pairlis + nreverse parse-error + nset-difference parse-integer + nset-exclusive-or parse-namestring + nstring-capitalize pathname + nstring-downcase pathname-device + nstring-upcase pathname-directory + nsublis pathname-host + nsubst pathname-match-p + nsubst-if pathname-name + nsubst-if-not pathname-type + nsubstitute pathname-version + nsubstitute-if pathnamep + nsubstitute-if-not peek-char + nth phase + nth-value pi + nthcdr plusp + null pop + number position + numberp position-if + numerator position-if-not + nunion pprint + oddp pprint-dispatch + open pprint-exit-if-list-exhausted + open-stream-p pprint-fill + optimize pprint-indent + or pprint-linear + otherwise pprint-logical-block + output-stream-p pprint-newline + package pprint-pop + + pprint-tab read-char + pprint-tabular read-char-no-hang + prin1 read-delimited-list + prin1-to-string read-from-string + princ read-line + princ-to-string read-preserving-whitespace + print read-sequence + print-not-readable reader-error + print-not-readable-object readtable + print-object readtable-case + print-unreadable-object readtablep + probe-file real + proclaim realp + prog realpart + prog* reduce + prog1 reinitialize-instance + prog2 rem + progn remf + program-error remhash + progv remove + provide remove-duplicates + psetf remove-if + psetq remove-if-not + push remove-method + pushnew remprop + quote rename-file + random rename-package + random-state replace + random-state-p require + rassoc rest + rassoc-if restart + rassoc-if-not restart-bind + ratio restart-case + rational restart-name + rationalize return + rationalp return-from + read revappend + read-byte reverse + + room simple-bit-vector + rotatef simple-bit-vector-p + round simple-condition + row-major-aref simple-condition-format-arguments + rplaca simple-condition-format-control + rplacd simple-error + safety simple-string + satisfies simple-string-p + sbit simple-type-error + scale-float simple-vector + schar simple-vector-p + search simple-warning + second sin + sequence single-float + serious-condition single-float-epsilon + set single-float-negative-epsilon + set-difference sinh + set-dispatch-macro-character sixth + set-exclusive-or sleep + set-macro-character slot-boundp + set-pprint-dispatch slot-exists-p + set-syntax-from-char slot-makunbound + setf slot-missing + setq slot-unbound + seventh slot-value + shadow software-type + shadowing-import software-version + shared-initialize some + shiftf sort + short-float space + short-float-epsilon special + short-float-negative-epsilon special-operator-p + short-site-name speed + signal sqrt + signed-byte stable-sort + signum standard + simple-array standard-char + simple-base-string standard-char-p + + standard-class sublis + standard-generic-function subseq + standard-method subsetp + standard-object subst + step subst-if + storage-condition subst-if-not + store-value substitute + stream substitute-if + stream-element-type substitute-if-not + stream-error subtypep + stream-error-stream svref + stream-external-format sxhash + streamp symbol + string symbol-function + string-capitalize symbol-macrolet + string-downcase symbol-name + string-equal symbol-package + string-greaterp symbol-plist + string-left-trim symbol-value + string-lessp symbolp + string-not-equal synonym-stream + string-not-greaterp synonym-stream-symbol + string-not-lessp t + string-right-trim tagbody + string-stream tailp + string-trim tan + string-upcase tanh + string/= tenth + string< terpri + string<= the + string= third + string> throw + string>= time + stringp trace + structure translate-logical-pathname + structure-class translate-pathname + structure-object tree-equal + style-warning truename + + truncate values-list + two-way-stream variable + two-way-stream-input-stream vector + two-way-stream-output-stream vector-pop + type vector-push + type-error vector-push-extend + type-error-datum vectorp + type-error-expected-type warn + type-of warning + typecase when + typep wild-pathname-p + unbound-slot with-accessors + unbound-slot-instance with-compilation-unit + unbound-variable with-condition-restarts + undefined-function with-hash-table-iterator + unexport with-input-from-string + unintern with-open-file + union with-open-stream + unless with-output-to-string + unread-char with-package-iterator + unsigned-byte with-simple-restart + untrace with-slots + unuse-package with-standard-io-syntax + unwind-protect write + update-instance-for-different-class write-byte + update-instance-for-redefined-class write-char + upgraded-array-element-type write-line + upgraded-complex-part-type write-sequence + upper-case-p write-string + use-package write-to-string + use-value y-or-n-p + user-homedir-pathname yes-or-no-p + values zerop)) --- gcl-2.6.12.orig/lsp/gcl_fpe.lsp +++ gcl-2.6.12/lsp/gcl_fpe.lsp @@ -1,8 +1,8 @@ -(in-package :fpe :use '(:lisp)) +(in-package :fpe) (import 'si::(disassemble-instruction feenableexcept fedisableexcept fld *fixnum *float *double +fe-list+ +mc-context-offsets+ floating-point-error - function-by-address)) + function-by-address clines defentry)) (export '(break-on-floating-point-exceptions read-instruction)) (eval-when --- gcl-2.6.12.orig/lsp/gcl_info.lsp +++ gcl-2.6.12/lsp/gcl_info.lsp @@ -1,4 +1,4 @@ -(in-package "SI" ) +(in-package :si) (eval-when (compile eval) (defmacro while (test &body body) @@ -11,7 +11,7 @@ (eval-when (compile eval load) (defun sharp-u-reader (stream subchar arg) subchar arg - (let ((tem (make-array 10 :element-type 'string-char :fill-pointer 0))) + (let ((tem (make-array 10 :element-type 'character :fill-pointer 0))) (or (eql (read-char stream) #\") (error "sharp-u-reader reader needs a \" right after it")) (loop @@ -44,7 +44,7 @@ (or (and (<= 0 start ) (<= start len)) (error "illegal file start ~a" start)) (let ((tem (make-array (- len start) - :element-type 'string-char))) + :element-type 'character))) (if (> start 0) (file-position st start)) (si::fread tem 0 (length tem) st) tem))) @@ -105,7 +105,7 @@ ((> extra 0) (setq tem (make-array (f + (length x) extra) - :element-type 'string-char :fill-pointer 0)) + :element-type 'character :fill-pointer 0)) (setq i 0) (go AGAIN)) (t (setq tem x))) --- gcl-2.6.12.orig/lsp/gcl_iolib.lsp +++ gcl-2.6.12/lsp/gcl_iolib.lsp @@ -22,21 +22,7 @@ ;;;; The IO library. -(in-package 'lisp) - - -(export '(with-open-stream with-input-from-string with-output-to-string - ensure-directories-exist wild-pathname-p - read-byte write-byte read-sequence write-sequence)) -(export '(read-from-string)) -(export '(write-to-string prin1-to-string princ-to-string)) -(export 'with-open-file) -(export '(y-or-n-p yes-or-no-p)) -(export 'dribble) - - -(in-package 'system) - +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) --- gcl-2.6.12.orig/lsp/gcl_listlib.lsp +++ gcl-2.6.12/lsp/gcl_listlib.lsp @@ -25,13 +25,7 @@ ; rather than recursion, as needed for large data sets. -(in-package 'lisp) - -(export '(union nunion intersection nintersection - set-difference nset-difference set-exclusive-or nset-exclusive-or - subsetp nth nth-value nthcdr first second third fourth fifth sixth seventh eighth ninth tenth)) - -(in-package 'system) +(in-package :si) (eval-when (compile) (proclaim '(optimize (safety 0) (space 3))) --- gcl-2.6.12.orig/lsp/gcl_mislib.lsp +++ gcl-2.6.12/lsp/gcl_mislib.lsp @@ -20,15 +20,7 @@ ;;;; This file is IMPLEMENTATION-DEPENDENT. -(in-package 'lisp) - - -(export 'time) -(export '(reset-sys-paths decode-universal-time encode-universal-time compile-file-pathname complement constantly)) - - -(in-package 'system) - +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) @@ -37,13 +29,13 @@ (let ((real-start (gensym)) (real-end (gensym)) (gbc-time-start (gensym)) (gbc-time (gensym)) (x (gensym)) (run-start (gensym)) (run-end (gensym)) (child-run-start (gensym)) (child-run-end (gensym))) - `(let (,real-start ,real-end (,gbc-time-start (si::gbc-time)) ,gbc-time ,x) + `(let (,real-start ,real-end (,gbc-time-start (gbc-time)) ,gbc-time ,x) (setq ,real-start (get-internal-real-time)) (multiple-value-bind (,run-start ,child-run-start) (get-internal-run-time) - (si::gbc-time 0) + (gbc-time 0) (setq ,x (multiple-value-list ,form)) - (setq ,gbc-time (si::gbc-time)) - (si::gbc-time (+ ,gbc-time-start ,gbc-time)) + (setq ,gbc-time (gbc-time)) + (gbc-time (+ ,gbc-time-start ,gbc-time)) (multiple-value-bind (,run-end ,child-run-end) (get-internal-run-time) (setq ,real-end (get-internal-real-time)) (fresh-line *trace-output*) @@ -139,7 +131,7 @@ x)) *gcl-major-version* *gcl-minor-version* *gcl-extra-version* (if (member :ansi-cl *features*) "ANSI" "CLtL1") (if (member :gprof *features*) "profiling" "") - (si::gcl-compile-time) + (gcl-compile-time) "Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)" "Binary License: " (if gpled-modules (format nil "GPL due to GPL'ed components: ~a" gpled-modules) @@ -150,13 +142,13 @@ x)) (defun lisp-implementation-version nil (format nil "GCL ~a.~a.~a" - si::*gcl-major-version* - si::*gcl-minor-version* - si::*gcl-extra-version*)) + *gcl-major-version* + *gcl-minor-version* + *gcl-extra-version*)) (defun objlt (x y) (declare (object x y)) - (let ((x (si::address x)) (y (si::address y))) + (let ((x (address x)) (y (address y))) (declare (fixnum x y)) (if (< y 0) (if (< x 0) (< x y) t) @@ -164,10 +156,10 @@ x)) (defun reset-sys-paths (s) (declare (string s)) - (setq si::*lib-directory* s) - (setq si::*system-directory* (si::string-concatenate s "unixport/")) + (setq *lib-directory* s) + (setq *system-directory* (string-concatenate s "unixport/")) (let (nl) (dolist (l '("cmpnew/" "gcl-tk/" "lsp/" "xgcl-2/")) - (push (si::string-concatenate s l) nl)) - (setq si::*load-path* nl)) + (push (string-concatenate s l) nl)) + (setq *load-path* nl)) nil) --- gcl-2.6.12.orig/lsp/gcl_module.lsp +++ gcl-2.6.12/lsp/gcl_module.lsp @@ -22,13 +22,7 @@ ;;;; module routines -(in-package 'lisp) - -(export '(*modules* provide require)) -(export 'documentation) -(export '(variable function structure type setf)) - -(in-package 'system) +(in-package :si) (eval-when (compile) (proclaim '(optimize (safety 2) (space 3)))) --- gcl-2.6.12.orig/lsp/gcl_numlib.lsp +++ gcl-2.6.12/lsp/gcl_numlib.lsp @@ -22,20 +22,7 @@ ;;;; number routines -(in-package 'lisp) -(export - '(isqrt abs phase signum cis asin acos sinh cosh tanh - asinh acosh atanh - rational rationalize - ffloor fround ftruncate fceiling - lognand lognor logandc1 logandc2 logorc1 logorc2 - lognot logtest - byte byte-size byte-position - ldb ldb-test mask-field dpb deposit-field - )) - - -(in-package 'system) +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) --- gcl-2.6.12.orig/lsp/gcl_packlib.lsp +++ gcl-2.6.12/lsp/gcl_packlib.lsp @@ -22,14 +22,7 @@ ;;;; package routines -(in-package 'lisp) - - -(export '(find-all-symbols do-symbols do-external-symbols do-all-symbols with-package-iterator)) -(export '(apropos apropos-list)) - - -(in-package 'system) +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) @@ -121,7 +114,7 @@ (defun print-symbol-apropos (symbol) (prin1 symbol) (when (fboundp symbol) - (if (special-form-p symbol) + (if (special-operator-p symbol) (princ " Special form") (if (macro-function symbol) (princ " Macro") --- gcl-2.6.12.orig/lsp/gcl_predlib.lsp +++ gcl-2.6.12/lsp/gcl_predlib.lsp @@ -22,9 +22,7 @@ ;;;; predicate routines -(in-package 'system) - -(export '(lisp::deftype lisp::typep lisp::subtypep lisp::coerce) 'lisp) +(in-package :si) (eval-when (compile) (proclaim '(optimize (safety 2) (space 3))) @@ -87,7 +85,7 @@ (deftype vector (&optional element-type size) `(array ,element-type (,size))) (deftype string (&optional size) - `(vector string-char ,size)) + `(vector character ,size)) (deftype base-string (&optional size) `(vector base-char ,size)) (deftype bit-vector (&optional size) @@ -96,7 +94,7 @@ (deftype simple-vector (&optional size) `(simple-array t (,size))) (deftype simple-string (&optional size) - `(simple-array string-char (,size))) + `(simple-array character (,size))) (deftype simple-base-string (&optional size) `(simple-array base-char (,size))) (deftype simple-bit-vector (&optional size) @@ -206,8 +204,8 @@ (ratio (eq (type-of object) 'ratio)) (standard-char (and (characterp object) (standard-char-p object))) - ((base-char string-char) - (and (characterp object) (string-char-p object))) + ((base-char character) + (characterp object)) (integer (and (integerp object) (in-interval-p object i))) (rational @@ -309,7 +307,7 @@ signed-char unsigned-char signed-short unsigned-short number integer bignum rational ratio float method-combination short-float single-float double-float long-float complex - character standard-char string-char real + character standard-char character real package stream pathname readtable hash-table random-state structure array simple-array function compiled-function arithmetic-error base-char base-string broadcast-stream @@ -583,23 +581,23 @@ (if (sub-interval-p '(* *) i2) (values t t) (values nil t))) (t (values nil ntp2)))) (standard-char - (if (member t2 '(base-char string-char character)) + (if (member t2 '(base-char character character)) (values t t) (values nil ntp2))) (base-char - (if (member t2 '(character string-char)) + (if (member t2 '(character character)) (values t t) (values nil ntp2))) (extended-char - (if (member t2 '(character string-char)) + (if (member t2 '(character character)) (values t t) (values nil ntp2))) - (string-char + (character (if (eq t2 'character) (values t t) (values nil ntp2))) (character - (if (eq t2 'string-char) + (if (eq t2 'character) (values t t) (values nil ntp2))) (integer @@ -635,7 +633,7 @@ (unless (or (equal (car i1) (car i2)) ; FIXME (and (eq (car i1) 'base-char) - (eq (car i2) 'string-char))) + (eq (car i2) 'character))) ;; Unless the element type matches, ;; return NIL T. ;; Is this too strict? @@ -658,7 +656,7 @@ (unless (or (equal (car i1) (car i2)) ; FIXME (and (eq (car i1) 'base-char) - (eq (car i2) 'string-char))) + (eq (car i2) 'character))) (return-from subtypep (values nil t))))) (when (or (endp (cdr i1)) (eq (cadr i1) '*)) --- gcl-2.6.12.orig/lsp/gcl_profile.lsp +++ gcl-2.6.12/lsp/gcl_profile.lsp @@ -1,5 +1,5 @@ -(in-package 'si) +(in-package :si) (use-package "SLOOP") ;; Sample Usage: --- gcl-2.6.12.orig/lsp/gcl_seq.lsp +++ gcl-2.6.12/lsp/gcl_seq.lsp @@ -22,11 +22,7 @@ ;;;; sequence routines -(in-package 'lisp) - -(export '(make-sequence concatenate map some every notany notevery)) - -(in-package 'system) +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) @@ -40,7 +36,7 @@ (if iesp (make-list size :initial-element initial-element) (make-list size)))) - ((or (eq type 'simple-string) (eq type 'string)) 'string-char) + ((or (eq type 'simple-string) (eq type 'string)) 'character) ((or (eq type 'simple-bit-vector) (eq type 'bit-vector)) 'bit) ((or (eq type 'simple-vector) (eq type 'vector)) t) (t --- gcl-2.6.12.orig/lsp/gcl_seqlib.lsp +++ gcl-2.6.12/lsp/gcl_seqlib.lsp @@ -22,24 +22,7 @@ ;;;; sequence routines -(in-package 'lisp) - - -(export '(reduce fill replace - remove remove-if remove-if-not - delete delete-if delete-if-not - count count-if count-if-not - substitute substitute-if substitute-if-not - nsubstitute nsubstitute-if nsubstitute-if-not - find find-if find-if-not - position position-if position-if-not - remove-duplicates delete-duplicates - mismatch search - with-hash-table-iterator - sort stable-sort merge map-into)) - - -(in-package 'system) +(in-package :si) (proclaim '(optimize (safety 2) (space 3))) --- gcl-2.6.12.orig/lsp/gcl_serror.lsp +++ gcl-2.6.12/lsp/gcl_serror.lsp @@ -100,6 +100,8 @@ args)))) ("unknown error"))) +(defvar *break-on-warnings* nil) + (defun warn (datum &rest arguments) (declare (optimize (safety 2))) (let ((c (process-error datum arguments 'simple-warning))) --- gcl-2.6.12.orig/lsp/gcl_setf.lsp +++ gcl-2.6.12/lsp/gcl_setf.lsp @@ -22,16 +22,7 @@ ;;;; setf routines -(in-package 'lisp) - - -(export '(setf psetf shiftf rotatef - define-modify-macro defsetf - getf remf incf decf push pushnew pop - define-setf-method get-setf-method get-setf-method-multiple-value)) - - -(in-package 'system) +(in-package :si) (eval-when (compile) (proclaim '(optimize (safety 2) (space 3)))) @@ -86,10 +77,10 @@ ',access-fn)) -;;; GET-SETF-METHOD. +;;; GET-SETF-EXPANSION. ;;; It just calls GET-SETF-METHOD-MULTIPLE-VALUE ;;; and checks the number of the store variable. -(defun get-setf-method (form &optional env) +(defun get-setf-expansion (form &optional env) (multiple-value-bind (vars vals stores store-form access-form) (get-setf-method-multiple-value form env) (unless (= (list-length stores) 1) @@ -218,7 +209,7 @@ (define-setf-method getf (&environment env place indicator &optional default) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method place env) + (get-setf-expansion place env) (let ((itemp (gensym)) (store (gensym))) (values `(,@vars ,itemp) `(,@vals ,indicator) @@ -234,7 +225,7 @@ (define-setf-method the (&environment env type form) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method form env) + (get-setf-expansion form env) (let ((store (gensym))) (values vars vals (list store) `(let ((,(car stores) (the ,type ,store))) ,store-form) @@ -246,7 +237,7 @@ (null (cddr fn))) (error "Can't get the setf-method of ~S." fn)) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method (cons (cadr fn) rest) env) + (get-setf-expansion (cons (cadr fn) rest) env) (unless (eq (car (last store-form)) (car (last vars))) (error "Can't get the setf-method of ~S." fn)) (values vars vals stores @@ -261,7 +252,7 @@ (null (cddr fn))) (error "Can't get the setf-method of ~S." fn)) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method (cons (cadr fn) rest) env) + (get-setf-expansion (cons (cadr fn) rest) env) (cond ((eq (car (last store-form)) (car (last vars))) (values vars vals stores `(apply #',(car store-form) ,@(cdr store-form)) @@ -277,7 +268,7 @@ (define-setf-method char-bit (&environment env char name) (multiple-value-bind (temps vals stores store-form access-form) - (get-setf-method char env) + (get-setf-expansion char env) (let ((ntemp (gensym)) (store (gensym)) (stemp (first stores))) @@ -290,7 +281,7 @@ (define-setf-method ldb (&environment env bytespec int) (multiple-value-bind (temps vals stores store-form access-form) - (get-setf-method int env) + (get-setf-expansion int env) (let ((btemp (gensym)) (store (gensym)) (stemp (first stores))) @@ -303,7 +294,7 @@ (define-setf-method mask-field (&environment env bytespec int) (multiple-value-bind (temps vals stores store-form access-form) - (get-setf-method int env) + (get-setf-expansion int env) (let ((btemp (gensym)) (store (gensym)) (stemp (first stores))) @@ -346,7 +337,7 @@ (setf-structure-access (cadr place) (car g) (cdr g) newvalue)))) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method place env) + (get-setf-expansion place env) (declare (ignore access-form)) `(let* ,(mapcar #'list (append vars stores) @@ -397,7 +388,7 @@ nil)) (when (endp (cdr r)) (error "~S is an illegal PSETF form." rest)) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method (car r) env) + (get-setf-expansion (car r) env) (declare (ignore access-form)) (setq store-forms (cons store-form store-forms)) (setq pairs @@ -426,7 +417,7 @@ ,@store-forms ,g)) (multiple-value-bind (vars vals stores1 store-form access-form) - (get-setf-method (car r) env) + (get-setf-expansion (car r) env) (setq pairs (nconc pairs (mapcar #'list vars vals))) (setq stores (cons (car stores1) stores)) (setq store-forms (cons store-form store-forms)) @@ -451,7 +442,7 @@ nil )) (multiple-value-bind (vars vals stores1 store-form access-form) - (get-setf-method (car r) env) + (get-setf-expansion (car r) env) (setq pairs (nconc pairs (mapcar #'list vars vals))) (setq stores (cons (car stores1) stores)) (setq store-forms (cons store-form store-forms)) @@ -480,7 +471,7 @@ (let ((access-form reference)) (list 'setq reference ,update-form)))) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method reference env) + (get-setf-expansion reference env) (list 'let* (mapcar #'list (append vars stores) @@ -492,7 +483,7 @@ (defmacro remf (&environment env place indicator) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method place env) + (get-setf-expansion place env) `(let* ,(mapcar #'list vars vals) (multiple-value-bind (,(car stores) flag) (si:rem-f ,access-form ,indicator) @@ -508,7 +499,7 @@ (return-from push `(let* ((,myitem ,item)) (setq ,place (cons ,myitem ,place))))) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method place env) + (get-setf-expansion place env) `(let* ,(mapcar #'list (append (list myitem) vars stores) (append (list item) vals (list (list 'cons myitem access-form)))) @@ -520,7 +511,7 @@ (return-from pushnew `(let* ((,myitem ,item)) (setq ,place (adjoin ,myitem ,place ,@rest)))))) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method place env) + (get-setf-expansion place env) `(let* ,(mapcar #'list (append (list myitem) vars stores) (append (list item) vals @@ -535,7 +526,7 @@ (setq ,place (cdr ,place)) ,temp)))) (multiple-value-bind (vars vals stores store-form access-form) - (get-setf-method place env) + (get-setf-expansion place env) `(let* ,(mapcar #'list (append vars stores) (append vals (list (list 'cdr access-form)))) --- gcl-2.6.12.orig/lsp/gcl_sloop.lsp +++ gcl-2.6.12/lsp/gcl_sloop.lsp @@ -71,7 +71,7 @@ ;;; some other package. -(in-package "SLOOP" :use '(LISP)) +(in-package "SLOOP" :use '(:LISP)) (eval-when (compile eval load) (export '(loop-return sloop def-loop-collect def-loop-map --- gcl-2.6.12.orig/lsp/gcl_stack-problem.lsp +++ gcl-2.6.12/lsp/gcl_stack-problem.lsp @@ -1,4 +1,4 @@ -(in-package 'si) +(in-package :si) (defvar *old-handler* #'si::universal-error-handler) --- gcl-2.6.12.orig/lsp/gcl_top.lsp +++ gcl-2.6.12/lsp/gcl_top.lsp @@ -24,24 +24,14 @@ ;;;; Revised on July 11, by Carl Hoffman. -(in-package "LISP") -;(export 'lisp) -(export '(+ ++ +++ - * ** *** / // ///)) -(export '(break warn)) -(export '*break-on-warnings*) -(export '*break-enable*) - -(in-package 'system) +(in-package :si) (export '*break-readtable*) (export '(loc *debug-print-level*)) (export '(vs ihs-vs ihs-fun frs-vs frs-bds frs-ihs bds-var bds-val super-go)) -(eval-when - (compile) - (proclaim '(optimize (safety 2) (space 3))) - (defvar *command-args* nil)) +(defvar *command-args* nil) (defvar +) (defvar ++) @@ -75,8 +65,6 @@ (defvar *break-enable* t) (defvar *break-message* "") -(defvar *break-on-warnings* nil) - (defvar *break-readtable* nil) (defvar *top-level-hook* nil) @@ -330,7 +318,7 @@ (lambda-block-closure (cddddr fun)) (t (cond ((and (symbolp (car fun)) - (or (special-form-p(car fun)) + (or (special-operator-p(car fun)) (fboundp (car fun)))) (car fun)) (t '(:zombi)))))) @@ -384,7 +372,7 @@ (lambda-block-closure (nth 4 fun)) (lambda-closure 'lambda-closure) (t (if (and (symbolp (car fun)) - (or (special-form-p (car fun)) + (or (special-operator-p (car fun)) (fboundp (car fun)))) (car fun) :zombi) ))) --- gcl-2.6.12.orig/lsp/gcl_trace.lsp +++ gcl-2.6.12/lsp/gcl_trace.lsp @@ -27,13 +27,7 @@ ;; If you are working in another package you should (import 'si::arglist) ;; to avoid typing the si:: -(in-package 'lisp) - -(export '(trace untrace)) -(export 'step) - - -(in-package 'system) +(in-package :si) ;;(proclaim '(optimize (safety 2) (space 3))) @@ -169,7 +163,7 @@ (when (null (fboundp fname)) (format *trace-output* "The function ~S is not defined.~%" fname) (return-from trace-one nil)) - (when (special-form-p fname) + (when (special-operator-p fname) (format *trace-output* "~S is a special form.~%" fname) (return-from trace-one nil)) (when (macro-function fname) --- gcl-2.6.12.orig/lsp/sys-proclaim.lisp +++ gcl-2.6.12/lsp/sys-proclaim.lisp @@ -1,294 +1,522 @@ -(IN-PACKAGE "SYSTEM") -(MAPC (LAMBDA (COMPILER::X) - (SETF (GET COMPILER::X 'PROCLAIMED-CLOSURE) T)) - '(SI-CLASS-PRECEDENCE-LIST BREAK-ON-FLOATING-POINT-EXCEPTIONS - SI-FIND-CLASS AUTOLOAD SI-CLASS-NAME TRACE-ONE SI-CLASSP - SIMPLE-CONDITION-CLASS-P CONDITIONP MAKE-ACCESS-FUNCTION - UNTRACE-ONE WARNINGP DEFINE-STRUCTURE CONDITION-CLASS-P - SI-CLASS-OF AUTOLOAD-MACRO)) -(PROCLAIM '(FTYPE (FUNCTION (T) (VALUES T T)) LISP::MAKE-KEYWORD)) -(PROCLAIM - '(FTYPE (FUNCTION (T) T) S-DATA-HAS-HOLES CONSTANTLY - COMPUTING-ARGS-P ANSI-LOOP::LOOP-PATH-PREPOSITION-GROUPS - ANSI-LOOP::LOOP-COLLECTOR-NAME FIRST INSPECT-SYMBOL - CONTEXT-P ANSI-LOOP::LOOP-MAKE-PSETQ TENTH - COMPILER-MACRO-FUNCTION ANSI-LOOP::LOOP-COLLECTOR-DATA - ARRAY-DIMENSIONS ASINH FPE::XMM-LOOKUP KNOWN-TYPE-P - CONTEXT-VEC CONTEXT-HASH SHOW-ENVIRONMENT - CHECK-DECLARATIONS BKPT-FILE-LINE PROVIDE - ANSI-LOOP::LOOP-PATH-P DWIM RESTART-P FPE::LOOKUP ACOSH - PRINT-SYMBOL-APROPOS SIGNUM ANSI-LOOP::LOOP-UNIVERSE-ANSI - IHS-NOT-INTERPRETED-ENV BYTE-SIZE THIRD RESTART-FUNCTION - ANSI-LOOP::LOOP-UNIVERSE-TYPE-KEYWORDS DO-F - ANSI-LOOP::LOOP-EMIT-BODY COSH S-DATA-CONC-NAME - INSTREAM-STREAM-NAME PATCH-SHARP INSPECT-STRING - S-DATA-INCLUDES SHOW-BREAK-POINT FPE::GREF - FIND-KCL-TOP-RESTART RESTART-REPORT-FUNCTION S-DATA-NAMED - S-DATA-CONSTRUCTORS S-DATA-P SLOOP::PARSE-LOOP - INSPECT-STRUCTURE BKPT-FORM PHASE SETUP-INFO - ANSI-LOOP::LOOP-UNIVERSE-TYPE-SYMBOLS - RESET-TRACE-DECLARATIONS SLOOP::SLOOP-SLOOP-MACRO EIGHTH - SECOND SLOOP::TRANSLATE-NAME - ANSI-LOOP::LOOP-MINIMAX-FLAG-VARIABLE NINTH - ANSI-LOOP::LOOP-COLLECTOR-P MAKE-KCL-TOP-RESTART - SEARCH-STACK ANSI-LOOP::LOOP-COLLECTOR-DTYPE ACOS - ANSI-LOOP::LOOP-MAXMIN-COLLECTION MAKE-DEFPACKAGE-FORM - INSPECT-NUMBER SINH ANSI-LOOP::LOOP-HACK-ITERATION - INSTREAM-STREAM WALK-THROUGH PRINT-IHS SIXTH S-DATA-FROZEN - INSPECT-CHARACTER SLOOP::RETURN-SLOOP-MACRO - FREEZE-DEFSTRUCT NEXT-STACK-FRAME - SLOOP::LOOP-COLLECT-KEYWORD-P DM-BAD-KEY - COMPILE-FILE-PATHNAME SEVENTH - ANSI-LOOP::LOOP-CODE-DUPLICATION-THRESHOLD - SLOOP::PARSE-LOOP-INITIALLY TERMINAL-INTERRUPT - ANSI-LOOP::LOOP-EMIT-FINAL-VALUE FRS-KIND CHECK-TRACE-SPEC - CONTEXT-SPICE ANSI-LOOP::DESTRUCTURING-SIZE - ANSI-LOOP::LOOP-MINIMAX-OPERATIONS INSPECT-VECTOR ATANH - ANSI-LOOP::LOOP-PATH-NAMES S-DATA-OFFSET - SLOOP::REPEAT-SLOOP-MACRO FIND-ALL-SYMBOLS - ANSI-LOOP::LOOP-PATH-FUNCTION REWRITE-RESTART-CASE-CLAUSE - ANSI-LOOP::LOOP-COLLECTOR-CLASS - RESTART-INTERACTIVE-FUNCTION DM-KEY-NOT-ALLOWED - INSPECT-PACKAGE S-DATA-PRINT-FUNCTION NODE-OFFSET - RESTART-NAME RATIONAL NORMALIZE-TYPE - SLOOP::SUBSTITUTE-SLOOP-BODY FIFTH INFO-GET-TAGS S-DATA-RAW - RE-QUOTE-STRING SHORT-NAME LOGNOT INSPECT-ARRAY - TRACE-ONE-PREPROCESS SIMPLE-ARRAY-P FIND-DOCUMENTATION - BKPT-FUNCTION ANSI-LOOP::LOOP-PATH-USER-DATA EVAL-FEATURE - ANSI-LOOP::LOOP-MINIMAX-INFINITY-DATA ABS S-DATA-STATICP - ANSI-LOOP::LOOP-MINIMAX-TEMP-VARIABLE INSERT-BREAK-POINT - S-DATA-DOCUMENTATION PRINT-FRS IHS-VISIBLE GET-INSTREAM - INFO-GET-FILE GET-NEXT-VISIBLE-FUN DBL-EVAL FOURTH - ANSI-LOOP::LOOP-COLLECTOR-HISTORY BYTE-POSITION - ANSI-LOOP::LOOP-TYPED-INIT ASIN - ANSI-LOOP::LOOP-COLLECTOR-TEMPVARS FIX-LOAD-PATH BKPT-FILE - VECTOR-POP IDESCRIBE UNIQUE-ID - ANSI-LOOP::LOOP-UNIVERSE-ITERATION-KEYWORDS - ANSI-LOOP::LOOP-UNIVERSE-IMPLICIT-FOR-REQUIRED - SLOOP::POINTER-FOR-COLLECT FPE::ST-LOOKUP - ANSI-LOOP::LOOP-CONSTANTP ANSI-LOOP::LOOP-UNIVERSE-KEYWORDS - ADD-TO-HOTLIST ANSI-LOOP::LOOP-DO-THEREIS - ANSI-LOOP::LOOP-LIST-COLLECTION S-DATA-TYPE - SLOOP::LOOP-LET-BINDINGS - ANSI-LOOP::LOOP-PATH-INCLUSIVE-PERMITTED - BREAK-FORWARD-SEARCH-STACK ISQRT S-DATA-SLOT-POSITION - BREAK-BACKWARD-SEARCH-STACK - ANSI-LOOP::MAKE-ANSI-LOOP-UNIVERSE RESTART-TEST-FUNCTION - INVOKE-DEBUGGER SLOOP::PARSE-NO-BODY - ANSI-LOOP::LOOP-MAKE-DESETQ - ANSI-LOOP::LOOP-CONSTRUCT-RETURN COMPLEMENT - ANSI-LOOP::LOOP-UNIVERSE-FOR-KEYWORDS TANH INSTREAM-P - NODES-FROM-INDEX ANSI-LOOP::LOOP-PSEUDO-BODY - S-DATA-INCLUDED ANSI-LOOP::LOOP-MINIMAX-TYPE - NUMBER-OF-DAYS-FROM-1900 INFO-NODE-FROM-POSITION - ANSI-LOOP::LOOP-MINIMAX-ANSWER-VARIABLE - ANSI-LOOP::LOOP-MINIMAX-P BEST-ARRAY-ELEMENT-TYPE - S-DATA-NAME SLOOP::AVERAGING-SLOOP-MACRO - ANSI-LOOP::LOOP-UNIVERSE-PATH-KEYWORDS CIS SEQTYPE - LEAP-YEAR-P GET-BYTE-STREAM-NCHARS IHS-FNAME - ANSI-LOOP::LOOP-UNIVERSE-P INSPECT-CONS - S-DATA-SLOT-DESCRIPTIONS)) -(PROCLAIM - '(FTYPE (FUNCTION (*) *) INFO-ERROR BREAK-PREVIOUS BREAK-NEXT - CONTINUE BREAK-LOCAL SHOW-BREAK-VARIABLES BREAK-BDS - MUFFLE-WARNING DBL-BACKTRACE ANSI-LOOP::LOOP-OPTIONAL-TYPE - IHS-BACKTRACE BREAK-QUIT BREAK-VS)) -(PROCLAIM - '(FTYPE (FUNCTION (FIXNUM) FIXNUM) FPE::FE-ENABLE DBL-WHAT-FRAME)) -(PROCLAIM - '(FTYPE (FUNCTION (T) FIXNUM) INSTREAM-LINE FPE::REG-LOOKUP - S-DATA-SIZE S-DATA-LENGTH THE-START)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM) T) PUSH-CONTEXT GET-CONTEXT)) -(PROCLAIM '(FTYPE (FUNCTION (STRING FIXNUM) FIXNUM) ATOI)) -(PROCLAIM - '(FTYPE (FUNCTION (*) T) ANSI-LOOP::MAKE-STANDARD-LOOP-UNIVERSE - MAYBE-CLEAR-INPUT ANSI-LOOP::MAKE-LOOP-MINIMAX-INTERNAL - DRIBBLE ANSI-LOOP::MAKE-LOOP-COLLECTOR - ANSI-LOOP::MAKE-LOOP-UNIVERSE Y-OR-N-P COMPUTE-RESTARTS - DESCRIBE-ENVIRONMENT TRANSFORM-KEYWORDS - SLOOP::PARSE-LOOP-DECLARE MAKE-RESTART MAKE-INSTREAM - ANSI-LOOP::LOOP-GENTEMP DBL-READ LOC CURRENT-STEP-FUN - VECTOR YES-OR-NO-P BREAK - ANSI-LOOP::LOOP-DISALLOW-CONDITIONAL STEP-INTO MAKE-CONTEXT - ANSI-LOOP::MAKE-LOOP-PATH MAKE-S-DATA BREAK-LOCALS ABORT - SLOOP::PARSE-LOOP-WITH STEP-NEXT)) -(PROCLAIM - '(FTYPE (FUNCTION (T) *) PRINC-TO-STRING GET-&ENVIRONMENT DESCRIBE - INSPECT ANSI-LOOP::NAMED-VARIABLE WAITING - ANSI-LOOP::LOOP-OPTIMIZATION-QUANTITIES PRIN1-TO-STRING - BREAK-LEVEL-INVOKE-RESTART END-WAITING - ANSI-LOOP::LOOP-LIST-STEP ALOAD INSTREAM-NAME - INVOKE-RESTART-INTERACTIVELY FIND-DECLARATIONS BREAK-GO - INSPECT-OBJECT INFO-SUBFILE)) -(PROCLAIM '(FTYPE (FUNCTION (T FIXNUM T T) T) BIGNTHCDR)) -(PROCLAIM '(FTYPE (FUNCTION (T FIXNUM FIXNUM T T) T) QUICK-SORT)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T) *) SHARP-S-READER SHARP---READER - ANSI-LOOP::LOOP-GET-COLLECTION-INFO SHARP-+-READER - LIST-MERGE-SORT LISP::VERIFY-KEYWORDS READ-INSPECT-COMMAND - RESTART-PRINT)) -(PROCLAIM - '(FTYPE (FUNCTION (T T *) *) REDUCE SUBTYPEP SORT - SLOOP::FIND-IN-ORDERED-LIST STABLE-SORT LISP::PARSE-BODY)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T *) *) LISP::PARSE-DEFMACRO-LAMBDA-LIST - LISP::PARSE-DEFMACRO)) -(PROCLAIM '(FTYPE (FUNCTION (T T T *) *) MASET)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T T T) *) LISP::PUSH-OPTIONAL-BINDING)) -(PROCLAIM - '(FTYPE (FUNCTION (T *) *) DECODE-UNIVERSAL-TIME STEPPER USE-VALUE - FROUND INFO SHOW-INFO INVOKE-RESTART FCEILING - PARSE-BODY-HEADER ENSURE-DIRECTORIES-EXIST PRINT-DOC - APROPOS-DOC WRITE-TO-STRING FFLOOR NLOAD BREAK-FUNCTION - REQUIRE APROPOS GET-SETF-METHOD APROPOS-LIST - ANSI-LOOP::LOOP-CONSTANT-FOLD-IF-POSSIBLE STORE-VALUE - GET-SETF-METHOD-MULTIPLE-VALUE READ-FROM-STRING - WILD-PATHNAME-P FTRUNCATE)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) T) QUOTATION-READER - SLOOP::IN-PACKAGE-SLOOP-MAP SLOOP::NEVER-SLOOP-COLLECT - MATCH-DIMENSIONS OBJLT ANSI-LOOP::LOOP-TEQUAL DBL-UP - GET-INFO-CHOICES NTHCDR ANSI-LOOP::LOOP-DECLARE-VARIABLE - ANSI-LOOP::MAKE-LOOP-MINIMAX LDB - OVERWRITE-SLOT-DESCRIPTIONS GET-LINE-OF-FORM DOCUMENTATION - DM-NTH ANSI-LOOP::LOOP-LOOKUP-KEYWORD DM-NTH-CDR - SLOOP::=-SLOOP-FOR LIST-DELQ SET-DIR LOGANDC2 - SLOOP::IN-FRINGE-SLOOP-MAP DISPLAY-COMPILED-ENV SET-BACK - SLOOP::LOGXOR-SLOOP-COLLECT LEFT-PARENTHESIS-READER - ANSI-LOOP::LOOP-DO-IF FPE::%-READER LDB-TEST - COMPILER::COMPILER-DEF-HOOK BYTE - SLOOP::IN-CAREFULLY-SLOOP-FOR INCREMENT-CURSOR - IN-INTERVAL-P LISP::LOOKUP-KEYWORD SUPER-GO WRITE-BYTE - ANSI-LOOP::LOOP-DO-WHILE READ-INSTRUCTION LOGANDC1 - SLOOP::THEREIS-SLOOP-COLLECT COERCE-TO-STRING LOGORC2 - SEQUENCE-CURSOR LOGNOR FPE::READ-OPERANDS - SLOOP::MAXIMIZE-SLOOP-COLLECT ALL-MATCHES - SLOOP::IN-TABLE-SLOOP-MAP SLOOP::COLLATE-SLOOP-COLLECT - CHECK-SEQ-START-END BREAK-STEP-NEXT FPE::RF - SLOOP::PARSE-LOOP-MAP VECTOR-PUSH FPE::PAREN-READER - FPE::0-READER ANSI-LOOP::LOOP-TASSOC SETF-HELPER - SETF-EXPAND SLOOP::MINIMIZE-SLOOP-COLLECT ADD-FILE LOGORC1 - SLOOP::COUNT-SLOOP-COLLECT SLOOP::MAKE-VALUE - PARSE-SLOT-DESCRIPTION SLOOP::DESETQ1 - ANSI-LOOP::LOOP-DO-ALWAYS SLOOP::L-EQUAL GET-MATCH - SLOOP::SUM-SLOOP-COLLECT DM-V BREAK-STEP-INTO LOGNAND NTH - SUBSTRINGP INFO-AUX SUB-INTERVAL-P *BREAK-POINTS* SAFE-EVAL - ANSI-LOOP::HIDE-VARIABLE-REFERENCES COERCE - ANSI-LOOP::LOOP-NOTE-MINIMAX-OPERATION CONDITION-PASS - GET-NODES ANSI-LOOP::LOOP-TMEMBER - SLOOP::ALWAYS-SLOOP-COLLECT DISPLAY-ENV SLOOP::THE-TYPE - ANSI-LOOP::LOOP-MAYBE-BIND-FORM ITERATE-OVER-BKPTS LOGTEST - LISP::KEYWORD-SUPPLIED-P)) -(PROCLAIM '(FTYPE (FUNCTION (T T T T T T T) *) TRACE-CALL)) -(PROCLAIM - '(FTYPE (FUNCTION NIL *) GCL-TOP-LEVEL SIMPLE-BACKTRACE - BREAK-CURRENT BREAK-MESSAGE ANSI-LOOP::LOOP-DO-FOR - BREAK-HELP)) -(PROCLAIM - '(FTYPE (FUNCTION (STRING) T) RESET-SYS-PATHS - COERCE-SLASH-TERMINATED)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) FIXNUM) RELATIVE-LINE GET-NODE-INDEX - ANSI-LOOP::DUPLICATABLE-CODE-P THE-END)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM T) T) SMALLNTHCDR)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM FIXNUM) FIXNUM) ROUND-UP)) -(PROCLAIM - '(FTYPE (FUNCTION (T *) T) - ANSI-LOOP::LOOP-COLLECT-PREPOSITIONAL-PHRASES SBIT - INFO-SEARCH PROCESS-ARGS LIST-MATCHES ARRAY-ROW-MAJOR-INDEX - FIND-RESTART SLOOP::LOOP-ADD-TEMPS ANSI-LOOP::LOOP-WARN - ANSI-LOOP::LOOP-ERROR BAD-SEQ-LIMIT ARRAY-IN-BOUNDS-P - MAKE-ARRAY SIGNAL BIT PROCESS-SOME-ARGS CONCATENATE ERROR - REMOVE-DUPLICATES SLOOP::ADD-FROM-DATA READ-BYTE - FILE-SEARCH FILE-TO-STRING UPGRADED-ARRAY-ELEMENT-TYPE WARN - BREAK-LEVEL BIT-NOT NTH-STACK-FRAME DELETE-DUPLICATES)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) *) ANSI-LOOP::ESTIMATE-CODE-SIZE-1 NEWLINE - FIND-DOC RESTART-REPORT ANSI-LOOP::ESTIMATE-CODE-SIZE - NEW-SEMI-COLON-READER)) -(PROCLAIM - '(FTYPE (FUNCTION (T T *) T) NOTANY BIT-ORC1 - ANSI-LOOP::LOOP-CHECK-DATA-TYPE REMOVE BIT-ANDC1 - INTERNAL-COUNT-IF-NOT READ-SEQUENCE SUBSETP - VECTOR-PUSH-EXTEND TYPEP CERROR REPLACE COUNT-IF - NSET-DIFFERENCE DELETE REMOVE-IF NSET-EXCLUSIVE-OR - PROCESS-ERROR INTERNAL-COUNT SLOOP::IN-ARRAY-SLOOP-FOR - SEARCH MAKE-SEQUENCE ADJUST-ARRAY BIT-NAND FIND-IF - NINTERSECTION FILL BIT-ORC2 BIT-XOR UNION DELETE-IF-NOT - SLOOP::PARSE-LOOP-MACRO WRITE-SEQUENCE SOME COUNT-IF-NOT - MAP-INTO FIND FIND-IF-NOT BIT-NOR BIT-ANDC2 POSITION-IF - NOTEVERY NUNION SET-DIFFERENCE INTERSECTION POSITION-IF-NOT - EVERY POSITION FIND-IHS BIT-EQV REMOVE-IF-NOT MISMATCH - BIT-AND INTERNAL-COUNT-IF DELETE-IF COUNT BREAK-CALL - SET-EXCLUSIVE-OR SLOOP::LOOP-ADD-BINDING BIT-IOR)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T) T) ANSI-LOOP::LOOP-FOR-IN - FLOATING-POINT-ERROR CHECK-TRACE-ARGS - ANSI-LOOP::HIDE-VARIABLE-REFERENCE SETF-EXPAND-1 - MAKE-BREAK-POINT FPE::REF SHARP-A-READER SHARP-U-READER DPB - DM-VL CHECK-S-DATA ANSI-LOOP::LOOP-MAKE-ITERATION-VARIABLE - APPLY-DISPLAY-FUN ANSI-LOOP::LOOP-STANDARD-EXPANSION - ANSI-LOOP::LOOP-TRANSLATE DEPOSIT-FIELD - ANSI-LOOP::LOOP-ANSI-FOR-EQUALS - SLOOP::LOOP-PARSE-ADDITIONAL-COLLECTIONS - ANSI-LOOP::LOOP-FOR-ON GET-SLOT-POS - ANSI-LOOP::PRINT-LOOP-UNIVERSE DEFMACRO* WARN-VERSION - RESTART-CASE-EXPRESSION-CONDITION MAKE-T-TYPE - ANSI-LOOP::LOOP-SUM-COLLECTION ANSI-LOOP::LOOP-FOR-BEING - ANSI-LOOP::LOOP-FOR-ACROSS)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T *) T) CHECK-TYPE-SYMBOL - ANSI-LOOP::LOOP-HASH-TABLE-ITERATION-PATH NSUBSTITUTE-IF - SUBSTITUTE-IF - ANSI-LOOP::LOOP-PACKAGE-SYMBOLS-ITERATION-PATH NSUBSTITUTE - ANSI-LOOP::LOOP-SEQUENCE-ELEMENTS-PATH - LISP::PUSH-LET-BINDING ANSI-LOOP::ADD-LOOP-PATH - SUBSTITUTE-IF-NOT MAP SLOOP::LOOP-DECLARE-BINDING - SUBSTITUTE ANSI-LOOP::LOOP-MAKE-VARIABLE NSUBSTITUTE-IF-NOT - COMPLETE-PROP)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T) T) LISP::DO-ARG-COUNT-ERROR - LISP::PUSH-SUB-LIST-BINDING)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T) T) MAKE-CONSTRUCTOR MAKE-PREDICATE - DO-BREAK-LEVEL)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T *) T) PRINT-STACK-FRAME MERGE - SLOOP::DEF-LOOP-INTERNAL)) -(PROCLAIM - '(FTYPE (FUNCTION (T T FIXNUM) T) SHARP-EQ-READER - SHARP-SHARP-READER)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T) T) CALL-TEST COERCE-TO-CONDITION - FIND-LINE-IN-FUN ANSI-LOOP::LOOP-FOR-ARITHMETIC MAYBE-BREAK - SLOOP::FIRST-USE-SLOOP-FOR SLOOP::FIRST-SLOOP-FOR - SETF-STRUCTURE-ACCESS)) -(PROCLAIM '(FTYPE (FUNCTION (T T T T T T *) T) ENCODE-UNIVERSAL-TIME)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T T T T T) T) - ANSI-LOOP::LOOP-SEQUENCER)) -(PROCLAIM '(FTYPE (FUNCTION (T T T T T *) T) UNIVERSAL-ERROR-HANDLER)) -(PROCLAIM - '(FTYPE (FUNCTION NIL T) ANSI-LOOP::LOOP-DO-NAMED - SLOOP::LOOP-UN-POP ANSI-LOOP::LOOP-DO-INITIALLY - SLOOP::PARSE-LOOP-WHEN SLOOP::LOOP-POP SLOOP::LOOP-PEEK - SLOOP::PARSE-LOOP-DO SET-ENV ANSI-LOOP::LOOP-DO-REPEAT - READ-EVALUATED-FORM ANSI-LOOP::LOOP-DO-RETURN - ANSI-LOOP::LOOP-GET-FORM ANSI-LOOP::LOOP-DO-FINALLY - SET-CURRENT DEFAULT-SYSTEM-BANNER DM-TOO-FEW-ARGUMENTS - ANSI-LOOP::LOOP-DO-DO SLOOP::PARSE-ONE-WHEN-CLAUSE - DEFAULT-INFO-HOTLIST KCL-TOP-RESTARTS TYPE-ERROR - SET-UP-TOP-LEVEL INSPECT-INDENT GET-INDEX-NODE - ALL-TRACE-DECLARATIONS DBL ANSI-LOOP::LOOP-GET-PROGN - INIT-BREAK-POINTS STEP-READ-LINE - ANSI-LOOP::LOOP-ITERATION-DRIVER GET-SIG-FN-NAME - SETUP-LINEINFO CLEANUP ANSI-LOOP::LOOP-WHEN-IT-VARIABLE - ANSI-LOOP::LOOP-DO-WITH SHOW-RESTARTS - SLOOP::PARSE-LOOP-COLLECT INSPECT-READ-LINE - DM-TOO-MANY-ARGUMENTS INSPECT-INDENT-1 - ANSI-LOOP::LOOP-POP-SOURCE TEST-ERROR SLOOP::PARSE-LOOP1 - ANSI-LOOP::LOOP-CONTEXT ANSI-LOOP::LOOP-BIND-BLOCK - WINE-TMP-REDIRECT ILLEGAL-BOA SLOOP::PARSE-LOOP-FOR - TOP-LEVEL LISP-IMPLEMENTATION-VERSION GET-TEMP-DIR)) \ No newline at end of file +(COMMON-LISP::IN-PACKAGE "SYSTEM") +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::T) + ANSI-LOOP::LOOP-EMIT-FINAL-VALUE SYSTEM::INSPECT-CHARACTER + SYSTEM::INSPECT-STRUCTURE SYSTEM::PRINT-IHS + SYSTEM::RESTART-FUNCTION COMMON-LISP::TANH COMMON-LISP::FIFTH + SLOOP::PARSE-LOOP-INITIALLY SYSTEM::NEXT-STACK-FRAME + SYSTEM::IDESCRIBE SYSTEM::PROCESS-ARGS SYSTEM::LEAP-YEAR-P + SLOOP::AVERAGING-SLOOP-MACRO SYSTEM::FIX-LOAD-PATH + SLOOP::SUBSTITUTE-SLOOP-BODY SYSTEM::RESTART-REPORT-FUNCTION + COMMON-LISP::NINTH SLOOP::SLOOP-SLOOP-MACRO + SYSTEM::S-DATA-CONSTRUCTORS SYSTEM::FREEZE-DEFSTRUCT + COMMON-LISP::EIGHTH SYSTEM::FIND-DOCUMENTATION + ANSI-LOOP::LOOP-PSEUDO-BODY COMMON-LISP::RATIONAL + ANSI-LOOP::LOOP-EMIT-BODY COMMON-LISP::ASIN + COMMON-LISP::COMPILE-FILE-PATHNAME SYSTEM::S-DATA-P + SYSTEM::BKPT-FUNCTION SYSTEM::TRACE-ONE-PREPROCESS + COMMON-LISP::LOGNOT SYSTEM::SIMPLE-ARRAY-P SYSTEM::BKPT-FILE + SYSTEM::S-DATA-STATICP COMMON-LISP::ISQRT SYSTEM::INSTREAM-P + COMMON-LISP::SEVENTH SYSTEM::S-DATA-NAMED + ANSI-LOOP::LOOP-PATH-PREPOSITION-GROUPS SYSTEM::INSPECT-NUMBER + COMMON-LISP::ATANH SYSTEM::RESTART-TEST-FUNCTION + SYSTEM::S-DATA-INCLUDES SYSTEM::S-DATA-HAS-HOLES + SYSTEM::CONTEXT-VEC FPE::XMM-LOOKUP SYSTEM::S-DATA-RAW + ANSI-LOOP::LOOP-UNIVERSE-KEYWORDS + SYSTEM::RESTART-INTERACTIVE-FUNCTION + ANSI-LOOP::LOOP-UNIVERSE-ITERATION-KEYWORDS + ANSI-LOOP::LOOP-COLLECTOR-NAME ANSI-LOOP::LOOP-PATH-NAMES + ANSI-LOOP::LOOP-MINIMAX-ANSWER-VARIABLE + SYSTEM::S-DATA-INCLUDED SYSTEM::S-DATA-SLOT-DESCRIPTIONS + SYSTEM::S-DATA-OFFSET SLOOP::REPEAT-SLOOP-MACRO + SYSTEM::S-DATA-PRINT-FUNCTION ANSI-LOOP::LOOP-PATH-USER-DATA + COMMON-LISP::FIND-ALL-SYMBOLS COMMON-LISP::FIRST + SYSTEM::GET-BYTE-STREAM-NCHARS SYSTEM::BKPT-FORM + SYSTEM::NODES-FROM-INDEX SYSTEM::INSPECT-SYMBOL + SYSTEM::KNOWN-TYPE-P ANSI-LOOP::LOOP-MINIMAX-TEMP-VARIABLE + SYSTEM::MAKE-DEFPACKAGE-FORM COMMON-LISP::ARRAY-DIMENSIONS + SYSTEM::INSERT-BREAK-POINT SLOOP::PARSE-LOOP + ANSI-LOOP::LOOP-PATH-INCLUSIVE-PERMITTED + ANSI-LOOP::LOOP-UNIVERSE-PATH-KEYWORDS SYSTEM::SHORT-NAME + SYSTEM::CHECK-TRACE-SPEC ANSI-LOOP::DESTRUCTURING-SIZE + SYSTEM::BEST-ARRAY-ELEMENT-TYPE SYSTEM::CONTEXT-HASH + COMMON-LISP::SIXTH SYSTEM::IHS-VISIBLE SYSTEM::INSPECT-ARRAY + COMMON-LISP::BYTE-SIZE ANSI-LOOP::LOOP-COLLECTOR-CLASS + ANSI-LOOP::LOOP-HACK-ITERATION + ANSI-LOOP::LOOP-CONSTRUCT-RETURN SYSTEM::S-DATA-SLOT-POSITION + ANSI-LOOP::LOOP-MINIMAX-FLAG-VARIABLE SYSTEM::INSPECT-STRING + COMMON-LISP::PROVIDE COMMON-LISP::CIS + ANSI-LOOP::LOOP-MINIMAX-OPERATIONS + SYSTEM::BREAK-BACKWARD-SEARCH-STACK + ANSI-LOOP::LOOP-COLLECTOR-DTYPE + SYSTEM::IHS-NOT-INTERPRETED-ENV SYSTEM::SEARCH-STACK + COMMON-LISP::TENTH ANSI-LOOP::LOOP-DO-THEREIS + ANSI-LOOP::LOOP-MAXMIN-COLLECTION + ANSI-LOOP::LOOP-MINIMAX-INFINITY-DATA + ANSI-LOOP::LOOP-MAKE-PSETQ SYSTEM::ADD-TO-HOTLIST + SYSTEM::INSPECT-CONS ANSI-LOOP::LOOP-UNIVERSE-TYPE-SYMBOLS + SYSTEM::INSPECT-VECTOR COMMON-LISP::CONSTANTLY + SYSTEM::REWRITE-RESTART-CASE-CLAUSE SYSTEM::DM-BAD-KEY + SYSTEM::PRINT-SYMBOL-APROPOS SYSTEM::FRS-KIND FPE::ST-LOOKUP + COMMON-LISP::FOURTH SYSTEM::TERMINAL-INTERRUPT + SYSTEM::DM-KEY-NOT-ALLOWED SYSTEM::UNIQUE-ID + SYSTEM::S-DATA-FROZEN SLOOP::POINTER-FOR-COLLECT + SYSTEM::INSPECT-PACKAGE SYSTEM::DBL-EVAL + ANSI-LOOP::LOOP-MINIMAX-TYPE ANSI-LOOP::LOOP-UNIVERSE-ANSI + ANSI-LOOP::LOOP-UNIVERSE-TYPE-KEYWORDS SYSTEM::DWIM + SYSTEM::INSTREAM-STREAM-NAME SLOOP::RETURN-SLOOP-MACRO + SYSTEM::PATCH-SHARP SYSTEM::CONTEXT-P SYSTEM::INFO-GET-FILE + SYSTEM::RESTART-P COMMON-LISP::COSH COMMON-LISP::SINH + SYSTEM::GET-NEXT-VISIBLE-FUN SYSTEM::CHECK-DECLARATIONS + SYSTEM::GET-INSTREAM + ANSI-LOOP::LOOP-CODE-DUPLICATION-THRESHOLD SYSTEM::S-DATA-NAME + ANSI-LOOP::LOOP-UNIVERSE-FOR-KEYWORDS + SYSTEM::S-DATA-DOCUMENTATION SYSTEM::SHOW-BREAK-POINT + COMMON-LISP::ACOS COMMON-LISP::INVOKE-DEBUGGER + SYSTEM::BKPT-FILE-LINE ANSI-LOOP::LOOP-COLLECTOR-DATA + COMMON-LISP::THIRD SYSTEM::S-DATA-CONC-NAME + COMMON-LISP::SIGNUM + ANSI-LOOP::LOOP-UNIVERSE-IMPLICIT-FOR-REQUIRED + SYSTEM::NORMALIZE-TYPE ANSI-LOOP::LOOP-TYPED-INIT + ANSI-LOOP::LOOP-PATH-FUNCTION SYSTEM::INFO-NODE-FROM-POSITION + COMMON-LISP::ASINH SYSTEM::RE-QUOTE-STRING + SLOOP::LOOP-COLLECT-KEYWORD-P SYSTEM::PRINT-FRS + SYSTEM::EVAL-FEATURE ANSI-LOOP::LOOP-COLLECTOR-P + ANSI-LOOP::LOOP-COLLECTOR-HISTORY + ANSI-LOOP::LOOP-LIST-COLLECTION + SYSTEM::BREAK-FORWARD-SEARCH-STACK COMMON-LISP::RESTART-NAME + SLOOP::PARSE-NO-BODY ANSI-LOOP::LOOP-UNIVERSE-P + SYSTEM::NUMBER-OF-DAYS-FROM-1900 SYSTEM::NODE-OFFSET + ANSI-LOOP::LOOP-MINIMAX-P SYSTEM::IHS-FNAME FPE::LOOKUP + SLOOP::LOOP-LET-BINDINGS FPE::GREF COMMON-LISP::PHASE + COMMON-LISP::BYTE-POSITION SYSTEM::INSTREAM-STREAM + ANSI-LOOP::LOOP-PATH-P SYSTEM::SEQTYPE COMMON-LISP::ACOSH + COMMON-LISP::ABS COMMON-LISP::COMPLEMENT + ANSI-LOOP::LOOP-CONSTANTP SYSTEM::WALK-THROUGH + SYSTEM::SETUP-INFO SYSTEM::COMPUTING-ARGS-P + SYSTEM::CONTEXT-SPICE SYSTEM::MAKE-KCL-TOP-RESTART + COMMON-LISP::COMPILER-MACRO-FUNCTION + ANSI-LOOP::LOOP-MAKE-DESETQ SYSTEM::SHOW-ENVIRONMENT + SLOOP::TRANSLATE-NAME SYSTEM::INFO-GET-TAGS + COMMON-LISP::SECOND SYSTEM::RESET-TRACE-DECLARATIONS + SYSTEM::S-DATA-TYPE SYSTEM::FIND-KCL-TOP-RESTART + ANSI-LOOP::MAKE-ANSI-LOOP-UNIVERSE SYSTEM::DO-F + ANSI-LOOP::LOOP-COLLECTOR-TEMPVARS COMMON-LISP::VECTOR-POP)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::*) + SYSTEM::IHS-BACKTRACE SYSTEM::BREAK-NEXT SYSTEM::BREAK-QUIT + SYSTEM::SHOW-BREAK-VARIABLES SYSTEM::BREAK-BDS + COMMON-LISP::MUFFLE-WARNING SYSTEM::BREAK-PREVIOUS + SYSTEM::INFO-ERROR ANSI-LOOP::LOOP-OPTIONAL-TYPE + SYSTEM::DBL-BACKTRACE SYSTEM::BREAK-LOCAL SYSTEM::BREAK-VS + COMMON-LISP::CONTINUE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::FIXNUM) + COMMON-LISP::FIXNUM) + SYSTEM::DBL-WHAT-FRAME FPE::FE-ENABLE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + COMMON-LISP::SUBTYPEP COMMON-LISP::REDUCE SYSTEM::PARSE-BODY + COMMON-LISP::STABLE-SORT COMMON-LISP::SORT + SLOOP::FIND-IN-ORDERED-LIST)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + SYSTEM::VERIFY-KEYWORDS SYSTEM::RESTART-PRINT + ANSI-LOOP::LOOP-GET-COLLECTION-INFO SYSTEM::LIST-MERGE-SORT + SYSTEM::READ-INSPECT-COMMAND SYSTEM::SHARP---READER + SYSTEM::SHARP-+-READER SYSTEM::SHARP-S-READER)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + SYSTEM::PUSH-OPTIONAL-BINDING)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + SYSTEM::PARSE-DEFMACRO-LAMBDA-LIST SYSTEM::PARSE-DEFMACRO)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::*) + SYSTEM::TRACE-CALL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::*) + SYSTEM::MASET)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::FIXNUM) + FPE::REG-LOOKUP SYSTEM::INSTREAM-LINE SYSTEM::THE-START + SYSTEM::S-DATA-LENGTH SYSTEM::S-DATA-SIZE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::FIXNUM) COMMON-LISP::T) + SYSTEM::PUSH-CONTEXT SYSTEM::GET-CONTEXT)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::*) + SYSTEM::BREAK-CURRENT SYSTEM::GCL-TOP-LEVEL + SYSTEM::BREAK-MESSAGE SYSTEM::BREAK-RESUME + ANSI-LOOP::LOOP-DO-FOR SYSTEM::SIMPLE-BACKTRACE + SYSTEM::BREAK-HELP)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::STRING) COMMON-LISP::T) + SYSTEM::COERCE-SLASH-TERMINATED SYSTEM::RESET-SYS-PATHS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + COMMON-LISP::BIT COMMON-LISP::READ-BYTE + COMMON-LISP::CONCATENATE SYSTEM::INFO-SEARCH + COMMON-LISP::ARRAY-IN-BOUNDS-P ANSI-LOOP::LOOP-ERROR + ANSI-LOOP::LOOP-WARN COMMON-LISP::REMOVE-DUPLICATES + SYSTEM::BAD-SEQ-LIMIT SYSTEM::PROCESS-SOME-ARGS + ANSI-LOOP::LOOP-COLLECT-PREPOSITIONAL-PHRASES + SLOOP::LOOP-ADD-TEMPS COMMON-LISP::BIT-NOT COMMON-LISP::SIGNAL + SYSTEM::NTH-STACK-FRAME COMMON-LISP::ARRAY-ROW-MAJOR-INDEX + COMMON-LISP::MAKE-ARRAY SYSTEM::FILE-SEARCH + SYSTEM::LIST-MATCHES COMMON-LISP::FIND-RESTART + SYSTEM::BREAK-LEVEL COMMON-LISP::DELETE-DUPLICATES + SLOOP::ADD-FROM-DATA COMMON-LISP::ERROR COMMON-LISP::WARN + SYSTEM::FILE-TO-STRING + COMMON-LISP::UPGRADED-ARRAY-ELEMENT-TYPE COMMON-LISP::SBIT)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + SYSTEM::FIND-DOC SYSTEM::RESTART-REPORT + ANSI-LOOP::ESTIMATE-CODE-SIZE-1 SYSTEM::NEWLINE + ANSI-LOOP::ESTIMATE-CODE-SIZE SYSTEM::NEW-SEMI-COLON-READER)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) + (COMMON-LISP::VALUES COMMON-LISP::T COMMON-LISP::T)) + SYSTEM::MAKE-KEYWORD)) +(COMMON-LISP::MAPC + (COMMON-LISP::LAMBDA (COMPILER::X) + (COMMON-LISP::SETF + (COMMON-LISP::GET COMPILER::X 'SYSTEM::PROCLAIMED-CLOSURE) + COMMON-LISP::T)) + '(SYSTEM::SI-CLASS-PRECEDENCE-LIST SYSTEM::SI-CLASSP + SYSTEM::SIMPLE-CONDITION-CLASS-P SYSTEM::UNTRACE-ONE + SYSTEM::CONDITIONP SYSTEM::CONDITION-CLASS-P + SYSTEM::MAKE-ACCESS-FUNCTION SYSTEM::SI-CLASS-NAME + SYSTEM::AUTOLOAD-MACRO SYSTEM::AUTOLOAD SYSTEM::SI-CLASS-OF + SYSTEM::WARNINGP SYSTEM::DEFINE-STRUCTURE + FPE::BREAK-ON-FLOATING-POINT-EXCEPTIONS SYSTEM::SI-FIND-CLASS + SYSTEM::TRACE-ONE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::FIXNUM COMMON-LISP::FIXNUM + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + SYSTEM::QUICK-SORT)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::FIXNUM COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::T) + SYSTEM::BIGNTHCDR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + ANSI-LOOP::LOOP-MAKE-ITERATION-VARIABLE ANSI-LOOP::LOOP-FOR-IN + SYSTEM::DEFMACRO* SYSTEM::APPLY-DISPLAY-FUN + SYSTEM::WARN-VERSION ANSI-LOOP::HIDE-VARIABLE-REFERENCE + SYSTEM::SHARP-U-READER ANSI-LOOP::LOOP-FOR-ACROSS + SYSTEM::DM-VL SYSTEM::GET-SLOT-POS + SYSTEM::RESTART-CASE-EXPRESSION-CONDITION + SYSTEM::CHECK-TRACE-ARGS ANSI-LOOP::LOOP-FOR-ON FPE::REF + ANSI-LOOP::PRINT-LOOP-UNIVERSE ANSI-LOOP::LOOP-ANSI-FOR-EQUALS + SYSTEM::SETF-EXPAND-1 ANSI-LOOP::LOOP-SUM-COLLECTION + ANSI-LOOP::LOOP-STANDARD-EXPANSION SYSTEM::MAKE-T-TYPE + COMMON-LISP::DEPOSIT-FIELD SYSTEM::MAKE-BREAK-POINT + ANSI-LOOP::LOOP-FOR-BEING ANSI-LOOP::LOOP-TRANSLATE + SYSTEM::SHARP-A-READER COMMON-LISP::DPB + SYSTEM::FLOATING-POINT-ERROR SYSTEM::CHECK-S-DATA + SLOOP::LOOP-PARSE-ADDITIONAL-COLLECTIONS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::T) + SLOOP::FIRST-USE-SLOOP-FOR SYSTEM::COERCE-TO-CONDITION + SLOOP::FIRST-SLOOP-FOR ANSI-LOOP::LOOP-FOR-ARITHMETIC + SYSTEM::MAYBE-BREAK SYSTEM::SETF-STRUCTURE-ACCESS + SYSTEM::CALL-TEST SYSTEM::FIND-LINE-IN-FUN)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + COMMON-LISP::COUNT-IF COMMON-LISP::BIT-ANDC2 + COMMON-LISP::REMOVE SYSTEM::INTERNAL-COUNT-IF + SLOOP::LOOP-ADD-BINDING COMMON-LISP::MAP-INTO + COMMON-LISP::FIND-IF COMMON-LISP::NSET-DIFFERENCE + COMMON-LISP::UNION COMMON-LISP::NUNION + COMMON-LISP::MAKE-SEQUENCE COMMON-LISP::NOTANY + COMMON-LISP::POSITION COMMON-LISP::DELETE-IF + COMMON-LISP::BIT-ORC2 COMMON-LISP::REPLACE COMMON-LISP::DELETE + SYSTEM::BREAK-CALL COMMON-LISP::NINTERSECTION + COMMON-LISP::POSITION-IF SYSTEM::FIND-IHS COMMON-LISP::BIT-AND + COMMON-LISP::DELETE-IF-NOT ANSI-LOOP::LOOP-CHECK-DATA-TYPE + COMMON-LISP::REMOVE-IF COMMON-LISP::READ-SEQUENCE + SLOOP::PARSE-LOOP-MACRO COMMON-LISP::BIT-NAND + SYSTEM::INTERNAL-COUNT-IF-NOT COMMON-LISP::SUBSETP + COMMON-LISP::VECTOR-PUSH-EXTEND COMMON-LISP::EVERY + COMMON-LISP::SOME COMMON-LISP::WRITE-SEQUENCE + COMMON-LISP::MISMATCH COMMON-LISP::SET-EXCLUSIVE-OR + COMMON-LISP::REMOVE-IF-NOT COMMON-LISP::BIT-NOR + COMMON-LISP::BIT-XOR COMMON-LISP::BIT-EQV COMMON-LISP::SEARCH + COMMON-LISP::SET-DIFFERENCE COMMON-LISP::FILL + COMMON-LISP::CERROR COMMON-LISP::ADJUST-ARRAY + COMMON-LISP::BIT-ORC1 SYSTEM::INTERNAL-COUNT + COMMON-LISP::TYPEP SYSTEM::PROCESS-ERROR + COMMON-LISP::COUNT-IF-NOT COMMON-LISP::INTERSECTION + SLOOP::IN-ARRAY-SLOOP-FOR COMMON-LISP::FIND-IF-NOT + COMMON-LISP::BIT-ANDC1 COMMON-LISP::POSITION-IF-NOT + COMMON-LISP::NOTEVERY COMMON-LISP::NSET-EXCLUSIVE-OR + COMMON-LISP::FIND COMMON-LISP::COUNT COMMON-LISP::BIT-IOR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + SYSTEM::PUSH-SUB-LIST-BINDING SYSTEM::DO-ARG-COUNT-ERROR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::T) + ANSI-LOOP::ADD-LOOP-PATH COMMON-LISP::MAP + ANSI-LOOP::LOOP-HASH-TABLE-ITERATION-PATH + ANSI-LOOP::LOOP-PACKAGE-SYMBOLS-ITERATION-PATH + COMMON-LISP::SUBSTITUTE COMMON-LISP::NSUBSTITUTE + COMMON-LISP::NSUBSTITUTE-IF-NOT ANSI-LOOP::LOOP-MAKE-VARIABLE + COMMON-LISP::SUBSTITUTE-IF-NOT + ANSI-LOOP::LOOP-SEQUENCE-ELEMENTS-PATH + SYSTEM::PUSH-LET-BINDING COMMON-LISP::SUBSTITUTE-IF + SYSTEM::CHECK-TYPE-SYMBOL SLOOP::LOOP-DECLARE-BINDING + SYSTEM::COMPLETE-PROP COMMON-LISP::NSUBSTITUTE-IF)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + SYSTEM::MAKE-PREDICATE SYSTEM::DO-BREAK-LEVEL + SYSTEM::MAKE-CONSTRUCTOR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + SYSTEM::UNIVERSAL-ERROR-HANDLER)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::FIXNUM) + COMMON-LISP::T) + SYSTEM::SHARP-SHARP-READER SYSTEM::SHARP-EQ-READER)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + SLOOP::DEF-LOOP-INTERNAL SYSTEM::PRINT-STACK-FRAME + COMMON-LISP::MERGE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::T) + COMMON-LISP::ENCODE-UNIVERSAL-TIME)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::T) + ANSI-LOOP::LOOP-SEQUENCER)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::STRING COMMON-LISP::FIXNUM) + COMMON-LISP::FIXNUM) + SYSTEM::ATOI)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::T) + SYSTEM::DESCRIBE-ENVIRONMENT SYSTEM::STEP-NEXT + COMMON-LISP::BREAK COMMON-LISP::ABORT SYSTEM::MAKE-S-DATA + ANSI-LOOP::MAKE-LOOP-COLLECTOR SLOOP::PARSE-LOOP-DECLARE + ANSI-LOOP::LOOP-GENTEMP SYSTEM::MAKE-INSTREAM + SYSTEM::MAYBE-CLEAR-INPUT + ANSI-LOOP::MAKE-LOOP-MINIMAX-INTERNAL COMMON-LISP::Y-OR-N-P + SYSTEM::CURRENT-STEP-FUN ANSI-LOOP::LOOP-DISALLOW-CONDITIONAL + COMMON-LISP::DRIBBLE SYSTEM::MAKE-RESTART + SLOOP::PARSE-LOOP-WITH SYSTEM::LOC COMMON-LISP::YES-OR-NO-P + SYSTEM::TRANSFORM-KEYWORDS SYSTEM::MAKE-CONTEXT + COMMON-LISP::COMPUTE-RESTARTS SYSTEM::DBL-READ + SYSTEM::STEP-INTO ANSI-LOOP::MAKE-LOOP-UNIVERSE + SYSTEM::BREAK-LOCALS ANSI-LOOP::MAKE-STANDARD-LOOP-UNIVERSE + COMMON-LISP::VECTOR ANSI-LOOP::MAKE-LOOP-PATH)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::*) + ANSI-LOOP::LOOP-LIST-STEP SYSTEM::INSPECT-OBJECT + COMMON-LISP::DESCRIBE ANSI-LOOP::LOOP-OPTIMIZATION-QUANTITIES + SYSTEM::BREAK-GO SYSTEM::GET-&ENVIRONMENT + COMMON-LISP::PRINC-TO-STRING SYSTEM::WAITING + SYSTEM::INSTREAM-NAME ANSI-LOOP::NAMED-VARIABLE + COMMON-LISP::PRIN1-TO-STRING SYSTEM::INFO-SUBFILE + COMMON-LISP::INSPECT SYSTEM::END-WAITING + SYSTEM::FIND-DECLARATIONS + COMMON-LISP::INVOKE-RESTART-INTERACTIVELY + SYSTEM::BREAK-LEVEL-INVOKE-RESTART SYSTEM::ALOAD)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + ANSI-LOOP::MAKE-LOOP-MINIMAX COMMON-LISP::LDB + SYSTEM::LIST-DELQ FPE::RF SLOOP::L-EQUAL + ANSI-LOOP::LOOP-DECLARE-VARIABLE SYSTEM::DISPLAY-COMPILED-ENV + SYSTEM::SET-BACK ANSI-LOOP::HIDE-VARIABLE-REFERENCES + SYSTEM::GET-LINE-OF-FORM SYSTEM::BREAK-STEP-INTO + SLOOP::THE-TYPE SLOOP::COUNT-SLOOP-COLLECT + SYSTEM::KEYWORD-SUPPLIED-P COMMON-LISP::LOGANDC2 + ANSI-LOOP::LOOP-MAYBE-BIND-FORM SYSTEM::SET-DIR + SYSTEM::COERCE-TO-STRING COMMON-LISP::VECTOR-PUSH + SYSTEM::DM-NTH-CDR SLOOP::IN-FRINGE-SLOOP-MAP + SLOOP::MAXIMIZE-SLOOP-COLLECT SYSTEM::ADD-FILE + SYSTEM::ALL-MATCHES SYSTEM::DM-NTH + SLOOP::IN-CAREFULLY-SLOOP-FOR SYSTEM::PARSE-SLOT-DESCRIPTION + ANSI-LOOP::LOOP-LOOKUP-KEYWORD FPE::0-READER + ANSI-LOOP::LOOP-TMEMBER COMPILER::COMPILER-DEF-HOOK + SYSTEM::INFO-AUX COMMON-LISP::NTH SYSTEM::QUOTATION-READER + SYSTEM::CHECK-SEQ-START-END COMMON-LISP::LOGNAND + SYSTEM::SUBSTRINGP COMMON-LISP::LOGORC2 + ANSI-LOOP::LOOP-NOTE-MINIMAX-OPERATION SYSTEM::SAFE-EVAL + ANSI-LOOP::LOOP-DO-IF SLOOP::THEREIS-SLOOP-COLLECT + SYSTEM::MATCH-DIMENSIONS SYSTEM::GET-MATCH + SYSTEM::SUB-INTERVAL-P FPE::PAREN-READER + SLOOP::IN-TABLE-SLOOP-MAP COMMON-LISP::LOGTEST + SLOOP::LOGXOR-SLOOP-COLLECT SYSTEM::DM-V + SYSTEM::GET-INFO-CHOICES SLOOP::COLLATE-SLOOP-COLLECT + SYSTEM::BREAK-STEP-NEXT ANSI-LOOP::LOOP-TEQUAL + COMMON-LISP::WRITE-BYTE COMMON-LISP::NTHCDR + SYSTEM::SETF-HELPER SLOOP::NEVER-SLOOP-COLLECT SLOOP::DESETQ1 + ANSI-LOOP::LOOP-DO-WHILE COMMON-LISP::DOCUMENTATION + FPE::%-READER SYSTEM::IN-INTERVAL-P SLOOP::SUM-SLOOP-COLLECT + SYSTEM::OBJLT COMMON-LISP::LDB-TEST SLOOP::PARSE-LOOP-MAP + SYSTEM::GET-NODES SLOOP::MAKE-VALUE SYSTEM::CONDITION-PASS + SLOOP::IN-PACKAGE-SLOOP-MAP SYSTEM::INCREMENT-CURSOR + ANSI-LOOP::LOOP-DO-ALWAYS SYSTEM::DISPLAY-ENV SYSTEM::SUPER-GO + SLOOP::MINIMIZE-SLOOP-COLLECT COMMON-LISP::LOGNOR + COMMON-LISP::LOGANDC1 COMMON-LISP::BYTE SYSTEM::DBL-UP + SYSTEM::ITERATE-OVER-BKPTS COMMON-LISP::LOGORC1 + FPE::READ-OPERANDS SLOOP::ALWAYS-SLOOP-COLLECT + SYSTEM::SETF-EXPAND SYSTEM::OVERWRITE-SLOT-DESCRIPTIONS + SYSTEM::*BREAK-POINTS* SYSTEM::LOOKUP-KEYWORD + ANSI-LOOP::LOOP-TASSOC SYSTEM::LEFT-PARENTHESIS-READER + SLOOP::=-SLOOP-FOR FPE::READ-INSTRUCTION COMMON-LISP::COERCE + SYSTEM::SEQUENCE-CURSOR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + COMMON-LISP::FFLOOR SYSTEM::BREAK-FUNCTION + COMMON-LISP::APROPOS-LIST COMMON-LISP::DECODE-UNIVERSAL-TIME + SYSTEM::STEPPER COMMON-LISP::REQUIRE SYSTEM::APROPOS-DOC + SYSTEM::PRINT-DOC SYSTEM::INFO COMMON-LISP::USE-VALUE + COMMON-LISP::WRITE-TO-STRING COMMON-LISP::FCEILING + SYSTEM::GET-SETF-METHOD + ANSI-LOOP::LOOP-CONSTANT-FOLD-IF-POSSIBLE SYSTEM::NLOAD + COMMON-LISP::ENSURE-DIRECTORIES-EXIST + COMMON-LISP::WILD-PATHNAME-P COMMON-LISP::FTRUNCATE + COMMON-LISP::FROUND SYSTEM::PARSE-BODY-HEADER + COMMON-LISP::INVOKE-RESTART SYSTEM::SHOW-INFO + COMMON-LISP::READ-FROM-STRING + SYSTEM::GET-SETF-METHOD-MULTIPLE-VALUE COMMON-LISP::APROPOS + COMMON-LISP::STORE-VALUE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::T) + ANSI-LOOP::LOOP-DO-WITH SYSTEM::WINE-TMP-REDIRECT + SLOOP::PARSE-ONE-WHEN-CLAUSE COMMON-LISP::TYPE-ERROR + SYSTEM::INSPECT-INDENT SYSTEM::SET-CURRENT SYSTEM::TEST-ERROR + SLOOP::LOOP-POP ANSI-LOOP::LOOP-DO-REPEAT + ANSI-LOOP::LOOP-GET-PROGN SYSTEM::DM-TOO-FEW-ARGUMENTS + ANSI-LOOP::LOOP-CONTEXT SYSTEM::READ-EVALUATED-FORM + SYSTEM::ALL-TRACE-DECLARATIONS + COMMON-LISP::LISP-IMPLEMENTATION-VERSION + SYSTEM::DEFAULT-SYSTEM-BANNER ANSI-LOOP::LOOP-DO-RETURN + SYSTEM::INSPECT-INDENT-1 SYSTEM::STEP-READ-LINE + SYSTEM::SET-ENV SYSTEM::DM-TOO-MANY-ARGUMENTS + ANSI-LOOP::LOOP-BIND-BLOCK SLOOP::PARSE-LOOP1 + ANSI-LOOP::LOOP-DO-NAMED SLOOP::PARSE-LOOP-COLLECT + SYSTEM::KCL-TOP-RESTARTS SYSTEM::INSPECT-READ-LINE + SYSTEM::SET-UP-TOP-LEVEL SYSTEM::SHOW-RESTARTS SYSTEM::DBL + SLOOP::PARSE-LOOP-FOR ANSI-LOOP::LOOP-ITERATION-DRIVER + ANSI-LOOP::LOOP-WHEN-IT-VARIABLE ANSI-LOOP::LOOP-DO-DO + SYSTEM::DEFAULT-INFO-HOTLIST SYSTEM::GET-TEMP-DIR + ANSI-LOOP::LOOP-POP-SOURCE SLOOP::LOOP-UN-POP + SYSTEM::TOP-LEVEL ANSI-LOOP::LOOP-DO-FINALLY + ANSI-LOOP::LOOP-DO-INITIALLY SYSTEM::GET-INDEX-NODE + SYSTEM::SETUP-LINEINFO SLOOP::PARSE-LOOP-WHEN SYSTEM::CLEANUP + ANSI-LOOP::LOOP-GET-FORM SLOOP::PARSE-LOOP-DO + SYSTEM::INIT-BREAK-POINTS SLOOP::LOOP-PEEK + SYSTEM::GET-SIG-FN-NAME SYSTEM::ILLEGAL-BOA)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::FIXNUM COMMON-LISP::T) + COMMON-LISP::T) + SYSTEM::SMALLNTHCDR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::FIXNUM) + SYSTEM::THE-END ANSI-LOOP::DUPLICATABLE-CODE-P + SYSTEM::RELATIVE-LINE SYSTEM::GET-NODE-INDEX)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::FIXNUM COMMON-LISP::FIXNUM) + COMMON-LISP::FIXNUM) + SYSTEM::ROUND-UP)) \ No newline at end of file --- gcl-2.6.12.orig/o/alloc.c +++ gcl-2.6.12/o/alloc.c @@ -68,7 +68,7 @@ sbrk1(n) long starting_hole_div=10; long starting_relb_heap_mult=2; long new_holepage; -long resv_pages=40; +long resv_pages=0; #ifdef BSD #include @@ -186,14 +186,45 @@ int reserve_pages_for_signal_handler=30; If not in_signal_handler then try to keep a minimum of reserve_pages_for_signal_handler pages on hand in the hole */ + +inline void +empty_relblock(void) { + + object o=sSAleaf_collection_thresholdA->s.s_dbind; + + sSAleaf_collection_thresholdA->s.s_dbind=make_fixnum(0); + for (;rb_pointer!=rb_start&&rb_pointer!=rb_end;) + GBC(t_relocatable); + sSAleaf_collection_thresholdA->s.s_dbind=o; + +} + +inline void +resize_hole(ufixnum hp,enum type tp) { + + char *new_start=heap_end+hp*PAGESIZE; + char *start=rb_pointer=start) || (new_start=start+size)) { + fprintf(stderr,"Toggling relblock when resizing hole to %lu\n",hp); + fflush(stderr); + tm_table[t_relocatable].tm_adjgbccnt--; + GBC(t_relocatable); + return resize_hole(hp,tp); + } + + holepage=hp; + tm_of(tp)->tm_adjgbccnt--; + GBC(tp); + +} + inline void * alloc_page(long n) { - void *e=heap_end; fixnum d,m; -#ifdef SGC - int in_sgc=sgc_enabled; -#endif + if (n>=0) { if (n>(holepage - (in_signal_handler? 0 : @@ -215,25 +246,8 @@ eg to add 20 more do (si::set-hole-size d=d<0 ? 0 : d; d=new_holepagetm_type==t_relocatable,j=tm->tm_maxpage,z=(n-j)*(r ? 2 : 1); if (z>available_pages) return 0; - if (r && 2*n+page(REAL_RB_START)>real_maxpage) return 0; + if (r && 2*n+page(rb_start)>real_maxpage) return 0; available_pages-=z; - tm->tm_adjgbccnt*=((double)j)/n; + tm->tm_adjgbccnt*=((double)j+1)/(n+1); tm->tm_maxpage=n; - return n; + /* massert(!check_avail_pages()); */ + return 1; } @@ -317,8 +355,11 @@ add_page_to_freelist(char *p, struct typ if (sgc_enabled && tm->tm_sgc) pp->sgc_flags=SGC_PAGE_FLAG; + +#ifndef SGC_WHOLE_PAGE if (TYPEWORD_TYPE_P(pp->type)) x->d.s=(sgc_enabled && tm->tm_sgc) ? SGC_RECENT : SGC_NORMAL; +#endif /* array headers must be always writable, since a write to the body does not touch the header. It may be desirable if there @@ -410,17 +451,61 @@ grow_linear(fixnum old, fixnum fract, fi DEFVAR("*OPTIMIZE-MAXIMUM-PAGES*",sSAoptimize_maximum_pagesA,SI,sLnil,""); #define OPTIMIZE_MAX_PAGES (sSAoptimize_maximum_pagesA ==0 || sSAoptimize_maximum_pagesA->s.s_dbind !=sLnil) DEFVAR("*NOTIFY-OPTIMIZE-MAXIMUM-PAGES*",sSAnotify_optimize_maximum_pagesA,SI,sLnil,""); -#define MMAX_PG(a_) (a_)->tm_maxpage +#define MMAX_PG(a_) (a_)->tm_maxpage-(a_)->tm_alt_npage + +static int +rebalance_maxpages(struct typemanager *my_tm,fixnum z) { + + fixnum d; + ufixnum i,j; + + + d=(z-my_tm->tm_maxpage)*(my_tm->tm_type==t_relocatable ? 2 : 1); + j=sum_maxpages(); + + if (j+d>phys_pages) { + + ufixnum k=0; + + for (i=t_start;ik+phys_pages-j ? k+phys_pages-j : d; + if (d<=0) + return 0; + + for (i=t_start;i((double)phys_pages/(j+d))*(tm_table+i==my_tm ? z : tm_table[i].tm_maxpage)) */ + /* return 0; */ + /* for (i=t_start;i0 && page(heap_end)-first_data_page+nrbpage>=phys_pages) - return 0; + long mro=0,tro=0,j; if (page(core_end)>0.8*real_maxpage) return 0; @@ -437,22 +522,27 @@ opt_maxpage(struct typemanager *my_tm) { } #endif - z=my_tm->tm_adjgbccnt-1; + z=my_tm->tm_adjgbccnt/* -1 */; z/=(1+x-0.9*my_tm->tm_adjgbccnt); z*=(y-mmax_page)*mmax_page; z=sqrt(z); z=z-mmax_page>available_pages ? mmax_page+available_pages : z; - my_tm->tm_opt_maxpage=(long)z>my_tm->tm_opt_maxpage ? (long)z : my_tm->tm_opt_maxpage; + my_tm->tm_opt_maxpage=(long)(z+my_tm->tm_alt_npage)>my_tm->tm_opt_maxpage ? (long)(z+my_tm->tm_alt_npage) : my_tm->tm_opt_maxpage; if (z<=mmax_page) return 0; r=((x-my_tm->tm_adjgbccnt)+ my_tm->tm_adjgbccnt*mmax_page/z)*(y-mmax_page+z); r/=x*y; + + j=r<=0.95 && rebalance_maxpages(my_tm,z+mro+my_tm->tm_alt_npage); + if (sSAnotify_optimize_maximum_pagesA->s.s_dbind!=sLnil) - printf("[type %u max %lu(%lu) opt %lu y %lu(%lu) gbcrat %f sav %f]\n", - my_tm->tm_type,mmax_page,mro,(long)z,(long)y,tro,(my_tm->tm_adjgbccnt-1)/(1+x-0.9*my_tm->tm_adjgbccnt),r); - return r<=0.95 && set_tm_maxpage(my_tm,z+mro) ? 1 : 0; + printf("[type %u max %lu(%lu) opt %lu y %lu(%lu) gbcrat %f sav %f new %lu sum %lu phys %lu]\n", + my_tm->tm_type,mmax_page,mro,(long)z,(long)y,tro,(my_tm->tm_adjgbccnt/* -1 */)/(1+x-0.9*my_tm->tm_adjgbccnt),r, + my_tm->tm_maxpage,sum_maxpages(),phys_pages); + + return j ? 1 : 0; } @@ -483,41 +573,200 @@ Use ALLOCATE to expand the space.", #else #define TOTAL_THIS_TYPE(tm) (tm->tm_nppage * tm->tm_npage) #endif -bool prefer_low_mem_contblock=FALSE; + +static object cbv=Cnil; +#define cbsrch1 ((struct contblock ***)cbv->v.v_self) +#define cbsrche (cbsrch1+cbv->v.v_fillp) + +static inline void +expand_contblock_index_space(void) { + + if (cbv==Cnil) { + cbv=(VFUN_NARGS=4,fSmake_vector1(make_fixnum(16),make_fixnum(aet_fix),Cnil,make_fixnum(0))); + cbv->v.v_self[0]=(object)&cb_pointer; + enter_mark_origin(&cbv); + } + + if (cbv->v.v_fillp+1==cbv->v.v_dim) { + + void *v=alloc_relblock(2*cbv->v.v_dim*sizeof(fixnum)); + + memcpy(v,cbv->v.v_self,cbv->v.v_dim*sizeof(fixnum)); + cbv->v.v_self=v; + cbv->v.v_dim*=2; + + } + +} + +static inline void * +expand_contblock_index(struct contblock ***cbppp) { + + ufixnum i=cbppp-cbsrch1; + + expand_contblock_index_space(); + + cbppp=cbsrch1+i; + memmove(cbppp+1,cbppp,(cbsrche-cbppp+1)*sizeof(*cbppp)); + cbv->v.v_fillp++; + + return cbppp; + +} + +static inline void +contract_contblock_index(struct contblock ***cbppp) { + + memmove(cbppp+1,cbppp+2,(cbsrche-cbppp-1)*sizeof(*cbppp)); + cbv->v.v_fillp--; + +} + +static inline int +cbcomp(const void *v1,const void *v2) { + + ufixnum u1=(**(struct contblock ** const *)v1)->cb_size; + ufixnum u2=(**(struct contblock ** const *)v2)->cb_size; + + return u1>1; + void *v=v1+nn*s; + int j=c(i,v); + + if (nn) + return !j ? v : (j>0 ? bsearchleq(i,v,n-nn,s,c) : bsearchleq(i,v1,nn,s,c)); + else + return j<=0 ? v : v+s; + +} + + +static inline struct contblock *** +find_cbppp(struct contblock *cbp) { + + struct contblock **cbpp=&cbp; + + return cbsrche==cbsrch1 ? cbsrch1 : bsearchleq(&cbpp,cbsrch1,cbsrche-cbsrch1,sizeof(*cbsrch1),cbcomp); + +} + +static inline struct contblock *** +find_cbppp_by_n(ufixnum n) { + + struct contblock cb={n,NULL}; + + return find_cbppp(&cb); + +} + +static inline struct contblock ** +find_cbpp(struct contblock ***cbppp,ufixnum n) { + + return *cbppp; + +} + + +static inline struct contblock ** +find_contblock(ufixnum n,void **p) { + + *p=find_cbppp_by_n(n); + return find_cbpp(*p,n); +} + +inline void +print_cb(int print) { + + struct contblock *cbp,***cbppp,**cbpp=&cb_pointer; + ufixnum k; + + for (cbp=cb_pointer,cbppp=cbsrch1;cbp;cbppp++) { + massert(cbpppcb_size==(**cbppp)->cb_size;cbpp=&cbp->cb_link,cbp=cbp->cb_link,k++); + if (print) + fprintf(stderr,"%lu %p %p %lu %lu\n",cbppp-cbsrch1,*cbppp,**cbppp,(**cbppp)->cb_size,k); + } + massert(cbppp==cbsrche); + massert(*cbppp==cbpp); + massert(!**cbppp); + + fflush(stderr); + +} + +inline void +insert_contblock(void *p,ufixnum s) { + + struct contblock *cbp=p,**cbpp,***cbppp; + + cbpp=find_contblock(s,(void **)&cbppp); + + cbp->cb_size=s; + cbp->cb_link=*cbpp; + *cbpp=cbp; + + if ((!cbp->cb_link || cbp->cb_link->cb_size!=s)) { + cbppp=expand_contblock_index(cbppp); + cbppp[1]=&cbp->cb_link; + } + +} + +static inline void +delete_contblock(void *p,struct contblock **cbpp) { + + struct contblock ***cbppp=p; + ufixnum s=(*cbpp)->cb_size; + + (*cbpp)=(*cbpp)->cb_link; + + if ((!(*cbpp) || (*cbpp)->cb_size!=s)) + contract_contblock_index(cbppp); + +} + +inline void +reset_contblock_freelist(void) { + + cb_pointer=NULL; + cbv->v.v_fillp=0; + +} inline void * alloc_from_freelist(struct typemanager *tm,fixnum n) { - void *p,*v,*vp; - struct contblock **cbpp; - fixnum i; + void *p; switch (tm->tm_type) { case t_contiguous: - for (cbpp= &cb_pointer,v=(void *)-1,vp=NULL; (*cbpp)!=NULL; cbpp= &(*cbpp)->cb_link) - if ((*cbpp)->cb_size >= n) { - if (!prefer_low_mem_contblock) { - vp=cbpp; - break; - } else if ((void *)(*cbpp)cb_size; + delete_contblock(pp,cbpp); + if (ncb_size-n; - *cbpp=(*cbpp)->cb_link; - --ncb; - insert_contblock(p+n,i); - return(p); + return p; } break; case t_relocatable: - if (rb_limit-rb_pointer>=n) + if (rb_pointer>rb_end && rb_pointer+n>rb_limit && rb_pointer+nn) return ((rb_pointer+=n)-n); break; @@ -554,7 +803,7 @@ too_full_p(struct typemanager *tm) { switch (tm->tm_type) { case t_relocatable: - return 100*(rb_limit-rb_pointer)cb_link) k+=cbp->cb_size; @@ -575,7 +824,7 @@ too_full_p(struct typemanager *tm) { inline void * alloc_after_gc(struct typemanager *tm,fixnum n) { - if (tm->tm_npage+tpage(tm,n)>=tm->tm_maxpage && GBC_enable) { + if (tm->tm_npage+tpage(tm,n)>tm->tm_maxpage && GBC_enable) { switch (jmp_gmp) { case 0: /* not in gmp call*/ @@ -618,11 +867,16 @@ add_pages(struct typemanager *tm,fixnum case t_relocatable: + if (rb_pointer>rb_end) { + fprintf(stderr,"Moving relblock low before expanding relblock pages\n"); + fflush(stderr); + GBC(t_relocatable); + } nrbpage+=m; - rb_end=heap_end+(holepage+nrbpage)*PAGESIZE; - rb_limit=rb_end-2*RB_GETA; + rb_end+=m*PAGESIZE; + rb_limit+=m*PAGESIZE; - alloc_page(-(nrbpage+holepage)); + alloc_page(-(2*nrbpage+holepage)); break; @@ -656,7 +910,7 @@ alloc_after_adding_pages(struct typemana } - m=tm->tm_maxpage-tm->tm_npage; + /* m=tm->tm_maxpage-tm->tm_npage; */ add_pages(tm,m); return alloc_from_freelist(tm,n); @@ -670,15 +924,15 @@ alloc_after_reclaiming_pages(struct type if (tm->tm_type>=t_end) return NULL; - reloc_min=npage(rb_pointer-REAL_RB_START); + reloc_min=npage(rb_pointer-rb_start); if (m<2*(nrbpage-reloc_min)) { set_tm_maxpage(tm_table+t_relocatable,reloc_min); nrbpage=reloc_min; - GBC(t_relocatable); tm_table[t_relocatable].tm_adjgbccnt--; + GBC(t_relocatable); return alloc_after_adding_pages(tm,n); @@ -742,13 +996,31 @@ alloc_object(enum type t) { inline void * alloc_contblock(size_t n) { - return alloc_mem(tm_of(t_contiguous),ROUND_UP_PTR_CONT(n)); + return alloc_mem(tm_of(t_contiguous),CEI(n,CPTR_SIZE)); +} + +inline void * +alloc_contblock_no_gc(size_t n) { + + struct typemanager *tm=tm_of(t_contiguous); + void *p; + + n=CEI(n,CPTR_SIZE); + + if ((p=alloc_from_freelist(tm,n))) + return p; + + if (tpage(tm,n)<(rb_start-heap_end)>>PAGEWIDTH && (p=alloc_after_adding_pages(tm,n))) + return p; + + return NULL; + } inline void * alloc_relblock(size_t n) { - return alloc_mem(tm_of(t_relocatable),ROUND_UP_PTR(n)); + return alloc_mem(tm_of(t_relocatable),CEI(n,PTR_ALIGN)); } @@ -789,7 +1061,7 @@ DEFUNM_NEW("ALLOCATED",object,fSallocate tm = & tm_table[tm->tm_type]; if (tm->tm_type == t_relocatable) { tm->tm_npage = (rb_end-rb_start)/PAGESIZE; - tm->tm_nfree = rb_end -rb_pointer; + tm->tm_nfree = rb_limit -rb_pointer; } else if (tm->tm_type == t_contiguous) { int cbfree =0; @@ -808,45 +1080,6 @@ DEFUNM_NEW("ALLOCATED",object,fSallocate )); } -/* DEFUN_NEW("RESET-NUMBER-USED",object,fSreset_number_used,SI,0,1,NONE,OO,OO,OO,OO,(object typ),"") */ -/* {int i; */ -/* if (VFUN_NARGS == 1) */ -/* { tm_table[t_from_type(typ)].tm_nused = 0;} */ -/* else */ -/* for (i=0; i <= t_relocatable ; i++) */ -/* { tm_table[i].tm_nused = 0;} */ -/* RETURN1(sLnil); */ -/* } */ - -#define IN_CONTBLOCK_P(p,pi) ((void *)p>=(void *)pi && (void *)p<(void *)pi+pi->in_use*PAGESIZE) - -/* SGC cont pages: explicit free calls can come at any time, and we - must make sure to add the newly deallocated block to the right - list. CM 20030827*/ -#ifdef SGC -void -insert_maybe_sgc_contblock(char *p,int s) { - - struct contblock *tmp_cb_pointer; - struct pageinfo *pi; - - for (pi=contblock_list_head;pi && !IN_CONTBLOCK_P(p,pi);pi=pi->next); - massert(pi); - - if (sgc_enabled && ! (pi->sgc_flags&SGC_PAGE_FLAG)) { - tmp_cb_pointer=cb_pointer; - cb_pointer=old_cb_pointer; - sgc_enabled=0; - insert_contblock(p,s); - sgc_enabled=1; - old_cb_pointer=cb_pointer; - cb_pointer=tmp_cb_pointer; - } else - insert_contblock(p,s); - -} -#endif - #ifdef SGC_CONT_DEBUG extern void overlap_check(struct contblock *,struct contblock *); #endif @@ -856,78 +1089,17 @@ DEFUN_NEW("PRINT-FREE-CONTBLOCK-LIST",ob struct contblock *cbp,*cbp1; for (cbp=cb_pointer;cbp;cbp=cbp->cb_link) { - printf("%p %d\n",cbp,cbp->cb_size); + printf("%p %lu\n",cbp,cbp->cb_size); for (cbp1=cbp;cbp1;cbp1=cbp1->cb_link) if ((void *)cbp+cbp->cb_size==(void *)cbp1 || (void *)cbp1+cbp1->cb_size==(void *)cbp) - printf(" adjacent to %p %d\n",cbp1,cbp1->cb_size); + printf(" adjacent to %p %lu\n",cbp1,cbp1->cb_size); } return Cnil; } -void -insert_contblock(char *p, int s) { - - struct contblock **cbpp, *cbp; - - /* SGC cont pages: This used to return when scb_size = ROUND_UP_PTR_CONT(s); - - for (cbpp=&cb_pointer;*cbpp;) { - if ((void *)(*cbpp)+(*cbpp)->cb_size==(void *)cbp) { - /* printf("Merge contblock %p %d %p %d\n",cbp,cbp->cb_size,*cbpp,(*cbpp)->cb_size); */ - /* fflush(stdout); */ - (*cbpp)->cb_size+=cbp->cb_size; - cbp=*cbpp; - *cbpp=(*cbpp)->cb_link; - } else if ((void *)(*cbpp)==(void *)cbp+cbp->cb_size) { - /* printf("Merge contblock %p %d %p %d\n",cbp,cbp->cb_size,*cbpp,(*cbpp)->cb_size); */ - /* fflush(stdout); */ - cbp->cb_size+=(*cbpp)->cb_size; - *cbpp=(*cbpp)->cb_link; - } else - cbpp=&(*cbpp)->cb_link; - } - s=cbp->cb_size; - - for (cbpp = &cb_pointer; *cbpp; cbpp = &((*cbpp)->cb_link)) - if ((*cbpp)->cb_size >= s) { -#ifdef SGC_CONT_DEBUG - if (*cbpp==cbp) { - fprintf(stderr,"Trying to install a circle at %p\n",cbp); - exit(1); - } - if (sgc_enabled) - overlap_check(old_cb_pointer,cb_pointer); -#endif - cbp->cb_link = *cbpp; - *cbpp = cbp; -#ifdef SGC_CONT_DEBUG - if (sgc_enabled) - overlap_check(old_cb_pointer,cb_pointer); -#endif - return; - } - cbp->cb_link = NULL; - *cbpp = cbp; -#ifdef SGC_CONT_DEBUG - if (sgc_enabled) - overlap_check(old_cb_pointer,cb_pointer); -#endif - -} - /* Add a tm_distinct field to prevent page type sharing if desired. Not used now, as its never desirable from an efficiency point of view, and as the only known place one must separate is cons and @@ -961,7 +1133,7 @@ init_tm(enum type t, char *name, int els return; } tm_table[(int)t].tm_type = t; - tm_table[(int)t].tm_size = elsize ? ROUND_UP_PTR(elsize) : 1; + tm_table[(int)t].tm_size = elsize ? CEI(elsize,PTR_ALIGN) : 1; tm_table[(int)t].tm_nppage = (PAGESIZE-sizeof(struct pageinfo))/tm_table[(int)t].tm_size; tm_table[(int)t].tm_free = OBJNULL; tm_table[(int)t].tm_nfree = 0; @@ -1096,13 +1268,19 @@ gcl_init_alloc(void *cs_start) { update_real_maxpage(); - if (gcl_alloc_initialized) return; + if (gcl_alloc_initialized) { + massert(rb_start==heap_end &&rb_end==heap_end && rb_limit==heap_end && rb_pointer==heap_end); + holepage=new_holepage; + alloc_page(-holepage); + rb_start=rb_end=rb_limit=rb_pointer=heap_end+(holepage< sizeof(baby_malloc_data)) { @@ -1642,11 +1821,11 @@ free(void *ptr) { for (p = &malloc_list,pp=*p; pp && !endp(pp); p = &((pp)->c.c_cdr),pp=pp->c.c_cdr) if ((pp)->c.c_car->st.st_self == ptr) { /* SGC contblock pages: Its possible this is on an old page CM 20030827 */ -#ifdef SGC - insert_maybe_sgc_contblock((pp)->c.c_car->st.st_self,(pp)->c.c_car->st.st_dim); -#else - insert_contblock((pp)->c.c_car->st.st_self,(pp)->c.c_car->st.st_dim); -#endif +/* #ifdef SGC */ +/* insert_maybe_sgc_contblock((pp)->c.c_car->st.st_self,(pp)->c.c_car->st.st_dim); */ +/* #else */ +/* insert_contblock((pp)->c.c_car->st.st_self,(pp)->c.c_car->st.st_dim); */ +/* #endif */ (pp)->c.c_car->st.st_self = NULL; *p = pp->c.c_cdr; #ifdef GCL_GPROF @@ -1707,11 +1886,11 @@ realloc(void *ptr, size_t size) { for (i = 0; i < size; i++) x->st.st_self[i] = ((char *)ptr)[i]; /* SGC contblock pages: Its possible this is on an old page CM 20030827 */ -#ifdef SGC - insert_maybe_sgc_contblock(ptr, j); -#else - insert_contblock(ptr, j); -#endif +/* #ifdef SGC */ +/* insert_maybe_sgc_contblock(ptr, j); */ +/* #else */ +/* insert_contblock(ptr, j); */ +/* #endif */ return(x->st.st_self); } } --- gcl-2.6.12.orig/o/array.c +++ gcl-2.6.12/o/array.c @@ -457,15 +457,15 @@ static longfloat DFLT_aet_lf = 0.0; static object Iname_t = sLt; static struct { char * dflt; object *namep;} aet_types[] = { {(char *) &DFLT_aet_object, &Iname_t,}, /* t */ - {(char *) &DFLT_aet_ch, &sLstring_char,},/* string-char */ + {(char *) &DFLT_aet_ch, &sLcharacter,},/* character */ {(char *) &DFLT_aet_fix, &sLbit,}, /* bit */ {(char *) &DFLT_aet_fix, &sLfixnum,}, /* fixnum */ {(char *) &DFLT_aet_sf, &sLshort_float,}, /* short-float */ {(char *) &DFLT_aet_lf, &sLlong_float,}, /* long-float */ - {(char *) &DFLT_aet_char,&sLsigned_char,}, /* signed char */ - {(char *) &DFLT_aet_char,&sLunsigned_char,}, /* unsigned char */ - {(char *) &DFLT_aet_short,&sLsigned_short,}, /* signed short */ - {(char *) &DFLT_aet_short, &sLunsigned_short}, /* unsigned short */ + {(char *) &DFLT_aet_char,&sSsigned_char,}, /* signed char */ + {(char *) &DFLT_aet_char,&sSunsigned_char,}, /* unsigned char */ + {(char *) &DFLT_aet_short,&sSsigned_short,}, /* signed short */ + {(char *) &DFLT_aet_short, &sSunsigned_short}, /* unsigned short */ }; DEFUN_NEW("GET-AELTTYPE",object,fSget_aelttype,SI,1,1,NONE,OO,OO,OO,OO,(object x),"") --- gcl-2.6.12.orig/o/assignment.c +++ gcl-2.6.12/o/assignment.c @@ -172,7 +172,7 @@ DEFUNO_NEW("FSET",object,fSfset,SI sym->s.s_mflag = FALSE; } else if (car(function) == sLspecial) FEerror("Cannot define a special form.", 0); - else if (function->c.c_car == sLmacro) { + else if (function->c.c_car == sSmacro) { sym->s.s_gfdef = function->c.c_cdr; sym->s.s_mflag = TRUE; } else { --- gcl-2.6.12.orig/o/bind.c +++ gcl-2.6.12/o/bind.c @@ -918,8 +918,8 @@ parse_key_new_new(int n, object *base, s /* from here down identical to parse_key_rest */ new = new + n ; {int j=keys->n; - object *p= (object *)(keys->defaults); - while (--j >=0) base[j]=p[j]; + object **p= (object **)(keys->defaults); + while (--j >=0) base[j]=*(p[j]); } {if (n==0){ return 0;} {int allow = keys->allow_other_keys; @@ -939,7 +939,7 @@ parse_key_new_new(int n, object *base, s new = new -2; k = *new; while(--i >= 0) - {if ((*(ke++)).o == k) + {if (*(*(ke++)).o == k) {base[i]= new[1]; n=n-2; goto top; @@ -1026,8 +1026,7 @@ parse_key_rest_new(object rest, int n, o new = new + n ; {int j=keys->n; - object *p= (object *)(keys->defaults); - while (--j >=0) base[j]=p[j]; + while (--j >=0) base[j]=*keys->defaults[j].o; } {if (n==0){ return 0;} {int allow = keys->allow_other_keys; @@ -1047,7 +1046,7 @@ parse_key_rest_new(object rest, int n, o new = new -2; k = *new; while(--i >= 0) - {if ((*(ke++)).o == k) + {if (*(*(ke++)).o == k) {base[i]= new[1]; n=n-2; goto top; @@ -1066,18 +1065,19 @@ parse_key_rest_new(object rest, int n, o return -1; }}} +static object foo[2]={Cnil,OBJNULL}; void set_key_struct(struct key *ks, object data) {int i=ks->n; while (--i >=0) - {ks->keys[i].o = data->cfd.cfd_self[ ks->keys[i].i ]; + {ks->keys[i].o = data->cfd.cfd_self+ks->keys[i].i; if (ks->defaults != (void *)Cstd_key_defaults) {fixnum m=ks->defaults[i].i; ks->defaults[i].o= - (m==-2 ? Cnil : - m==-1 ? OBJNULL : - data->cfd.cfd_self[m]);} + (m==-2 ? foo : + m==-1 ? foo+1 : + data->cfd.cfd_self+m);} }} #undef AUX --- gcl-2.6.12.orig/o/cfun.c +++ gcl-2.6.12/o/cfun.c @@ -306,6 +306,15 @@ make_special_form_internal(char *s, void return(x); } +object +make_si_special_form_internal(char *s, void (*f)()) +{ + object x; + x = make_si_ordinary(s); + x->s.s_sfdef = f; + return(x); +} + DEFUN_NEW("COMPILED-FUNCTION-NAME",object,fScompiled_function_name,SI ,1,1,NONE,OO,OO,OO,OO,(object fun),"") --- gcl-2.6.12.orig/o/character.d +++ gcl-2.6.12/o/character.d @@ -50,14 +50,6 @@ Foundation, 675 Mass Ave, Cambridge, MA @(return Cnil) @) -@(defun string_char_p (c) -@ - check_type_character(&c); - if (char_font(c) != 0 || char_bits(c) != 0) - @(return Cnil) - @(return Ct) -@) - @(defun alpha_char_p (c) int i; @ @@ -358,18 +350,6 @@ BEGIN: @(return `make_fixnum(char_code(c))`) @) -@(defun char_bits (c) -@ - check_type_character(&c); - @(return `small_fixnum(char_bits(c))`) -@) - -@(defun char_font (c) -@ - check_type_character(&c); - @(return `small_fixnum(char_font(c))`) -@) - @(defun code_char (c &o (b `make_fixnum(0)`) (f `make_fixnum(0)`)) object x; @ @@ -393,29 +373,6 @@ BEGIN: @(return x) @) -@(defun make_char (c &o (b `make_fixnum(0)`) (f `make_fixnum(0)`)) - object x; - int code; -@ - check_type_character(&c); - code = char_code(c); - check_type_non_negative_integer(&b); - check_type_non_negative_integer(&f); - if (type_of(b) == t_bignum) - @(return Cnil) - if (type_of(f) == t_bignum) - @(return Cnil) - if (fix(b)>=CHBITSLIM || fix(f)>=CHFONTLIM) - @(return Cnil) - if (fix(b) == 0 && fix(f) == 0) - @(return `code_char(code)`) - x = alloc_object(t_character); - char_code(x) = code; - char_bits(x) = fix(b); - char_font(x) = fix(f); - @(return x) -@) - @(defun char_upcase (c) @ check_type_character(&c); @@ -489,30 +446,6 @@ int w, r; @(return `make_fixnum(i)`) @) -@(defun int_char (x) - int i, c, b, f; -@ - check_type_non_negative_integer(&x); - if (type_of(x) == t_bignum) - @(return Cnil) - i = fix(x); - c = i % CHCODELIM; - i /= CHCODELIM; - b = i % CHBITSLIM; - i /= CHBITSLIM; - f = i % CHFONTLIM; - i /= CHFONTLIM; - if (i > 0) - @(return Cnil) - if (b == 0 && f == 0) - @(return `code_char(c)`) - x = alloc_object(t_character); - char_code(x) = c; - char_bits(x) = b; - char_font(x) = f; - @(return x) -@) - @(defun char_name (c) @ check_type_character(&c); @@ -563,18 +496,6 @@ int w, r; @(return Cnil) @) -@(defun char_bit (c n) -@ - check_type_character(&c); - FEerror("Cannot get char-bit of ~S.", 1, c); -@) - -@(defun set_char_bit (c n v) -@ - check_type_character(&c); - FEerror("Cannot set char-bit of ~S.", 1, c); -@) - void gcl_init_character() { @@ -599,8 +520,8 @@ gcl_init_character() #endif make_constant("CHAR-CODE-LIMIT", make_fixnum(CHCODELIM)); - make_constant("CHAR-FONT-LIMIT", make_fixnum(CHFONTLIM)); - make_constant("CHAR-BITS-LIMIT", make_fixnum(CHBITSLIM)); + make_si_constant("CHAR-FONT-LIMIT", make_fixnum(CHFONTLIM)); + make_si_constant("CHAR-BITS-LIMIT", make_fixnum(CHBITSLIM)); STreturn = make_simple_string("Return"); enter_mark_origin(&STreturn); @@ -620,18 +541,97 @@ gcl_init_character() STnewline = make_simple_string("Newline"); enter_mark_origin(&STnewline); - make_constant("CHAR-CONTROL-BIT", make_fixnum(0)); - make_constant("CHAR-META-BIT", make_fixnum(0)); - make_constant("CHAR-SUPER-BIT", make_fixnum(0)); - make_constant("CHAR-HYPER-BIT", make_fixnum(0)); + make_si_constant("CHAR-CONTROL-BIT", make_fixnum(0)); + make_si_constant("CHAR-META-BIT", make_fixnum(0)); + make_si_constant("CHAR-SUPER-BIT", make_fixnum(0)); + make_si_constant("CHAR-HYPER-BIT", make_fixnum(0)); + } +@(defun make_char (c &o (b `make_fixnum(0)`) (f `make_fixnum(0)`)) + object x; + int code; +@ + check_type_character(&c); + code = char_code(c); + check_type_non_negative_integer(&b); + check_type_non_negative_integer(&f); + if (type_of(b) == t_bignum) + @(return Cnil) + if (type_of(f) == t_bignum) + @(return Cnil) + if (fix(b)>=CHBITSLIM || fix(f)>=CHFONTLIM) + @(return Cnil) + if (fix(b) == 0 && fix(f) == 0) + @(return `code_char(code)`) + x = alloc_object(t_character); + char_code(x) = code; + char_bits(x) = fix(b); + char_font(x) = fix(f); + @(return x) +@) + +@(defun char_bits (c) +@ + check_type_character(&c); + @(return `small_fixnum(char_bits(c))`) +@) + +@(defun char_font (c) +@ + check_type_character(&c); + @(return `small_fixnum(char_font(c))`) +@) + +@(defun char_bit (c n) +@ + check_type_character(&c); + FEerror("Cannot get char-bit of ~S.", 1, c); +@) + +@(defun set_char_bit (c n v) +@ + check_type_character(&c); + FEerror("Cannot set char-bit of ~S.", 1, c); +@) + +@(defun string_char_p (c) +@ + check_type_character(&c); + if (char_font(c) != 0 || char_bits(c) != 0) + @(return Cnil) + @(return Ct) +@) + +@(defun int_char (x) + int i, c, b, f; +@ + check_type_non_negative_integer(&x); + if (type_of(x) == t_bignum) + @(return Cnil) + i = fix(x); + c = i % CHCODELIM; + i /= CHCODELIM; + b = i % CHBITSLIM; + i /= CHBITSLIM; + f = i % CHFONTLIM; + i /= CHFONTLIM; + if (i > 0) + @(return Cnil) + if (b == 0 && f == 0) + @(return `code_char(c)`) + x = alloc_object(t_character); + char_code(x) = c; + char_bits(x) = b; + char_font(x) = f; + @(return x) +@) + void gcl_init_character_function() { make_function("STANDARD-CHAR-P", Lstandard_char_p); make_function("GRAPHIC-CHAR-P", Lgraphic_char_p); - make_function("STRING-CHAR-P", Lstring_char_p); make_function("ALPHA-CHAR-P", Lalpha_char_p); make_function("UPPER-CASE-P", Lupper_case_p); make_function("LOWER-CASE-P", Llower_case_p); @@ -652,17 +652,18 @@ gcl_init_character_function() make_function("CHAR-NOT-LESSP", Lchar_not_lessp); make_function("CHARACTER", Lcharacter); make_function("CHAR-CODE", Lchar_code); - make_function("CHAR-BITS", Lchar_bits); - make_function("CHAR-FONT", Lchar_font); make_function("CODE-CHAR", Lcode_char); - make_function("MAKE-CHAR", Lmake_char); make_function("CHAR-UPCASE", Lchar_upcase); make_function("CHAR-DOWNCASE", Lchar_downcase); make_function("DIGIT-CHAR", Ldigit_char); make_function("CHAR-INT", Lchar_int); - make_function("INT-CHAR", Lint_char); make_function("CHAR-NAME", Lchar_name); make_function("NAME-CHAR", Lname_char); - make_function("CHAR-BIT", Lchar_bit); - make_function("SET-CHAR-BIT", Lset_char_bit); + make_si_function("INT-CHAR", Lint_char); + make_si_function("MAKE-CHAR", Lmake_char); + make_si_function("CHAR-BITS", Lchar_bits); + make_si_function("CHAR-FONT", Lchar_font); + make_si_function("CHAR-BIT", Lchar_bit); + make_si_function("SET-CHAR-BIT", Lset_char_bit); + make_si_function("STRING-CHAR-P", Lstring_char_p); } --- gcl-2.6.12.orig/o/cmpaux.c +++ gcl-2.6.12/o/cmpaux.c @@ -48,7 +48,7 @@ DEFUNO_NEW("SPECIALP",object,fSspecialp, RETURN1(sym); } -DEF_ORDINARY("DEBUG",sSdebug,SI,""); +DEF_ORDINARY("DEBUGGER",sSdebugger,SI,""); DEFUN_NEW("DEFVAR1",object,fSdefvar1,SI ,2,3,NONE,OO,OO,OO,OO,(object sym,object val,...),"") @@ -71,10 +71,10 @@ DEFUN_NEW("DEFVAR1",object,fSdefvar1,SI } -DEFUN_NEW("DEBUG",object,fSdebug,SI +DEFUN_NEW("DEBUG",object,fLdebug,LISP ,2,2,NONE,OO,OO,OO,OO,(object sym,object val),"") { /* 2 args */ - putprop(sym,val,sSdebug); + putprop(sym,val,sSdebugger); RETURN1(sym); } --- gcl-2.6.12.orig/o/error.c +++ gcl-2.6.12/o/error.c @@ -67,27 +67,27 @@ ihs_function_name(object x) y = x->c.c_car; if (y == sLlambda) return(sLlambda); - if (y == sLlambda_closure) - return(sLlambda_closure); - if (y == sLlambda_block || y == sSlambda_block_expanded) { + if (y == sSlambda_closure) + return(sSlambda_closure); + if (y == sSlambda_block || y == sSlambda_block_expanded) { x = x->c.c_cdr; if (type_of(x) != t_cons) - return(sLlambda_block); + return(sSlambda_block); return(x->c.c_car); } - if (y == sLlambda_block_closure) { + if (y == sSlambda_block_closure) { x = x->c.c_cdr; if (type_of(x) != t_cons) - return(sLlambda_block_closure); + return(sSlambda_block_closure); x = x->c.c_cdr; if (type_of(x) != t_cons) - return(sLlambda_block_closure); + return(sSlambda_block_closure); x = x->c.c_cdr; if (type_of(x) != t_cons) - return(sLlambda_block_closure); + return(sSlambda_block_closure); x = x->c.c_cdr; if (type_of(x) != t_cons) - return(sLlambda_block_closure); + return(sSlambda_block_closure); return(x->c.c_car); } /* a general special form */ --- gcl-2.6.12.orig/o/eval.c +++ gcl-2.6.12/o/eval.c @@ -227,7 +227,7 @@ funcall(object fun) c = FALSE; fun = fun->c.c_cdr; - }else if (x == sLlambda_block) { + }else if (x == sSlambda_block) { b = TRUE; c = FALSE; if(sSlambda_block_expanded->s.s_dbind!=OBJNULL) @@ -237,14 +237,14 @@ funcall(object fun) - } else if (x == sLlambda_closure) { + } else if (x == sSlambda_closure) { b = FALSE; c = TRUE; fun = fun->c.c_cdr; } else if (x == sLlambda) { b = c = FALSE; fun = fun->c.c_cdr; - } else if (x == sLlambda_block_closure) { + } else if (x == sSlambda_block_closure) { b = c = TRUE; fun = fun->c.c_cdr; } else @@ -644,13 +644,13 @@ EVAL: vs_check; - if (Vevalhook->s.s_dbind != Cnil && eval1 == 0) + if (siVevalhook->s.s_dbind != Cnil && eval1 == 0) { bds_ptr old_bds_top = bds_top; - object hookfun = symbol_value(Vevalhook); + object hookfun = symbol_value(siVevalhook); /* check if Vevalhook is unbound */ - bds_bind(Vevalhook, Cnil); + bds_bind(siVevalhook, Cnil); form = Ifuncall_n(hookfun,2,form,list(3,lex_env[0],lex_env[1],lex_env[2])); bds_unwind(old_bds_top); return form; @@ -721,7 +721,7 @@ APPLICATION: for (x = lex_env[1]; type_of(x) == t_cons; x = x->c.c_cdr) if (x->c.c_car->c.c_car == fun) { x = x->c.c_car; - if (MMcadr(x) == sLmacro) { + if (MMcadr(x) == sSmacro) { x = MMcaddr(x); goto EVAL_MACRO; } @@ -755,10 +755,10 @@ EVAL_ARGS: vs_top = ++top; form = MMcdr(form);} n =top - base; /* number of args */ - if (Vapplyhook->s.s_dbind != Cnil) { + if (siVapplyhook->s.s_dbind != Cnil) { base[0]= (object)n; base[0] = c_apply_n(list,n+1,base); - x = Ifuncall_n(Vapplyhook->s.s_dbind,3, + x = Ifuncall_n(siVapplyhook->s.s_dbind,3, x, /* the function */ base[0], /* the arg list */ list(3,lex_env[0],lex_env[1],lex_env[2])); @@ -775,7 +775,7 @@ EVAL_ARGS: LAMBDA: if (type_of(fun) == t_cons && MMcar(fun) == sLlambda) { - x = listA(4,sLlambda_closure,lex_env[0],lex_env[1],lex_env[2],Mcdr(fun)); + x = listA(4,sSlambda_closure,lex_env[0],lex_env[1],lex_env[2],Mcdr(fun)); goto EVAL_ARGS; } FEinvalid_function(fun); @@ -805,13 +805,13 @@ EVAL: vs_check; - if (Vevalhook->s.s_dbind != Cnil && eval1 == 0) + if (siVevalhook->s.s_dbind != Cnil && eval1 == 0) { bds_ptr old_bds_top = bds_top; - object hookfun = symbol_value(Vevalhook); - /* check if Vevalhook is unbound */ + object hookfun = symbol_value(siVevalhook); + /* check if siVevalhook is unbound */ - bds_bind(Vevalhook, Cnil); + bds_bind(siVevalhook, Cnil); vs_base = vs_top; vs_push(form); vs_push(lex_env[0]); @@ -903,7 +903,7 @@ APPLICATION: for (x = lex_env[1]; type_of(x) == t_cons; x = x->c.c_cdr) if (x->c.c_car->c.c_car == fun) { x = x->c.c_car; - if (MMcadr(x) == sLmacro) { + if (MMcadr(x) == sSmacro) { x = MMcaddr(x); goto EVAL_MACRO; } @@ -940,7 +940,7 @@ EVAL_ARGS: form = MMcdr(form); } vs_base = base; - if (Vapplyhook->s.s_dbind != Cnil) { + if (siVapplyhook->s.s_dbind != Cnil) { call_applyhook(fun); return; } @@ -959,7 +959,7 @@ LAMBDA: temporary = make_cons(lex_env[2], fun->c.c_cdr); temporary = make_cons(lex_env[1], temporary); temporary = make_cons(lex_env[0], temporary); - x = make_cons(sLlambda_closure, temporary); + x = make_cons(sSlambda_closure, temporary); vs_push(x); goto EVAL_ARGS; } @@ -972,7 +972,7 @@ call_applyhook(object fun) object ah; object *v; - ah = symbol_value(Vapplyhook); + ah = symbol_value(siVapplyhook); v = vs_base + 1; vs_push(Cnil); while (vs_top > v) @@ -1040,7 +1040,7 @@ DEFUNOM_NEW("EVAL",object,fLeval,LISP return Ivs_values(); } -LFD(Levalhook)(void) +LFD(siLevalhook)(void) { object env; bds_ptr old_bds_top = bds_top; @@ -1062,15 +1062,15 @@ LFD(Levalhook)(void) vs_push(car(env)); } else too_many_arguments(); - bds_bind(Vevalhook, vs_base[1]); - bds_bind(Vapplyhook, vs_base[2]); + bds_bind(siVevalhook, vs_base[1]); + bds_bind(siVapplyhook, vs_base[2]); eval1 = 1; eval(vs_base[0]); lex_env = lex; bds_unwind(old_bds_top); } -LFD(Lapplyhook)(void) +LFD(siLapplyhook)(void) { object env; @@ -1094,8 +1094,8 @@ LFD(Lapplyhook)(void) vs_push(car(env)); } else too_many_arguments(); - bds_bind(Vevalhook, vs_base[2]); - bds_bind(Vapplyhook, vs_base[3]); + bds_bind(siVevalhook, vs_base[2]); + bds_bind(siVapplyhook, vs_base[3]); z = vs_top; for (l = vs_base[1]; !endp(l); l = l->c.c_cdr) vs_push(l->c.c_car); @@ -1392,15 +1392,15 @@ gcl_init_eval(void) make_constant("CALL-ARGUMENTS-LIMIT", make_fixnum(64)); - Vevalhook = make_special("*EVALHOOK*", Cnil); - Vapplyhook = make_special("*APPLYHOOK*", Cnil); + siVevalhook = make_si_special("*EVALHOOK*", Cnil); + siVapplyhook = make_si_special("*APPLYHOOK*", Cnil); three_nils.nil3_self[0] = Cnil; three_nils.nil3_self[1] = Cnil; three_nils.nil3_self[2] = Cnil; - make_function("EVALHOOK", Levalhook); - make_function("APPLYHOOK", Lapplyhook); + make_si_function("EVALHOOK", siLevalhook); + make_si_function("APPLYHOOK", siLapplyhook); } --- gcl-2.6.12.orig/o/fasdump.c +++ gcl-2.6.12/o/fasdump.c @@ -345,14 +345,14 @@ getd(str) #define READ_BYTE1() getc(fas_stream) #define GET8(varx ) \ - do{unsigned long var=(unsigned long)READ_BYTE1(); \ - var |= ((unsigned long)READ_BYTE1() << SIZE_BYTE); \ - var |= ((unsigned long)READ_BYTE1() << (2*SIZE_BYTE)); \ - var |= ((unsigned long)READ_BYTE1() << (3*SIZE_BYTE)); \ - var |= ((unsigned long)READ_BYTE1() << (4*SIZE_BYTE)); \ - var |= ((unsigned long)READ_BYTE1() << (5*SIZE_BYTE)); \ - var |= ((unsigned long)READ_BYTE1() << (6*SIZE_BYTE)); \ - var |= ((unsigned long)READ_BYTE1() << (7*SIZE_BYTE)); \ + do{unsigned long long var=READ_BYTE1(); \ + var |= ((unsigned long long)READ_BYTE1() << SIZE_BYTE); \ + var |= ((unsigned long long)READ_BYTE1() << (2*SIZE_BYTE)); \ + var |= ((unsigned long long)READ_BYTE1() << (3*SIZE_BYTE)); \ + var |= ((unsigned long long)READ_BYTE1() << (4*SIZE_BYTE)); \ + var |= ((unsigned long long)READ_BYTE1() << (5*SIZE_BYTE)); \ + var |= ((unsigned long long)READ_BYTE1() << (6*SIZE_BYTE)); \ + var |= ((unsigned long long)READ_BYTE1() << (7*SIZE_BYTE)); \ DPRINTF("{8byte:varx= %ld}", var); \ varx=var;} while (0) @@ -386,7 +386,7 @@ getd(str) #define GETFIX(v_) Join(GET,SIZEOF_LONG)(v_) #define PUT8(varx ) \ - do{unsigned long var= varx ; \ + do{unsigned long long var= varx ; \ DPRINTF("{8byte:varx= %ld}", var); \ WRITE_BYTEI(var,0); \ WRITE_BYTEI(var,1); \ @@ -808,7 +808,7 @@ write_fasd(object obj) {int l = MP(obj)->_mp_size; int m = (l >= 0 ? l : -l); - unsigned long *u = (unsigned long *) MP(obj)->_mp_d; + mp_limb_t *u = MP(obj)->_mp_d; /* fix this */ /* if (sizeof(mp_limb_t) != 4) { FEerror("fix for gmp",0);} */ PUT4(l); @@ -1279,7 +1279,7 @@ read_fasd1(int i, object *loc) case DP( d_bignum:) {int j,m; object tem; - unsigned long *u; + mp_limb_t *u; GET4(j); #ifdef GMP tem = new_bignum(); @@ -1287,7 +1287,7 @@ read_fasd1(int i, object *loc) _mpz_realloc(MP(tem),m); MP(tem)->_mp_size = j; j = m; - u = (unsigned long *) MP(tem)->_mp_d; + u = MP(tem)->_mp_d; #else { BEGIN_NO_INTERRUPT; tem = alloc_object(t_bignum); --- gcl-2.6.12.orig/o/file.d +++ gcl-2.6.12/o/file.d @@ -268,7 +268,7 @@ BEGIN: return(strm->sm.sm_object0); case smm_socket: - return (sLstring_char); + return (sLcharacter); case smm_synonym: strm = symbol_value(strm->sm.sm_object0); @@ -295,10 +295,10 @@ BEGIN: return(stream_element_type(STREAM_INPUT_STREAM(strm))); case smm_string_input: - return(sLstring_char); + return(sLcharacter); case smm_string_output: - return(sLstring_char); + return(sLcharacter); default: error("illegal stream mode"); @@ -512,7 +512,7 @@ object if_exists, if_does_not_exist; x->sm.sm_fp = fp; x->sm.sm_buffer = 0; - x->sm.sm_object0 = (unzipped ? make_cons(sSAallow_gzipped_fileA,unzipped) : sLstring_char); + x->sm.sm_object0 = (unzipped ? make_cons(sSAallow_gzipped_fileA,unzipped) : sLcharacter); x->sm.sm_object1 = fn; x->sm.sm_int0 = x->sm.sm_int1 = 0; vs_push(x); @@ -1715,7 +1715,7 @@ LFD(Lstream_element_type)() @(static defun open (filename &key (direction sKinput) - (element_type sLstring_char) + (element_type sLcharacter) (if_exists Cnil iesp) (if_does_not_exist Cnil idnesp) &aux strm) @@ -1800,7 +1800,7 @@ LFD(Lfile_length)() vs_base[0] = make_fixnum(i); } -object sSAload_pathnameA; +object sLAload_pathnameA; DEFVAR("*COLLECT-BINARY-MODULES*",sSAcollect_binary_modulesA,SI,sLnil,""); DEFVAR("*BINARY-MODULES*",sSAbinary_modulesA,SI,Cnil,""); @@ -1861,7 +1861,7 @@ DEFVAR("*BINARY-MODULES*",sSAbinary_modu } package = symbol_value(sLApackageA); bds_bind(sLApackageA, package); - bds_bind(sSAload_pathnameA,fasl_filename); + bds_bind(sLAload_pathnameA,fasl_filename); if (sSAcollect_binary_modulesA->s.s_dbind==Ct) { object _x=sSAbinary_modulesA->s.s_dbind; object _y=Cnil; @@ -1920,7 +1920,7 @@ DEFVAR("*BINARY-MODULES*",sSAbinary_modu flush_stream(PRINTstream); } package = symbol_value(sLApackageA); - bds_bind(sSAload_pathnameA,pathname); + bds_bind(sLAload_pathnameA,pathname); bds_bind(sLApackageA, package); bds_bind(sLAstandard_inputA, strm); frs_push(FRS_PROTECT, Cnil); @@ -2534,7 +2534,7 @@ gcl_init_file(void) standard_input->sm.sm_mode = (short)smm_input; standard_input->sm.sm_fp = stdin; standard_input->sm.sm_buffer = 0; - standard_input->sm.sm_object0 = sLstring_char; + standard_input->sm.sm_object0 = sLcharacter; standard_input->sm.sm_object1 #ifdef UNIX = make_simple_string("stdin"); @@ -2546,7 +2546,7 @@ gcl_init_file(void) standard_output->sm.sm_mode = (short)smm_output; standard_output->sm.sm_fp = stdout; standard_output->sm.sm_buffer = 0; - standard_output->sm.sm_object0 = sLstring_char; + standard_output->sm.sm_object0 = sLcharacter; standard_output->sm.sm_object1 #ifdef UNIX = make_simple_string("stdout"); @@ -2571,7 +2571,7 @@ gcl_init_file(void) } DEFVAR("*IGNORE-EOF-ON-TERMINAL-IO*",sSAignore_eof_on_terminal_ioA,SI,Cnil,""); -DEFVAR("*LOAD-PATHNAME*",sSAload_pathnameA,SI,Cnil,""); +DEFVAR("*LOAD-PATHNAME*",sLAload_pathnameA,LISP,Cnil,""); DEFVAR("*LOAD-VERBOSE*",sLAload_verboseA,LISP,Ct,""); DEF_ORDINARY("ABORT",sKabort,KEYWORD,""); --- gcl-2.6.12.orig/o/funlink.c +++ gcl-2.6.12/o/funlink.c @@ -19,7 +19,7 @@ typedef object (*object_func)(); static int vpush_extend(void *,object); -object sLAlink_arrayA; +object sSAlink_arrayA; int Rset = 0; DEFVAR("*LINK-LIST*",sSAlink_listA,SI,0,""); @@ -67,8 +67,8 @@ call_or_link(object sym, void **link) { if (Rset==0) funcall(fun); else if (type_of(fun) == t_cfun) { - (void) vpush_extend( link,sLAlink_arrayA->s.s_dbind); - (void) vpush_extend( *link,sLAlink_arrayA->s.s_dbind); + (void) vpush_extend( link,sSAlink_arrayA->s.s_dbind); + (void) vpush_extend( *link,sSAlink_arrayA->s.s_dbind); *link = (void *) (fun->cf.cf_self); (*(void (*)())(fun->cf.cf_self))(); } else { @@ -89,8 +89,8 @@ call_or_link_closure(object sym, void ** } if (type_of(fun) == t_cclosure && (fun->cc.cc_turbo)) { if (Rset) { - (void) vpush_extend( link,sLAlink_arrayA->s.s_dbind); - (void) vpush_extend( *link,sLAlink_arrayA->s.s_dbind); + (void) vpush_extend( link,sSAlink_arrayA->s.s_dbind); + (void) vpush_extend( *link,sSAlink_arrayA->s.s_dbind); *ptr = (void *)fun; *link = (void *) (fun->cf.cf_self); MMccall(fun); @@ -105,8 +105,8 @@ call_or_link_closure(object sym, void ** /* can't do this if invoking foo(a) is illegal when foo is not defined to take any arguments. In the majority of C's this is legal */ else if (type_of(fun) == t_cfun) { - (void) vpush_extend(link,sLAlink_arrayA->s.s_dbind); - (void) vpush_extend(*link,sLAlink_arrayA->s.s_dbind); + (void) vpush_extend(link,sSAlink_arrayA->s.s_dbind); + (void) vpush_extend(*link,sSAlink_arrayA->s.s_dbind); *link = (void *)fun->cf.cf_self; (*(void (*)())fun->cf.cf_self)(); } else { @@ -129,7 +129,7 @@ vpush_extend(void *item, object ar) return(ar->v.v_fillp = ind);} else { - int newdim= ROUND_UP_PTR((2 + (int) (1.3 * ind))); + int newdim= CEI((2 + (int) (1.3 * ind)),PTR_ALIGN); unsigned char *newself; newself = (void *)alloc_relblock(newdim); bcopy(ar->ust.ust_self,newself,ind); @@ -180,8 +180,8 @@ is supplied and FLAG is nil, then this f LDEFAULT2: sym = Cnil ; LEND_VARARG: va_end(ap);} - if (sLAlink_arrayA ==0) RETURN1(Cnil); - link_ar = sLAlink_arrayA->s.s_dbind; + if (sSAlink_arrayA ==0) RETURN1(Cnil); + link_ar = sSAlink_arrayA->s.s_dbind; if (link_ar==Cnil && flag==Cnil) RETURN1(Cnil); check_type_array(&link_ar); if (type_of(link_ar) != t_string) @@ -339,8 +339,8 @@ call_proc(object sym, void **link, int a } - (void) vpush_extend(link,sLAlink_arrayA->s.s_dbind); - (void) vpush_extend(*link,sLAlink_arrayA->s.s_dbind); + (void) vpush_extend(link,sSAlink_arrayA->s.s_dbind); + (void) vpush_extend(*link,sSAlink_arrayA->s.s_dbind); *link = (void *)fn; AFTER_LINK: @@ -443,8 +443,8 @@ call_proc_new(object sym, void **link, i } - (void) vpush_extend(link,sLAlink_arrayA->s.s_dbind); - (void) vpush_extend(*link,sLAlink_arrayA->s.s_dbind); + (void) vpush_extend(link,sSAlink_arrayA->s.s_dbind); + (void) vpush_extend(*link,sSAlink_arrayA->s.s_dbind); *link = (void *)fn; AFTER_LINK: @@ -607,7 +607,7 @@ FFN(mv_ref)(unsigned int i) #include "xdrfuns.c" DEF_ORDINARY("CDEFN",sScdefn,SI,""); -DEFVAR("*LINK-ARRAY*",sLAlink_arrayA,LISP,Cnil,""); +DEFVAR("*LINK-ARRAY*",sSAlink_arrayA,SI,Cnil,""); void gcl_init_links(void) --- gcl-2.6.12.orig/o/gbc.c +++ gcl-2.6.12/o/gbc.c @@ -24,7 +24,7 @@ IMPLEMENTATION-DEPENDENT */ -#define DEBUG +/* #define DEBUG */ #define IN_GBC #define NEED_MP_H @@ -45,7 +45,7 @@ static void sgc_mark_phase(void); static fixnum -sgc_count_writable(void); +sgc_count_read_only(void); #endif @@ -55,10 +55,6 @@ mark_c_stack(jmp_buf, int, void (*)(void static void mark_contblock(void *, int); -static void -mark_object(object); - - /* the following in line definitions seem to be twice as fast (at least on mc68020) as going to the assembly function calls in bitop.c so since this is more portable and faster lets use them --W. Schelter @@ -75,6 +71,31 @@ mark_object(object); #error Do not recognize CPTR_SIZE #endif +void * +cb_in(void *p) { + struct contblock **cbpp; + int i; + + for (cbpp=&cb_pointer,i=0;*cbpp;cbpp=&((*cbpp)->cb_link),i++) { + if ((void *)*cbpp<=p && ((void *)(*cbpp)+(*cbpp)->cb_size) >p) + return *cbpp; + } + return NULL; +} + +int +cb_print(void) { + struct contblock **cbpp; + int i; + + for (cbpp=&cb_pointer,i=0;*cbpp;cbpp=&((*cbpp)->cb_link),i++) { + fprintf(stderr,"%lu at %p\n",(*cbpp)->cb_size,*cbpp); + fflush(stderr); + } + fprintf(stderr,"%u blocks\n",i); + return 0; +} + #ifdef CONTBLOCK_MARK_DEBUG int cb_check(void) { @@ -121,13 +142,48 @@ off_check(void *v,void *ve,fixnum i,stru } #endif +void **contblock_stack_list=NULL; + +static inline bool +pageinfo_p(void *v) { + + struct pageinfo *pi=v; + + return pi->magic==PAGE_MAGIC && pi->type<=t_contiguous && + (!pi->next || (void *)pi->next>=v+(pi->type==t_contiguous ? pi->in_use : 1)*PAGESIZE); + +} + +static inline bool +in_contblock_stack_list(void *p,void ***ap) { + void **a; + for (a=*ap;a && a[0]>p;a=a[1]); + *ap=a; + /* if (a && a[0]==p) fprintf(stderr,"Skipping %p\n",p); */ + return a && a[0]==p; +} inline struct pageinfo * get_pageinfo(void *x) { - struct pageinfo *v=contblock_list_head;void *vv; - for (;(vv=v) && (vv>=x || vv+v->in_use*PAGESIZE<=x);v=v->next); - return v; + + void *p=pageinfo(x),**a=contblock_stack_list; + struct pageinfo *v; + + for (;!pageinfo_p(p) || in_contblock_stack_list(p,&a);p-=PAGESIZE); + + v=p; + massert(v->type==t_contiguous && p+v->in_use*PAGESIZE>x); + + return p; + } + +/* inline struct pageinfo * */ +/* get_pageinfo(void *x) { */ +/* struct pageinfo *v=contblock_list_head;void *vv; */ +/* for (;(vv=v) && (vv>=x || vv+v->in_use*PAGESIZE<=x);v=v->next); */ +/* return v; */ +/* } */ inline char get_bit(char *v,struct pageinfo *pi,void *x) { @@ -300,21 +356,6 @@ enter_mark_origin(object *p) { } -inline void -mark_cons(object x) { - - do { - object d=x->c.c_cdr; - mark(x); - mark_object(x->c.c_car); - x=d; - if (NULL_OR_ON_C_STACK(x) || is_marked_or_free(x))/*catches Cnil*/ - return; - } while (cdr_listp(x)); - mark_object(x); - -} - /* Whenever two arrays are linked together by displacement, if one is live, the other will be made live */ #define mark_displaced_field(ar) mark_object(ar->a.a_displaced) @@ -336,27 +377,17 @@ mark_link_array(void *v,void *ve) { if (NULL_OR_ON_C_STACK(v)) return; - if (sLAlink_arrayA->s.s_dbind==Cnil) + if (sSAlink_arrayA->s.s_dbind==Cnil) return; - p=(void *)sLAlink_arrayA->s.s_dbind->v.v_self; - pe=(void *)p+sLAlink_arrayA->s.s_dbind->v.v_fillp; - - if (is_marked(sLAlink_arrayA->s.s_dbind) && COLLECT_RELBLOCK_P -#ifdef SGC - && (!sgc_enabled || SGC_RELBLOCK_P(sLAlink_arrayA->s.s_dbind->v.v_self)) -#endif - ) { - fixnum j=rb_pointer1-rb_pointer; - p=(void *)p+j; - pe=(void *)pe+j; - } + p=(void *)sSAlink_arrayA->s.s_dbind->v.v_self; + pe=(void *)p+sSAlink_arrayA->s.s_dbind->v.v_fillp; for (;p=v && *ps.s_dbind==Cnil) + if (sSAlink_arrayA->s.s_dbind==Cnil) return; - ne=n=p=(void *)sLAlink_arrayA->s.s_dbind->v.v_self; - pe=(void *)p+sLAlink_arrayA->s.s_dbind->v.v_fillp; + ne=n=p=(void *)sSAlink_arrayA->s.s_dbind->v.v_self; + pe=(void *)p+sSAlink_arrayA->s.s_dbind->v.v_fillp; while (ps.s_dbind->v.v_fillp=(ne-n)*sizeof(*n); + sSAlink_arrayA->s.s_dbind->v.v_fillp=(ne-n)*sizeof(*n); } @@ -392,11 +423,11 @@ sweep_link_array(void) { void ***p,***pe; - if (sLAlink_arrayA->s.s_dbind==Cnil) + if (sSAlink_arrayA->s.s_dbind==Cnil) return; - p=(void *)sLAlink_arrayA->s.s_dbind->v.v_self; - pe=(void *)p+sLAlink_arrayA->s.s_dbind->v.v_fillp; + p=(void *)sSAlink_arrayA->s.s_dbind->v.v_self; + pe=(void *)p+sSAlink_arrayA->s.s_dbind->v.v_fillp; for (;pst.st_self) && */ + /* (dp=PCEI(lcv->st.st_self,r)) && dp+s<=(dpe=lcv->st.st_self+lcv->st.st_dim) */ + /* && x && x->d.st>=ngc_thresh) { */ + + if (what_to_collect!=t_contiguous && + x && x->d.st>=ngc_thresh && + (dp=alloc_contblock_no_gc(s))) { + + /* fprintf(stderr,"Promoting %p,%lu to %p\n",p,s,dp); */ + /* fflush(stderr); */ + + *pp=memcpy(dp,p,s); + /* lcv->st.st_fillp=lcv->st.st_dim=(dpe-(void *)(lcv->st.st_self=dp+s)); */ + x->d.st=0; - if (tp==t_cons) { - mark_cons(x); return; + + } + + if (x && x->d.std.st++; + + if (p>=(void *)heap_end) + *pp=(void *)copy_relblock(p,s); + else + mark_contblock(p,s); + +} + +static void mark_object1(object); +#define mark_object(x) if (marking(x)) mark_object1(x) + +static inline void +mark_object_address(object *o,int f) { + + static ufixnum lp; + static ufixnum lr; + + ufixnum p=page(o); + + if (lp!=p || !f) { + lp=p; + lr=sgc_enabled ? WRITABLE_PAGE_P(lp) : 1; } + if (lr) + mark_object(*o); + +} + +static inline void +mark_object_array(object *o,object *oe) { + int f=0; + + if (o) + for (;oc.c_car); + mark_object(Scdr(x));/*FIXME*/ + break; case t_fixnum: break; + case t_bignum: + MARK_LEAF_DATA(x,MP_SELF(x),MP_ALLOCATED(x)*MP_LIMB_SIZE); + break; + case t_ratio: mark_object(x->rat.rat_num); - x = x->rat.rat_den; - goto BEGIN; + mark_object(x->rat.rat_den); case t_shortfloat: break; @@ -456,8 +565,7 @@ mark_object(object x) { case t_complex: mark_object(x->cmp.cmp_imag); - x = x->cmp.cmp_real; - goto BEGIN; + mark_object(x->cmp.cmp_real); case t_character: break; @@ -466,13 +574,7 @@ mark_object(object x) { mark_object(x->s.s_plist); mark_object(x->s.s_gfdef); mark_object(x->s.s_dbind); - if (x->s.s_self == NULL) - break; - if (inheap(x->s.s_self)) { - if (what_to_collect == t_contiguous) - mark_contblock(x->s.s_self,x->s.s_fillp); - } else if (COLLECT_RELBLOCK_P) - x->s.s_self = copy_relblock(x->s.s_self, x->s.s_fillp); + MARK_LEAF_DATA(x,x->s.s_self,x->s.s_fillp); break; case t_package: @@ -481,197 +583,88 @@ mark_object(object x) { mark_object(x->p.p_shadowings); mark_object(x->p.p_uselist); mark_object(x->p.p_usedbylist); - if (what_to_collect != t_contiguous) - break; - if (x->p.p_internal != NULL) - mark_contblock((char *)(x->p.p_internal), - x->p.p_internal_size*sizeof(object)); - if (x->p.p_external != NULL) - mark_contblock((char *)(x->p.p_external), - x->p.p_external_size*sizeof(object)); + mark_object_array(x->p.p_internal,x->p.p_internal+x->p.p_internal_size); + MARK_LEAF_DATA(x,x->p.p_internal,x->p.p_internal_size*sizeof(object)); + mark_object_array(x->p.p_external,x->p.p_external+x->p.p_external_size); + MARK_LEAF_DATA(x,x->p.p_external,x->p.p_external_size*sizeof(object)); break; case t_hashtable: mark_object(x->ht.ht_rhsize); mark_object(x->ht.ht_rhthresh); - if (x->ht.ht_self == NULL) - break; - for (i = 0, j = x->ht.ht_size; i < j; i++) { - mark_object(x->ht.ht_self[i].hte_key); - mark_object(x->ht.ht_self[i].hte_value); - } - if (inheap(x->ht.ht_self)) { - if (what_to_collect == t_contiguous) - mark_contblock((char *)x->ht.ht_self,j*sizeof(struct htent)); - } else if (COLLECT_RELBLOCK_P) - x->ht.ht_self=(void *)copy_relblock((char *)x->ht.ht_self,j*sizeof(struct htent));; + if (x->ht.ht_self) + for (i=0;iht.ht_size;i++) + if (x->ht.ht_self[i].hte_key!=OBJNULL) { + mark_object_address(&x->ht.ht_self[i].hte_key,i); + mark_object_address(&x->ht.ht_self[i].hte_value,i+1); + } + MARK_LEAF_DATA(x,x->ht.ht_self,x->ht.ht_size*sizeof(*x->ht.ht_self)); break; case t_array: - if ((x->a.a_displaced) != Cnil) - mark_displaced_field(x); - if (x->a.a_dims != NULL) { - if (inheap(x->a.a_dims)) { - if (what_to_collect == t_contiguous) - mark_contblock((char *)(x->a.a_dims),sizeof(int)*x->a.a_rank); - } else if (COLLECT_RELBLOCK_P) - x->a.a_dims = (int *) copy_relblock((char *)(x->a.a_dims),sizeof(int)*x->a.a_rank); - } - if ((enum aelttype)x->a.a_elttype == aet_ch) - goto CASE_STRING; - if ((enum aelttype)x->a.a_elttype == aet_bit) - goto CASE_BITVECTOR; - if ((enum aelttype)x->a.a_elttype == aet_object) - goto CASE_GENERAL; - - CASE_SPECIAL: - cp = (char *)(x->fixa.fixa_self); - if (cp == NULL) - break; - /* set j to the size in char of the body of the array */ - - switch((enum aelttype)x->a.a_elttype){ -#define ROUND_RB_POINTERS_DOUBLE \ -{int tem = ((long)rb_pointer1) & (sizeof(double)-1); \ - if (tem) \ - { rb_pointer += (sizeof(double) - tem); \ - rb_pointer1 += (sizeof(double) - tem); \ - }} + MARK_LEAF_DATA(x,x->a.a_dims,sizeof(int)*x->a.a_rank); + + case t_vector: + case t_bitvector: + + switch(j ? j : (enum aelttype)x->v.v_elttype) { + case aet_lf: - j= sizeof(longfloat)*x->lfa.lfa_dim; - if ((COLLECT_RELBLOCK_P) && !(inheap(cp))) - ROUND_RB_POINTERS_DOUBLE;/*FIXME gc space violation*/ + j= sizeof(longfloat)*x->v.v_dim; + if ((COLLECT_RELBLOCK_P) && (void *)x->v.v_self>=(void *)heap_end) + rb_pointer=PCEI(rb_pointer,sizeof(double)); /*FIXME GC space violation*/ break; + + case aet_bit: +#define W_SIZE (8*sizeof(fixnum)) + j= sizeof(fixnum)*((BV_OFFSET(x) + x->bv.bv_dim + W_SIZE -1)/W_SIZE); + break; + case aet_char: case aet_uchar: - j=sizeof(char)*x->a.a_dim; + j=sizeof(char)*x->v.v_dim; break; + case aet_short: case aet_ushort: - j=sizeof(short)*x->a.a_dim; + j=sizeof(short)*x->v.v_dim; break; + + case aet_object: + if (x->v.v_displaced->c.c_car==Cnil) + mark_object_array(x->v.v_self,x->v.v_self+x->v.v_dim); + default: - j=sizeof(fixnum)*x->fixa.fixa_dim;} - - goto COPY; - - CASE_GENERAL: - p = x->a.a_self; - if (p == NULL -#ifdef HAVE_ALLOCA - || (char *)p >= core_end -#endif - ) - break; - j=0; - if (x->a.a_displaced->c.c_car == Cnil) - for (i = 0, j = x->a.a_dim; i < j; i++) - mark_object(p[i]); - cp = (char *)p; - j *= sizeof(object); - COPY: - if (inheap(cp)) { - if (what_to_collect == t_contiguous) - mark_contblock(cp, j); - } else if (COLLECT_RELBLOCK_P) { - if (x->a.a_displaced == Cnil) { -#ifdef HAVE_ALLOCA - if (!NULL_OR_ON_C_STACK(cp)) /* only if body of array not on C stack */ -#endif - x->a.a_self = (object *)copy_relblock(cp, j); - } else if (x->a.a_displaced->c.c_car == Cnil) { - i = (long)(object *)copy_relblock(cp, j) - (long)(x->a.a_self); - adjust_displaced(x, i); - } + j=sizeof(fixnum)*x->v.v_dim; + } - break; - - case t_vector: - if ((x->v.v_displaced) != Cnil) - mark_displaced_field(x); - if ((enum aelttype)x->v.v_elttype == aet_object) - goto CASE_GENERAL; - else - goto CASE_SPECIAL; - - case t_bignum: -#ifndef GMP_USE_MALLOC - if ((int)what_to_collect >= (int)t_contiguous) { - j = MP_ALLOCATED(x); - cp = (char *)MP_SELF(x); - if (cp == 0) - break; -#ifdef PARI - if (j != lg(MP(x)) && - /* we don't bother to zero this register, - and its contents may get over written */ - ! (x == big_register_1 && - (int)(cp) <= top && - (int) cp >= bot)) - printf("bad length 0x%x ",x); -#endif - j = j * MP_LIMB_SIZE; - if (inheap(cp)) { - if (what_to_collect == t_contiguous) - mark_contblock(cp, j); - } else if (COLLECT_RELBLOCK_P) { - MP_SELF(x) = (void *) copy_relblock(cp, j);}} -#endif /* not GMP_USE_MALLOC */ - break; - - CASE_STRING: - case t_string: - if ((x->st.st_displaced) != Cnil) - mark_displaced_field(x); - j = x->st.st_dim; - cp = x->st.st_self; - if (cp == NULL) - break; - COPY_STRING: - if (inheap(cp)) { - if (what_to_collect == t_contiguous) - mark_contblock(cp, j); - } else if (COLLECT_RELBLOCK_P) { - if (x->st.st_displaced == Cnil) - x->st.st_self = copy_relblock(cp, j); - else if (x->st.st_displaced->c.c_car == Cnil) { - i = copy_relblock(cp, j) - cp; - adjust_displaced(x, i); + + case t_string:/*FIXME*/ + j=j ? j : x->st.st_dim; + + if (x->v.v_displaced->c.c_car==Cnil) { + void *p=x->v.v_self; + MARK_LEAF_DATA(x,x->v.v_self,j); + if (x->v.v_displaced!=Cnil) { + j=(void *)x->v.v_self-p; + x->v.v_self=p; + adjust_displaced(x,j); } - } + } + mark_object(x->v.v_displaced); break; - CASE_BITVECTOR: - case t_bitvector: - if ((x->bv.bv_displaced) != Cnil) - mark_displaced_field(x); - /* We make bitvectors multiple of sizeof(int) in size allocated - Assume 8 = number of bits in char */ - -#define W_SIZE (8*sizeof(fixnum)) - j= sizeof(fixnum) * - ((BV_OFFSET(x) + x->bv.bv_dim + W_SIZE -1)/W_SIZE); - cp = x->bv.bv_self; - if (cp == NULL) - break; - goto COPY_STRING; - case t_structure: - mark_object(x->str.str_def); - p = x->str.str_self; - if (p == NULL) - break; { object def=x->str.str_def; - unsigned char * s_type = &SLOT_TYPE(def,0); - unsigned short *s_pos= & SLOT_POS(def,0); - for (i = 0, j = S_DATA(def)->length; i < j; i++) - if (s_type[i]==0) mark_object(STREF(object,x,s_pos[i])); - if (inheap(x->str.str_self)) { - if (what_to_collect == t_contiguous) - mark_contblock((char *)p,S_DATA(def)->size); - } else if (COLLECT_RELBLOCK_P) - x->str.str_self = (object *)copy_relblock((char *)p, S_DATA(def)->size); + unsigned char *s_type= &SLOT_TYPE(def,0); + unsigned short *s_pos= &SLOT_POS(def,0); + mark_object(x->str.str_def); + if (x->str.str_self) + for (i=0,j=S_DATA(def)->length;istr.str_self,S_DATA(def)->size); } break; @@ -684,12 +677,11 @@ mark_object(object x) { case smm_probe: mark_object(x->sm.sm_object0); mark_object(x->sm.sm_object1); - if (what_to_collect == t_contiguous && - x->sm.sm_fp && - x->sm.sm_buffer) - mark_contblock(x->sm.sm_buffer, BUFSIZ); + if (x->sm.sm_fp) { + MARK_LEAF_DATA(x,x->sm.sm_buffer,BUFSIZ); + } break; - + case smm_synonym: mark_object(x->sm.sm_object0); break; @@ -720,44 +712,20 @@ mark_object(object x) { } break; -#define MARK_CP(a_,b_) {fixnum _t=(b_);if (inheap(a_)) {\ - if (what_to_collect == t_contiguous) mark_contblock((void *)(a_),_t); \ - } else if (COLLECT_RELBLOCK_P) (a_)=(void *)copy_relblock((void *)(a_),_t);} - -#define MARK_MP(a_) {if ((a_)->_mp_d) \ - MARK_CP((a_)->_mp_d,(a_)->_mp_alloc*MP_LIMB_SIZE);} - case t_random: - if ((int)what_to_collect >= (int)t_contiguous) { - MARK_MP(x->rnd.rnd_state._mp_seed); -#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 2) - if (x->rnd.rnd_state._mp_algdata._mp_lc) { - MARK_MP(x->rnd.rnd_state._mp_algdata._mp_lc->_mp_a); - if (!x->rnd.rnd_state._mp_algdata._mp_lc->_mp_m2exp) MARK_MP(x->rnd.rnd_state._mp_algdata._mp_lc->_mp_m); - MARK_CP(x->rnd.rnd_state._mp_algdata._mp_lc,sizeof(*x->rnd.rnd_state._mp_algdata._mp_lc)); - } -#endif - } + MARK_LEAF_DATA_ALIGNED(x,x->rnd.rnd_state._mp_seed->_mp_d,x->rnd.rnd_state._mp_seed->_mp_alloc*MP_LIMB_SIZE,MP_LIMB_SIZE); break; case t_readtable: - if (x->rt.rt_self == NULL) - break; - if (what_to_collect == t_contiguous) - mark_contblock((char *)(x->rt.rt_self), - RTABSIZE*sizeof(struct rtent)); - for (i = 0; i < RTABSIZE; i++) { - mark_object(x->rt.rt_self[i].rte_macro); - if (x->rt.rt_self[i].rte_dtab != NULL) { - /**/ - if (what_to_collect == t_contiguous) - mark_contblock((char *)(x->rt.rt_self[i].rte_dtab), - RTABSIZE*sizeof(object)); - for (j = 0; j < RTABSIZE; j++) - mark_object(x->rt.rt_self[i].rte_dtab[j]); - /**/ + if (x->rt.rt_self) { + for (i=0;irt.rt_self[i].rte_macro,i); + for (i=0;irt.rt_self[i].rte_dtab,x->rt.rt_self[i].rte_dtab+RTABSIZE); + MARK_LEAF_DATA(x,x->rt.rt_self[i].rte_dtab,RTABSIZE*sizeof(object)); } } + MARK_LEAF_DATA(x,x->rt.rt_self,RTABSIZE*sizeof(struct rtent)); break; case t_pathname: @@ -770,13 +738,8 @@ mark_object(object x) { break; case t_closure: - { - int i ; - for (i= 0 ; i < x->cl.cl_envdim ; i++) - mark_object(x->cl.cl_env[i]); - if (COLLECT_RELBLOCK_P) - x->cl.cl_env=(void *)copy_relblock((void *)x->cl.cl_env,x->cl.cl_envdim*sizeof(object)); - } + mark_object_array(x->cl.cl_env,x->cl.cl_env+x->cl.cl_envdim); + MARK_LEAF_DATA(x,x->cl.cl_env,x->cl.cl_envdim*sizeof(object)); case t_cfun: case t_sfun: @@ -789,48 +752,40 @@ mark_object(object x) { case t_cfdata: - if (x->cfd.cfd_self != NULL) - {int i=x->cfd.cfd_fillp; - while(i-- > 0) - mark_object(x->cfd.cfd_self[i]);} - if (what_to_collect == t_contiguous) { - mark_contblock(x->cfd.cfd_start, x->cfd.cfd_size); + mark_object_array(x->cfd.cfd_self,x->cfd.cfd_self+x->cfd.cfd_fillp); + if (what_to_collect == t_contiguous) mark_link_array(x->cfd.cfd_start,x->cfd.cfd_start+x->cfd.cfd_size); - } + MARK_LEAF_DATA(NULL,x->cfd.cfd_start,x->cfd.cfd_size);/*Code cannot move*/ break; - case t_cclosure: + + case t_cclosure: mark_object(x->cc.cc_name); mark_object(x->cc.cc_env); mark_object(x->cc.cc_data); - if (x->cc.cc_turbo!=NULL) { - mark_object(*(x->cc.cc_turbo-1)); - if (COLLECT_RELBLOCK_P) - x->cc.cc_turbo=(void *)copy_relblock((char *)(x->cc.cc_turbo-1),(1+fix(*(x->cc.cc_turbo-1)))*sizeof(object))+sizeof(object); + if (x->cc.cc_turbo) { + x->cc.cc_turbo--; + mark_object_array(x->cc.cc_turbo,x->cc.cc_turbo+fix(x->cc.cc_turbo[0])); + MARK_LEAF_DATA(x,x->cc.cc_turbo,(1+fix(x->cc.cc_turbo[0]))*sizeof(*x->cc.cc_turbo)); + x->cc.cc_turbo++; } break; case t_spice: break; - default: + + default: #ifdef DEBUG if (debug) printf("\ttype = %d\n", type_of(x)); #endif error("mark botch"); + } + } static long *c_stack_where; -void **contblock_stack_list=NULL; - -#define PAGEINFO_P(pi) (pi->magic==PAGE_MAGIC && pi->type<=t_contiguous) - -#ifdef SGC -static void -sgc_mark_object1(object); -#endif - static void mark_stack_carefully(void *topv, void *bottomv, int offset) { @@ -865,10 +820,9 @@ mark_stack_carefully(void *topv, void *b pageoffset=v-(void *)pagetochar(p); pi=pagetoinfo(p); - if (!PAGEINFO_P(pi)) continue; + if (!pageinfo_p(pi)) continue; - for (a=contblock_stack_list;a && a[0]!=pi;a=a[1]); - if (a) continue; + if ((a=contblock_stack_list) && in_contblock_stack_list(pi,&a)) continue; tm=tm_of(pi->type); if (tm->tm_type>=t_end) continue; @@ -879,13 +833,10 @@ mark_stack_carefully(void *topv, void *b if (is_marked_or_free(x)) continue; -#ifdef SGC - if (sgc_enabled) - sgc_mark_object(x); - else -#endif - mark_object(x); + mark_object(x); + } + } @@ -930,10 +881,6 @@ mark_phase(void) { for (pp = pack_pointer; pp != NULL; pp = pp->p_link) mark_object((object)pp); -#ifdef KCLOVM - if (ovm_process_created) - mark_all_stacks(); -#endif #ifdef DEBUG if (debug) { @@ -947,18 +894,18 @@ mark_phase(void) { (int)what_to_collect < (int)t_contiguous) { */ - {int size; + /* {int size; */ - for (pp = pack_pointer; pp != NULL; pp = pp->p_link) { - size = pp->p_internal_size; - if (pp->p_internal != NULL) - for (i = 0; i < size; i++) - mark_object(pp->p_internal[i]); - size = pp->p_external_size; - if (pp->p_external != NULL) - for (i = 0; i < size; i++) - mark_object(pp->p_external[i]); - }} + /* for (pp = pack_pointer; pp != NULL; pp = pp->p_link) { */ + /* size = pp->p_internal_size; */ + /* if (pp->p_internal != NULL) */ + /* for (i = 0; i < size; i++) */ + /* mark_object(pp->p_internal[i]); */ + /* size = pp->p_external_size; */ + /* if (pp->p_external != NULL) */ + /* for (i = 0; i < size; i++) */ + /* mark_object(pp->p_external[i]); */ + /* }} */ /* mark the c stack */ #ifndef N_RECURSION_REQD @@ -1055,42 +1002,27 @@ mark_c_stack(jmp_buf env1, int n, void ( #ifndef C_GC_OFFSET #define C_GC_OFFSET 0 #endif - { - struct pageinfo *v,*tv;void **a; - fixnum i; - for (v=contblock_list_head,contblock_stack_list=NULL;v;v=v->next) - for (i=1;iin_use;i++) { - tv=pagetoinfo(page(v)+i); - if (PAGEINFO_P(tv)) { - a=contblock_stack_list; - /* printf("%p\n",tv); */ - contblock_stack_list=alloca(2*sizeof(a)); - contblock_stack_list[0]=tv; - contblock_stack_list[1]=a; - }} - - if (&where > cs_org) - (*fn)(0,cs_org,C_GC_OFFSET); - else - (*fn)(cs_org,0,C_GC_OFFSET); + if (&where > cs_org) + (*fn)(0,cs_org,C_GC_OFFSET); + else + (*fn)(cs_org,0,C_GC_OFFSET); - contblock_stack_list=NULL; - }} + } #if defined(__ia64__) - { - extern void * __libc_ia64_register_backing_store_base; - void * bst=GC_save_regs_in_stack(); - void * bsb=__libc_ia64_register_backing_store_base; - - if (bsb>bst) - (*fn)(bsb,bst,C_GC_OFFSET); - else - (*fn)(bst,bsb,C_GC_OFFSET); - - } + { + extern void * __libc_ia64_register_backing_store_base; + void * bst=GC_save_regs_in_stack(); + void * bsb=__libc_ia64_register_backing_store_base; + + if (bsb>bst) + (*fn)(bsb,bst,C_GC_OFFSET); + else + (*fn)(bst,bsb,C_GC_OFFSET); + + } #endif - + } static void @@ -1136,12 +1068,10 @@ static void contblock_sweep_phase(void) { STATIC char *s, *e, *p, *q; - STATIC struct contblock *cbp; STATIC struct pageinfo *v; + + reset_contblock_freelist(); - cb_pointer = NULL; - ncb = 0; - for (v=contblock_list_head;v;v=v->next) { bool z; @@ -1163,7 +1093,7 @@ contblock_sweep_phase(void) { #ifdef DEBUG if (debug) { for (cbp = cb_pointer; cbp != NULL; cbp = cbp->cb_link) - printf("%d-byte contblock\n", cbp->cb_size); + printf("%lud-byte contblock\n", cbp->cb_size); fflush(stdout); } #endif @@ -1175,7 +1105,6 @@ contblock_sweep_phase(void) { int (*GBC_enter_hook)() = NULL; int (*GBC_exit_hook)() = NULL; -char *old_rb_start; /* void */ /* ttss(void) { */ @@ -1201,10 +1130,6 @@ fixnum fault_pages=0; void GBC(enum type t) { - long i,j; -#ifdef SGC - int in_sgc = sgc_enabled; -#endif #ifdef DEBUG int tm=0; #endif @@ -1216,6 +1141,26 @@ GBC(enum type t) { t=t_contiguous; } + ngc_thresh=fix(sSAleaf_collection_thresholdA->s.s_dbind); + + { /*FIXME try to get this below the setjmp in mark_c_stack*/ + struct pageinfo *v,*tv; + ufixnum i; + void *a; + + for (v=contblock_list_head,contblock_stack_list=NULL;v;v=v->next) + for (i=1;iin_use;i++) { + tv=pagetoinfo(page(v)+i); + if (pageinfo_p(tv)) { + a=contblock_stack_list; + /* fprintf(stderr,"pushing %p\n",tv); */ + contblock_stack_list=alloca(2*sizeof(a)); + contblock_stack_list[0]=tv; + contblock_stack_list[1]=a; + } + } + } + if (in_signal_handler && t == t_relocatable) error("cant gc relocatable in signal handler"); @@ -1241,10 +1186,8 @@ GBC(enum type t) { close_stream(o); } - t = t_relocatable; gc_time = -1; -#ifdef SGC - if(sgc_enabled) sgc_quit(); -#endif + /* t = t_relocatable; */ + gc_time = -1; } @@ -1257,10 +1200,15 @@ GBC(enum type t) { tm_table[(int)t].tm_gbccount++; tm_table[(int)t].tm_adjgbccnt++; + if (sSAnotify_gbcA->s.s_dbind != Cnil #ifdef DEBUG - if (debug || (sSAnotify_gbcA->s.s_dbind != Cnil)) { - - if (gc_time < 0) gc_time=0; + || debug +#endif + ) { + + if (gc_time < 0) + gc_time=0; + #ifdef SGC printf("[%s for %ld %s pages..", (sgc_enabled ? "SGC" : "GC"), @@ -1272,48 +1220,33 @@ GBC(enum type t) { (tm_of(t)->tm_npage), (tm_table[(int)t].tm_name)+1); #endif + #ifdef SGC if(sgc_enabled) - printf("(%ld faulted pages, %ld writable, %ld read only)..",fault_pages,sgc_count_writable(), - (page(core_end)-first_data_page)-(page(old_rb_start)-page(heap_end))-sgc_count_writable()); + printf("(%ld faulted pages, %ld writable, %ld read only)..", + fault_pages,(page(core_end)-first_data_page)-(page(rb_start)-page(heap_end))-sgc_count_read_only(), + sgc_count_read_only()); #endif + fflush(stdout); + } -#endif + if (gc_time >=0 && !gc_recursive++) {gc_start=runtime();} - /* maxpage = page(heap_end); */ - if (COLLECT_RELBLOCK_P) { - i=rb_pointer-REAL_RB_START+PAGESIZE;/*FIXME*/ - -#ifdef SGC - if (sgc_enabled==0) -#endif - rb_start = heap_end + PAGESIZE*holepage; + char *new_start=heap_end+holepage*PAGESIZE,*new_end=new_start+nrbpage*PAGESIZE; - rb_end = heap_end + (holepage + nrbpage) *PAGESIZE; - - if (rb_start < rb_pointer) - rb_start1 = (char *) - ((long)(rb_pointer + PAGESIZE-1) & -(unsigned long)PAGESIZE); - else - rb_start1 = rb_start; - - /* as we walk through marking data, we replace the - relocatable pointers - in objects by the rb_pointer, advance that - by the size, and copy the actual - data there to rb_pointer1, and advance it by the size - at the end [rb_start1,rb_pointer1] is copied - to [rb_start,rb_pointer] - */ - rb_pointer = rb_start; /* where the new relblock will start */ - rb_pointer1 = rb_start1;/* where we will copy it to during gc*/ - - i = (rb_end < (rb_start1 + i) ? (rb_start1 + i) : rb_end) - heap_end; - alloc_page(-(i + PAGESIZE - 1)/PAGESIZE); + if (new_start!=rb_start) { + rb_pointer=new_start; + rb_limit=new_end; + } else { + rb_pointer=(rb_pointertm_sgc == 0) - {sgc_quit(); - if (sSAnotify_gbcA->s.s_dbind != Cnil) - {fprintf(stdout, " (doing full gc)"); - fflush(stdout);} - mark_phase();} - else - sgc_mark_phase();} + sgc_mark_phase(); else #endif mark_phase(); @@ -1365,27 +1291,16 @@ GBC(enum type t) { #endif if (COLLECT_RELBLOCK_P) { + + rb_start = heap_end + PAGESIZE*holepage; + rb_end = heap_end + (holepage + nrbpage) *PAGESIZE; - if (rb_start < rb_start1) { - j = (rb_pointer-rb_start + PAGESIZE - 1)/PAGESIZE; - memmove(rb_start,rb_start1,j*PAGESIZE); - } - + #ifdef SGC if (sgc_enabled) wrimap=(void *)sSAwritableA->s.s_dbind->v.v_self; #endif -#ifdef SGC - /* we don't know which pages have relblock on them */ - if(sgc_enabled) { - fixnum i; - for (i=page(rb_start);ipromotion_pointer1) { */ +/* object *p,st; */ +/* promoting=1; */ +/* st=alloc_simple_string(""); */ +/* for (p=promotion_pointer1;pst.st_dim; */ + +/* else switch (x->v.v_elttype) { */ + +/* case aet_lf: */ +/* j=sizeof(longfloat)*x->v.v_dim; */ +/* break; */ +/* case aet_bit: */ +/* #define W_SIZE (8*sizeof(fixnum)) */ +/* j=sizeof(fixnum)*((BV_OFFSET(x) + x->bv.bv_dim + W_SIZE -1)/W_SIZE); */ +/* break; */ +/* case aet_char: */ +/* case aet_uchar: */ +/* j=sizeof(char)*x->v.v_dim; */ +/* break; */ +/* case aet_short: */ +/* case aet_ushort: */ +/* j=sizeof(short)*x->v.v_dim; */ +/* break; */ +/* default: */ +/* j=sizeof(fixnum)*x->v.v_dim; */ +/* } */ + +/* st->st.st_dim=j; */ +/* st->st.st_self=alloc_contblock(st->st.st_dim); */ +/* fprintf(stderr,"Promoting vector leaf bytes %lu at %p, %p -> %p\n",j,x,x->v.v_self,st->st.st_self); */ +/* fflush(stderr); */ +/* memcpy(st->st.st_self,x->v.v_self,st->st.st_dim); */ +/* x->v.v_self=(void *)st->st.st_self; */ +/* } */ +/* promoting=0; */ +/* } */ +/* } */ + + #ifdef DEBUG if (debug) { for (i = 0, j = 0; i < (int)t_end; i++) { @@ -1437,11 +1400,6 @@ GBC(enum type t) { interrupt_enable = TRUE; -#ifdef SGC - if (in_sgc && sgc_enabled==0) - sgc_start(); -#endif - if (GBC_exit_hook != NULL) (*GBC_exit_hook)(); @@ -1468,6 +1426,23 @@ GBC(enum type t) { } + /* {static int mv; */ + /* if (!mv && COLLECT_RELBLOCK_P) { */ + /* mv=1; */ + /* if (relb_copied) { */ + /* sSAstatic_promotion_areaA->s.s_dbind=(VFUN_NARGS=4,fSmake_vector1(make_fixnum(relb_copied),make_fixnum(aet_char),Ct,make_fixnum(0))); */ + /* fprintf(stderr,"Making static promotion area %lu bytes\n",relb_copied); */ + /* fflush(stderr); */ + /* relb_copied=0; */ + /* } else { */ + /* fprintf(stderr,"Releasing static promotion area\n"); */ + /* fflush(stderr); */ + /* sSAstatic_promotion_areaA->s.s_dbind=Cnil; */ + /* } */ + /* mv=0; */ + /* } */ + /* } */ + collect_both=0; END_NO_INTERRUPT; @@ -1524,11 +1499,16 @@ FFN(siLroom_report)(void) { vs_push(make_fixnum(available_pages)); vs_push(make_fixnum(ncbpage)); vs_push(make_fixnum(maxcbpage)); - vs_push(make_fixnum(ncb)); + { + ufixnum ncb; + struct contblock *cbp; + for (ncb=0,cbp=cb_pointer;cbp;cbp=cbp->cb_link,ncb++); + vs_push(make_fixnum(ncb)); + } vs_push(make_fixnum(cbgbccount)); vs_push(make_fixnum(holepage)); - vs_push(make_fixnum(rb_pointer - rb_start)); - vs_push(make_fixnum(rb_end - rb_pointer)); + vs_push(make_fixnum(rb_pointer - (rb_pointer= 0) */ - /* { *q++ = *p++;} */ - - return res; + memmove(q,p,s);/*FIXME memcpy*/ + + return q; + } @@ -1595,18 +1572,124 @@ mark_contblock(void *p, int s) { q = p + s; /* SGC cont pages: contblock pages must be no smaller than sizeof(struct contblock). CM 20030827 */ - x = (char *)ROUND_DOWN_PTR_CONT(p); - y = (char *)ROUND_UP_PTR_CONT(q); + x = (char *)PFLR(p,CPTR_SIZE); + y = (char *)PCEI(q,CPTR_SIZE); v=get_pageinfo(x); #ifdef SGC if (!sgc_enabled || (v->sgc_flags&SGC_PAGE_FLAG)) #endif - set_mark_bits(v,x,y); + set_mark_bits(v,x,y); + } + +DEFUN_NEW("CONTIGUOUS-REPORT",object,fScontiguous_report,SI,1,1,NONE,OO,OO,OO,OO,(void),"") { + + struct contblock **cbpp; + struct pageinfo *v; + ufixnum i,j,k,s; + struct typemanager *tm=tm_of(t_cfdata); + void *p; + + for (i=j=0,cbpp=&cb_pointer;(*cbpp);) { + for (k=0,s=(*cbpp)->cb_size,p=*cbpp;*cbpp && (*cbpp)->cb_size==s;i+=(*cbpp)->cb_size,j++,k++,cbpp=&(*cbpp)->cb_link); + fprintf(stderr,"%lu %lu starting at %p\n",k,s,p); + } + fprintf(stderr,"\nTotal free %lu in %lu pieces\n\n",i,j); + + for (i=j=0,v=contblock_list_head;v;i+=v->in_use,j++,v=v->next) + fprintf(stderr,"%lu pages at %p\n",(unsigned long)v->in_use,v); + fprintf(stderr,"\nTotal pages %lu in %lu pieces\n\n",i,j); + + for (i=j=0,v=cell_list_head;v;v=v->next) + if (tm->tm_type==v->type) { + void *p; + ufixnum k; + for (p=pagetochar(page(v)),k=0;ktm_nppage;k++,p+=tm->tm_size) { + object o=p; + if (!is_free(o) && type_of(o)==t_cfdata && (void *)o->cfd.cfd_start>=data_start) { + fprintf(stderr,"%lu code bytes at %p\n",(unsigned long)o->cfd.cfd_size,o->cfd.cfd_start); + i+=o->cfd.cfd_size; + j++; + } + } + } + fprintf(stderr,"\nTotal code bytes %lu in %lu pieces\n",i,j); + + for (i=j=0,v=cell_list_head;v;v=v->next) { + struct typemanager *tm=tm_of(v->type); + void *p; + ufixnum k; + for (p=pagetochar(page(v)),k=0;ktm_nppage;k++,p+=tm->tm_size) { + object o=p; + void *d=NULL; + ufixnum s=0; + if (!is_free(o)) { + switch (type_of(o)) { + case t_array: + case t_vector: + d=o->a.a_self; + s=o->a.a_dim*sizeof(object); + break; + case t_hashtable: + d=o->ht.ht_self; + s=o->ht.ht_size*sizeof(object)*2; + break; + case t_symbol: + d=o->s.s_self; + s=o->s.s_fillp; + break; + case t_string: + case t_bitvector: + d=o->a.a_self; + s=o->a.a_dim; + break; + case t_package: + d=o->p.p_external; + s=(o->p.p_external_size+o->p.p_internal_size)*sizeof(object); + break; + case t_bignum: + d=o->big.big_mpz_t._mp_d; + s=o->big.big_mpz_t._mp_alloc*MP_LIMB_SIZE; + break; + case t_structure: + d=o->str.str_self; + s=S_DATA(o->str.str_def)->length*sizeof(object); + break; + case t_random: + d=o->rnd.rnd_state._mp_seed->_mp_d; + s=o->rnd.rnd_state._mp_seed->_mp_alloc*MP_LIMB_SIZE; + break; + case t_cclosure: + d=o->cc.cc_turbo; + s=fix(o->cc.cc_turbo[-1]); + break; + case t_cfdata: + d=o->cfd.cfd_start; + s=o->cfd.cfd_size; + break; + case t_readtable: + d=o->rt.rt_self; + s=RTABSIZE*(sizeof(struct rtent));/*FIXME*/ + break; + default: + break; + } + if (d>=data_start && d<(void *)heap_end && s) { + fprintf(stderr,"%lu %s bytes at %p\n",s,tm_table[type_of(o)].tm_name,d); + i+=s; + j++; + } + } + } + } + fprintf(stderr,"\nTotal leaf bytes %lu in %lu pieces\n",i,j); + + return Cnil; + } -DEFUN_NEW("GBC",object,fLgbc,LISP,1,1,NONE,OO,OO,OO,OO,(object x0),"") { +DEFUN_NEW("GBC",object,fSgbc,SI,1,1,NONE,OO,OO,OO,OO,(object x0),"") { - /* 1 args */ + /* 1 args */ if (x0 == Ct) GBC(t_other); @@ -1650,5 +1733,5 @@ gcl_init_GBC(void) { #ifdef SGC make_si_function("SGC-ON",siLsgc_on); #endif - + } --- gcl-2.6.12.orig/o/gmp.c +++ gcl-2.6.12/o/gmp.c @@ -18,12 +18,12 @@ static void *gcl_gmp_realloc(void *oldme MP_SELF(big_gcprotect)=0; bcopy(old,new,oldsize); /* SGC contblock pages: Its possible this is on an old page CM 20030827 */ - if (inheap(oldmem)) -#ifdef SGC - insert_maybe_sgc_contblock(oldmem,oldsize); -#else - insert_contblock(oldmem,oldsize); -#endif +/* if (inheap(oldmem)) */ +/* #ifdef SGC */ +/* insert_maybe_sgc_contblock(oldmem,oldsize); */ +/* #else */ +/* insert_contblock(oldmem,oldsize); */ +/* #endif */ return new; } --- gcl-2.6.12.orig/o/hash.d +++ gcl-2.6.12/o/hash.d @@ -30,6 +30,7 @@ object sLequal; object sKsize; object sKrehash_size; object sKrehash_threshold; +object sKstatic; #define MHSH(a_) ((a_) & ~(1UL<<(sizeof(a_)*CHAR_SIZE-1))) @@ -295,8 +296,9 @@ object hashtable; hashtable->ht.ht_rhthresh = make_fixnum(fix(hashtable->ht.ht_rhthresh) + (new_size - old->ht.ht_size)); - hashtable->ht.ht_self = - (struct htent *)alloc_relblock(new_size * sizeof(struct htent)); + hashtable->ht.ht_self = hashtable->ht.ht_static ? + (struct htent *)alloc_contblock(new_size * sizeof(struct htent)) : + (struct htent *)alloc_relblock(new_size * sizeof(struct htent)); for (i = 0; i < new_size; i++) { hashtable->ht.ht_self[i].hte_key = OBJNULL; hashtable->ht.ht_self[i].hte_value = OBJNULL; @@ -322,6 +324,7 @@ DEFVAR("*DEFAULT-HASH-TABLE-REHASH-THRES `sSAdefault_hash_table_rehash_sizeA->s.s_dbind`) (rehash_threshold `sSAdefault_hash_table_rehash_thresholdA->s.s_dbind`) + (static `Cnil`) &aux h) enum httest htt=0; int i; @@ -363,9 +366,11 @@ DEFVAR("*DEFAULT-HASH-TABLE-REHASH-THRES h->ht.ht_rhsize = rehash_size; h->ht.ht_rhthresh = rehash_threshold; h->ht.ht_nent = 0; + h->ht.ht_static = static!=Cnil ? 1 : 0; h->ht.ht_self = NULL; - h->ht.ht_self = (struct htent *) - alloc_relblock(fix(size) * sizeof(struct htent)); + h->ht.ht_self = h->ht.ht_static ? + (struct htent *)alloc_contblock(fix(size) * sizeof(struct htent)) : + (struct htent *)alloc_relblock(fix(size) * sizeof(struct htent)); for(i = 0; i < fix(size); i++) { h->ht.ht_self[i].hte_key = OBJNULL; h->ht.ht_self[i].hte_value = OBJNULL; @@ -547,6 +552,7 @@ gcl_init_hash() sKtest = make_keyword("TEST"); sKrehash_size = make_keyword("REHASH-SIZE"); sKrehash_threshold = make_keyword("REHASH-THRESHOLD"); + sKstatic = make_keyword("STATIC"); make_function("MAKE-HASH-TABLE", Lmake_hash_table); make_function("HASH-TABLE-P", Lhash_table_p); --- gcl-2.6.12.orig/o/let.c +++ gcl-2.6.12/o/let.c @@ -226,7 +226,7 @@ is an illegal function definition in FLE top[0] = MMcons(lex[2], def); top[0] = MMcons(lex[1], top[0]); top[0] = MMcons(lex[0], top[0]); - top[0] = MMcons(sLlambda_block_closure, top[0]); + top[0] = MMcons(sSlambda_block_closure, top[0]); lex_fun_bind(MMcar(def), top[0]); def_list = MMcdr(def_list); } @@ -262,7 +262,7 @@ is an illegal function definition in LAB top[0] = MMcons(Cnil, top[0]); top[1] = MMcons(top[0], top[1]); top[0] = MMcons(lex[0], top[0]); - top[0] = MMcons(sLlambda_block_closure, top[0]); + top[0] = MMcons(sSlambda_block_closure, top[0]); lex_fun_bind(MMcar(def), top[0]); def_list = MMcdr(def_list); } @@ -315,8 +315,8 @@ gcl_init_let(void) make_special_form("LET", Flet); make_special_form("LET*", FletA); make_special_form("MULTIPLE-VALUE-BIND", Fmultiple_value_bind); - make_special_form("COMPILER-LET", Fcompiler_let); make_special_form("FLET",Fflet); make_special_form("LABELS",Flabels); make_special_form("MACROLET",Fmacrolet); + make_si_special_form("COMPILER-LET", Fcompiler_let); } --- gcl-2.6.12.orig/o/lex.c +++ gcl-2.6.12/o/lex.c @@ -58,7 +58,7 @@ lex_macro_bind(object name, object exp_f { object *top = vs_top; vs_push(make_cons(exp_fun, Cnil)); - top[0] = make_cons(sLmacro, top[0]); + top[0] = make_cons(sSmacro, top[0]); top[0] = make_cons(name, top[0]); lex_env[1]=make_cons(top[0], lex_env[1]); vs_top = top; @@ -70,7 +70,7 @@ lex_tag_bind(object tag, object id) object *top = vs_top; vs_push(make_cons(id, Cnil)); - top[0] = make_cons(sLtag, top[0]); + top[0] = make_cons(sStag, top[0]); top[0] = make_cons(tag, top[0]); lex_env[2] =make_cons(top[0], lex_env[2]); vs_top = top; @@ -95,7 +95,7 @@ lex_tag_sch(object tag) object alist = lex_env[2]; while (!endp(alist)) { - if (eql(MMcaar(alist), tag) && MMcadar(alist) == sLtag) + if (eql(MMcaar(alist), tag) && MMcadar(alist) == sStag) return(MMcar(alist)); alist = MMcdr(alist); } @@ -120,10 +120,10 @@ gcl_init_lex(void) { /* sLfunction = make_ordinary("FUNCTION"); */ /* enter_mark_origin(&sLfunction); */ - sLmacro = make_ordinary("MACRO"); - enter_mark_origin(&sLmacro); - sLtag = make_ordinary("TAG"); - enter_mark_origin(&sLtag); + sSmacro = make_si_ordinary("MACRO"); + enter_mark_origin(&sSmacro); + sStag = make_si_ordinary("TAG"); + enter_mark_origin(&sStag); sLblock = make_ordinary("BLOCK"); enter_mark_origin(&sLblock); } --- gcl-2.6.12.orig/o/macros.c +++ gcl-2.6.12/o/macros.c @@ -161,7 +161,7 @@ macro_def(object form) return(head->s.s_gfdef); else return(Cnil); - else if (MMcadr(fd) == sLmacro) + else if (MMcadr(fd) == sSmacro) return(MMcaddr(fd)); else return(Cnil); @@ -279,7 +279,7 @@ macro_expand(object form) exp_fun = head->s.s_gfdef; else return(form); - else if (MMcadr(fd) == sLmacro) + else if (MMcadr(fd) == sSmacro) exp_fun = MMcaddr(fd); else return(form); @@ -316,7 +316,7 @@ LOOP: exp_fun = head->s.s_gfdef; else goto END; - else if (MMcadr(fd) == sLmacro) + else if (MMcadr(fd) == sSmacro) exp_fun = MMcaddr(fd); else goto END; --- gcl-2.6.12.orig/o/main.c +++ gcl-2.6.12/o/main.c @@ -182,30 +182,41 @@ get_phys_pages_no_malloc(void) { #else ufixnum -get_phys_pages_no_malloc(void) { - int l; +get_proc_meminfo_value_in_pages(const char *k) { + int l,m; char b[PAGESIZE],*c; - const char *k="MemTotal:",*f="/proc/meminfo"; - ufixnum res=0,n; + ufixnum n; - if ((l=open(f,O_RDONLY))!=-1) { - if ((n=read(l,b,sizeof(b)))>(PAGEWIDTH-10); + massert((l=open("/proc/meminfo",O_RDONLY))!=-1); + massert((n=read(l,b,sizeof(b)))>(PAGEWIDTH-10); +} + +ufixnum +get_phys_pages_no_malloc(char freep) { + return freep ? + get_proc_meminfo_value_in_pages("MemFree:")+ + get_proc_meminfo_value_in_pages("Buffers:")+ + get_proc_meminfo_value_in_pages("Cached:") : + get_proc_meminfo_value_in_pages("MemTotal:"); } #endif +void *initial_sbrk=NULL; + int update_real_maxpage(void) { ufixnum i,j,k; void *end,*cur,*beg; + ufixnum free_phys_pages=get_phys_pages_no_malloc(1),maxpages; #ifdef __MINGW32__ static fixnum n; @@ -215,6 +226,8 @@ update_real_maxpage(void) { } #endif + phys_pages=get_phys_pages_no_malloc(1); + massert(cur=sbrk(0)); beg=data_start ? data_start : cur; for (i=0,j=(1L<PAGESIZE;j>>=1) @@ -225,30 +238,46 @@ update_real_maxpage(void) { } massert(!mbrk(cur)); - phys_pages=get_phys_pages_no_malloc(); +/* phys_pages=get_phys_pages_no_malloc(0); */ -#ifdef BRK_DOES_NOT_GUARANTEE_ALLOCATION - if (phys_pages>0 && real_maxpage>phys_pages+page(beg)) real_maxpage=phys_pages+page(beg); -#endif +/* #ifdef BRK_DOES_NOT_GUARANTEE_ALLOCATION */ +/* if (phys_pages>0 && real_maxpage>phys_pages+page(beg)) real_maxpage=phys_pages+page(beg); */ +/* #endif */ + + maxpages=real_maxpage-page(beg); - available_pages=real_maxpage-page(beg); + free_phys_pages=free_phys_pages>maxpages ? maxpages : free_phys_pages; + + resv_pages=available_pages=0; + available_pages=check_avail_pages(); + for (i=t_start,j=0;is.s_dbind!=Cnil) { - new_holepage=available_pages/starting_hole_div; - k=available_pages/20; - j*=starting_relb_heap_mult; - j=j>1); + } + + new_holepage=0; + for (i=t_start;i= dend) { minimize_image(); log_maxpage_bound=l; @@ -352,6 +369,8 @@ gcl_mprotect(void *v,unsigned long l,int } #endif +DEFVAR("*CODE-BLOCK-RESERVE*",sSAcode_block_reserveA,SI,Cnil,""); + int main(int argc, char **argv, char **envp) { @@ -430,9 +449,10 @@ main(int argc, char **argv, char **envp) gcl_init_readline_function(); #endif #ifdef NEED_STACK_CHK_GUARD - __stack_chk_guard=random_ulong();/*Cannot be safely set inside a function which returns*/ + __stack_chk_guard=random_ulong();/*Cannot be safely set inside a function which returns*/ #endif - + allocate_code_block_reserve(); + } #ifdef _WIN32 @@ -549,22 +569,10 @@ initlisp(void) { import(Ct, lisp_package); export(Ct, lisp_package); -#ifdef ANSI_COMMON_LISP -/* Cnil->s.s_hpack = common_lisp_package; */ - import(Cnil, common_lisp_package); - export(Cnil, common_lisp_package); - -/* Ct->s.s_hpack = common_lisp_package; */ - import(Ct, common_lisp_package); - export(Ct, common_lisp_package); -#endif - -/* sLquote = make_ordinary("QUOTE"); */ -/* sLfunction = make_ordinary("FUNCTION"); */ sLlambda = make_ordinary("LAMBDA"); - sLlambda_block = make_ordinary("LAMBDA-BLOCK"); - sLlambda_closure = make_ordinary("LAMBDA-CLOSURE"); - sLlambda_block_closure = make_ordinary("LAMBDA-BLOCK-CLOSURE"); + sSlambda_block = make_si_ordinary("LAMBDA-BLOCK"); + sSlambda_closure = make_si_ordinary("LAMBDA-CLOSURE"); + sSlambda_block_closure = make_si_ordinary("LAMBDA-BLOCK-CLOSURE"); sLspecial = make_ordinary("SPECIAL"); @@ -702,7 +710,7 @@ segmentation_catcher(int i) { /* error("end of file"); */ /* } */ -DEFUNO_NEW("BYE",object,fLbye,LISP +DEFUNO_NEW("BYE",object,fSbye,SI ,0,1,NONE,OO,OO,OO,OO,void,Lby,(object exitc),"") { int n=VFUN_NARGS; int exit_code; @@ -714,9 +722,9 @@ DEFUNO_NEW("BYE",object,fLbye,LISP } -DEFUN_NEW("QUIT",object,fLquit,LISP +DEFUN_NEW("QUIT",object,fSquit,SI ,0,1,NONE,OO,OO,OO,OO,(object exitc),"") -{ return FFN(fLbye)(exitc); } +{ return FFN(fSbye)(exitc); } /* DEFUN_NEW("EXIT",object,fLexit,LISP */ /* ,0,1,NONE,OI,OO,OO,OO,(fixnum exitc),"") */ @@ -976,8 +984,8 @@ FFN(siLsave_system)(void) { saving_system = FALSE; - Lsave(); - alloc_page(-(holepage+nrbpage)); + siLsave(); + alloc_page(-(holepage+2*nrbpage)); } @@ -990,7 +998,7 @@ DEFVAR("*COMMAND-ARGS*",sSAcommand_argsA static void init_main(void) { - make_function("BY", Lby); + make_si_function("BY", Lby); make_si_function("ARGC", siLargc); make_si_function("ARGV", siLargv); --- gcl-2.6.12.orig/o/package.d +++ gcl-2.6.12/o/package.d @@ -1159,17 +1159,12 @@ gcl_init_package() { lisp_package - = make_package(make_simple_string("LISP"), - Cnil, Cnil,47,509); + = make_package(make_simple_string("COMMON-LISP"), + list(2,make_simple_string("CL"),make_simple_string("LISP")),Cnil,47,509); user_package - = make_package(make_simple_string("USER"), - Cnil, + = make_package(make_simple_string("COMMON-LISP-USER"), + list(2,make_simple_string("CL-USER"),make_simple_string("USER")), make_cons(lisp_package, Cnil),509,97); -#ifdef ANSI_COMMON_LISP - common_lisp_package - = make_package(make_simple_string("COMMON-LISP"), - Cnil, Cnil,47,509); -#endif keyword_package = make_package(make_simple_string("KEYWORD"), Cnil, Cnil,11,509); --- gcl-2.6.12.orig/o/predicate.c +++ gcl-2.6.12/o/predicate.c @@ -341,9 +341,9 @@ DEFUNO_NEW("FUNCTIONP",object,fLfunction x0 = Cnil; } else if (t == t_cons) { x = x0->c.c_car; - if (x == sLlambda || x == sLlambda_block || + if (x == sLlambda || x == sSlambda_block || x == sSlambda_block_expanded || - x == sLlambda_closure || x == sLlambda_block_closure) + x == sSlambda_closure || x == sSlambda_block_closure) x0 = Ct; else x0 = Cnil; @@ -358,6 +358,14 @@ fLfunctionp(object x) { #endif +DEFUNO_NEW("COMMONP",object,fScommonp,SI,1,1,NONE,OO,OO,OO,OO,void,siLcommonp,(object x0),"") { + if (type_of(x0) != t_spice) + x0 = Ct; + else + x0 = Cnil; + RETURN1(x0); +} + DEFUNO_NEW("COMPILED-FUNCTION-P",object,fLcompiled_function_p,LISP ,1,1,NONE,OO,OO,OO,OO,void,Lcompiled_function_p,(object x0),"") @@ -377,18 +385,6 @@ DEFUNO_NEW("COMPILED-FUNCTION-P",object, x0 = Ct; else x0 = Cnil; -RETURN1(x0);} - -DEFUNO_NEW("COMMONP",object,fLcommonp,LISP - ,1,1,NONE,OO,OO,OO,OO,void,Lcommonp,(object x0),"") - -{ - /* 1 args */; - - if (type_of(x0) != t_spice) - x0 = Ct; - else - x0 = Cnil; RETURN1(x0);} DEFUN_NEW("EQ",object,fLeq,LISP,2,2,NONE,OO,OO,OO,OO,(object x0,object x1),"") { --- gcl-2.6.12.orig/o/read.d +++ gcl-2.6.12/o/read.d @@ -2152,7 +2152,8 @@ LFD(Lreadtablep)() rdtbl->rt.rt_self[c].rte_chattrib = cat_terminating; rdtbl->rt.rt_self[c].rte_macro = fnc; - @(return Ct) + SGC_TOUCH(rdtbl); + @(return Ct) @) @(defun get_macro_character (chr &optional (rdtbl `current_readtable()`)) --- gcl-2.6.12.orig/o/reference.c +++ gcl-2.6.12/o/reference.c @@ -82,7 +82,7 @@ LFD(Lsymbol_function)(void) FEundefined_function(sym); if (sym->s.s_mflag) { vs_push(sym->s.s_gfdef); - vs_base[0] = sLmacro; + vs_base[0] = sSmacro; stack_cons(); return; } @@ -131,7 +131,7 @@ FFN(Ffunction)(object form) vs_base[0] = MMcons(lex_env[2], vs_base[0]); vs_base[0] = MMcons(lex_env[1], vs_base[0]); vs_base[0] = MMcons(lex_env[0], vs_base[0]); - vs_base[0] = MMcons(sLlambda_closure, vs_base[0]); + vs_base[0] = MMcons(sSlambda_closure, vs_base[0]); } else FEinvalid_function(fun); } @@ -173,7 +173,7 @@ LFD(Lmacro_function)(void) vs_base[0] = Cnil; } -LFD(Lspecial_form_p)(void) +LFD(Lspecial_operator_p)(void) { check_arg(1); if (type_of(vs_base[0]) != t_symbol) @@ -194,7 +194,6 @@ gcl_init_reference(void) make_function("SYMBOL-VALUE", Lsymbol_value); make_function("BOUNDP", Lboundp); make_function("MACRO-FUNCTION", Lmacro_function); - make_function("SPECIAL-FORM-P", Lspecial_form_p); - make_function("SPECIAL-OPERATOR-P", Lspecial_form_p); + make_function("SPECIAL-OPERATOR-P", Lspecial_operator_p); } --- gcl-2.6.12.orig/o/run_process.c +++ gcl-2.6.12/o/run_process.c @@ -432,7 +432,7 @@ enum smmode smm; stream->sm.sm_fp = fp; stream->sm.sm_buffer = 0; - stream->sm.sm_object0 = sLstring_char; + stream->sm.sm_object0 = sLcharacter; stream->sm.sm_object1 = host_l; stream->sm.sm_int0 = stream->sm.sm_int1 = 0; vs_push(stream); --- gcl-2.6.12.orig/o/save.c +++ gcl-2.6.12/o/save.c @@ -16,11 +16,12 @@ memory_save(char *original_file, char *s extern void _cleanup(); #endif -LFD(Lsave)(void) { +LFD(siLsave)(void) { char filename[256]; extern char *kcl_self; - + extern void *initial_sbrk; + check_arg(1); check_type_or_pathname_string_symbol_stream(&vs_base[0]); coerce_to_filename(vs_base[0], filename); @@ -33,7 +34,8 @@ LFD(Lsave)(void) { raw_image=FALSE; cs_org=0; - + initial_sbrk=core_end; + #ifdef MEMORY_SAVE MEMORY_SAVE(kcl_self,filename); #else --- gcl-2.6.12.orig/o/sfaslbfd.c +++ gcl-2.6.12/o/sfaslbfd.c @@ -212,7 +212,7 @@ fasload(object faslfile) { set_type_of(&dum,t_stream); dum.sm.sm_mode=smm_input; - dum.sm.sm_object0=sLstring_char; + dum.sm.sm_object0=sLcharacter; link_callbacks.add_archive_element=madd_archive_element; link_callbacks.multiple_definition=mmultiple_definition; --- gcl-2.6.12.orig/o/sfaslelf.c +++ gcl-2.6.12/o/sfaslelf.c @@ -58,7 +58,7 @@ License for more details. #define LOAD_SYM(sym) ({ul _b=ELF_ST_BIND(sym->st_info),_t=ELF_ST_TYPE(sym->st_info); \ sym->st_value && (_b==STB_GLOBAL || _b==STB_WEAK || (_t>=STT_LOPROC && _t<=STT_HIPROC));}) -#define MASK(n) (~(~0L << (n))) +#define MASK(n) (~(~0ULL << (n))) @@ -242,6 +242,46 @@ relocate_symbols(Sym *sym,Sym *syme,Shdr } +#ifndef MAX_CODE_ADDRESS +#define MAX_CODE_ADDRESS -1UL +#endif + +static void * +alloc_memory(ul sz) { + + void *v; + + if (sSAcode_block_reserveA && + sSAcode_block_reserveA->s.s_dbind!=Cnil && sSAcode_block_reserveA->s.s_dbind->st.st_dim>=sz) { + + v=sSAcode_block_reserveA->s.s_dbind->st.st_self; + sSAcode_block_reserveA->s.s_dbind->st.st_self+=sz; + sSAcode_block_reserveA->s.s_dbind->st.st_dim-=sz; + sSAcode_block_reserveA->s.s_dbind->st.st_fillp=sSAcode_block_reserveA->s.s_dbind->st.st_dim; + + } else + v=alloc_contblock(sz); + + massert(v && (ul)(v+sz)s.s_dbind=alloc_simple_string(n); + sSAcode_block_reserveA->s.s_dbind->st.st_self=alloc_memory(n); + +} + static object load_memory(Shdr *sec1,Shdr *sece,void *v1,ul **got,ul **gote) { @@ -275,9 +315,7 @@ load_memory(Shdr *sec1,Shdr *sece,void * memory->cfd.cfd_size=sz; memory->cfd.cfd_self=0; memory->cfd.cfd_start=0; - prefer_low_mem_contblock=TRUE; - memory->cfd.cfd_start=alloc_contblock(sz); - prefer_low_mem_contblock=FALSE; + memory->cfd.cfd_start=alloc_memory(sz); a=(ul)memory->cfd.cfd_start; a=(a+ma)&~ma; --- gcl-2.6.12.orig/o/sgbc.c +++ gcl-2.6.12/o/sgbc.c @@ -7,9 +7,6 @@ */ -static void -sgc_mark_object1(object); - #ifdef BSD /* ulong may have been defined in mp.h but the define is no longer needed */ #undef ulong @@ -51,81 +48,12 @@ int gclmprotect ( void *addr, size_t len #include -/* void segmentation_catcher(void); */ - - -#define sgc_mark_pack_list(u) \ -do {register object xtmp = u; \ - while (xtmp != Cnil) \ - {if (ON_WRITABLE_PAGE(xtmp)) {mark(xtmp);} \ - sgc_mark_object(xtmp->c.c_car); \ - xtmp=Scdr(xtmp);}}while(0) - - #ifdef SDEBUG object sdebug; joe1(){;} joe() {;} #endif -/* static void */ -/* sgc_mark_cons(object x) { */ - -/* cs_check(x); */ - -/* /\* x is already marked. *\/ */ - -/* BEGIN: */ -/* #ifdef SDEBUG */ -/* if(x==sdebug) joe1(); */ -/* #endif */ -/* sgc_mark_object(x->c.c_car); */ -/* #ifdef OLD */ -/* IF_WRITABLE(x->c.c_car, goto MARK_CAR;); */ -/* goto MARK_CDR; */ - -/* MARK_CAR: */ -/* if (!is_marked_or_free(x->c.c_car)) { */ -/* if (consp(x->c.c_car)) { */ -/* mark(x->c.c_car); */ -/* sgc_mark_cons(x->c.c_car); */ -/* } else */ -/* sgc_mark_object1(x->c.c_car);} */ -/* MARK_CDR: */ -/* #endif */ -/* /\* if (is_imm_fixnum(x->c.c_cdr)) return; *\/ */ -/* x = Scdr(x); */ -/* IF_WRITABLE(x, goto WRITABLE_CDR;); */ -/* return; */ -/* WRITABLE_CDR: */ -/* if (is_marked_or_free(x)) return; */ -/* if (consp(x)) { */ -/* mark(x); */ -/* goto BEGIN; */ -/* } */ -/* sgc_mark_object1(x); */ -/* } */ - -inline void -sgc_mark_cons(object x) { - - do { - object d=x->c.c_cdr; - mark(x); - sgc_mark_object(x->c.c_car); - x=d; - if (!IS_WRITABLE(page(x)) || is_marked_or_free(x))/*catches Cnil*/ - return; - } while (cdr_listp(x)); - sgc_mark_object(x); - -} - -/* Whenever two arrays are linked together by displacement, - if one is live, the other will be made live */ -#define sgc_mark_displaced_field(ar) sgc_mark_object(ar->a.a_displaced) - - /* structures and arrays of type t, need to be marked if their bodies are not write protected even if the headers are. So we should keep these on pages particular to them. @@ -134,415 +62,6 @@ sgc_mark_cons(object x) { This takes only 1.47 as opposed to 1.33 microseconds per set. */ static void -sgc_mark_object1(object x) { - - fixnum i,j; - object *p; - char *cp; - enum type tp; - - cs_check(x); - BEGIN: -#ifdef SDEBUG - if (x == OBJNULL || !ON_WRITABLE_PAGE(x)) - return; - IF_WRITABLE(x,goto OK); - joe(); - OK: -#endif - if (is_marked_or_free(x)) - return; -#ifdef SDEBUG - if(x==sdebug) joe1(); -#endif - - tp=type_of(x); - - if (tp==t_cons) { - sgc_mark_cons(x); - return; - } - - mark(x); - - switch (tp) { - - case t_fixnum: - break; - - case t_ratio: - sgc_mark_object(x->rat.rat_num); - x = x->rat.rat_den; - IF_WRITABLE(x,if(!is_marked_or_free(x)) goto BEGIN); - - case t_shortfloat: - break; - - case t_longfloat: - break; - - case t_complex: - sgc_mark_object(x->cmp.cmp_imag); - x = x->cmp.cmp_real; - IF_WRITABLE(x,if(!is_marked_or_free(x)) goto BEGIN); - - case t_character: - break; - - case t_symbol: - IF_WRITABLE(x->s.s_plist,if(!is_marked_or_free(x->s.s_plist)) - {/* mark(x->s.s_plist); */ - sgc_mark_cons(x->s.s_plist);}); - sgc_mark_object(x->s.s_gfdef); - sgc_mark_object(x->s.s_dbind); - if (x->s.s_self == NULL) - break; - /* to do */ - if (inheap(x->s.s_self)) { - if (what_to_collect == t_contiguous) - mark_contblock(x->s.s_self,x->s.s_fillp); - } else if (SGC_RELBLOCK_P(x->s.s_self) && COLLECT_RELBLOCK_P) - x->s.s_self = copy_relblock(x->s.s_self, x->s.s_fillp); - break; - - case t_package: - sgc_mark_object(x->p.p_name); - sgc_mark_object(x->p.p_nicknames); - sgc_mark_object(x->p.p_shadowings); - sgc_mark_object(x->p.p_uselist); - sgc_mark_object(x->p.p_usedbylist); - if (what_to_collect == t_contiguous) { - if (x->p.p_internal != NULL) - mark_contblock((char *)(x->p.p_internal), - x->p.p_internal_size*sizeof(object)); - if (x->p.p_external != NULL) - mark_contblock((char *)(x->p.p_external), - x->p.p_external_size*sizeof(object)); - } - break; - - case t_hashtable: - sgc_mark_object(x->ht.ht_rhsize); - sgc_mark_object(x->ht.ht_rhthresh); - if (x->ht.ht_self == NULL) - break; - for (i = 0, j = x->ht.ht_size; i < j; i++) { - if (ON_WRITABLE_PAGE(&x->ht.ht_self[i])) { - sgc_mark_object(x->ht.ht_self[i].hte_key); - sgc_mark_object(x->ht.ht_self[i].hte_value); - } - } - if (inheap(x->ht.ht_self)) { - if (what_to_collect == t_contiguous) - mark_contblock((char *)(x->ht.ht_self),j * sizeof(struct htent)); - } else if (SGC_RELBLOCK_P(x->ht.ht_self) && COLLECT_RELBLOCK_P) - x->ht.ht_self=(void *)copy_relblock((char *)x->ht.ht_self,j*sizeof(struct htent));; - break; - - case t_array: - if ((x->a.a_displaced) != Cnil) - sgc_mark_displaced_field(x); - if (x->a.a_dims != NULL) { - if (inheap(x->a.a_dims)) { - if (what_to_collect == t_contiguous) - mark_contblock((char *)(x->a.a_dims),sizeof(int)*x->a.a_rank); - } else if (SGC_RELBLOCK_P(x->a.a_dims) && COLLECT_RELBLOCK_P) - x->a.a_dims = (int *) copy_relblock((char *)(x->a.a_dims),sizeof(int)*x->a.a_rank); - } - if ((enum aelttype)x->a.a_elttype == aet_ch) - goto CASE_STRING; - if ((enum aelttype)x->a.a_elttype == aet_bit) - goto CASE_BITVECTOR; - if ((enum aelttype)x->a.a_elttype == aet_object) - goto CASE_GENERAL; - - CASE_SPECIAL: - cp = (char *)(x->fixa.fixa_self); - if (cp == NULL) - break; - /* set j to the size in char of the body of the array */ - - switch((enum aelttype)x->a.a_elttype){ - case aet_lf: - j= sizeof(longfloat)*x->lfa.lfa_dim; - if ((COLLECT_RELBLOCK_P) && !(inheap(cp)) && SGC_RELBLOCK_P(x->a.a_self)) - ROUND_RB_POINTERS_DOUBLE;/*FIXME gc space violation*/ - break; - case aet_char: - case aet_uchar: - j=sizeof(char)*x->a.a_dim; - break; - case aet_short: - case aet_ushort: - j=sizeof(short)*x->a.a_dim; - break; - default: - j=sizeof(fixnum)*x->fixa.fixa_dim;} - - goto COPY; - - CASE_GENERAL: - p = x->a.a_self; - if (p == NULL -#ifdef HAVE_ALLOCA - || (char *)p >= core_end -#endif - - ) - break; - j=0; - if (x->a.a_displaced->c.c_car == Cnil) - for (i = 0, j = x->a.a_dim; i < j; i++) - if (ON_WRITABLE_PAGE(&p[i])) - sgc_mark_object(p[i]); - cp = (char *)p; - j *= sizeof(object); - COPY: - if (inheap(cp)) { - if (what_to_collect == t_contiguous) - mark_contblock(cp, j); - } else if (SGC_RELBLOCK_P(cp) && COLLECT_RELBLOCK_P) { - if (x->a.a_displaced == Cnil) { -#ifdef HAVE_ALLOCA - if (!NULL_OR_ON_C_STACK(cp)) /* only if body of array not on C stack */ -#endif - x->a.a_self = (object *)copy_relblock(cp, j); - } else if (x->a.a_displaced->c.c_car == Cnil) { - i = (long)(object *)copy_relblock(cp, j) - (long)(x->a.a_self); - adjust_displaced(x, i); - } - } - break; - - case t_vector: - if ((x->v.v_displaced) != Cnil) - sgc_mark_displaced_field(x); - if ((enum aelttype)x->v.v_elttype == aet_object) - goto CASE_GENERAL; - else - goto CASE_SPECIAL; - - case t_bignum: -#ifdef SDEBUG - if (TYPE_MAP(page(x->big.big_self)) < t_contiguous) - printf("bad body for %x (%x)\n",x,cp); -#endif -#ifndef GMP_USE_MALLOC - j = MP_ALLOCATED(x); - cp = (char *)MP_SELF(x); - if (cp == 0) - break; - j = j * MP_LIMB_SIZE; - if (inheap(cp)) { - if (what_to_collect == t_contiguous) - mark_contblock(cp, j); - } else if (SGC_RELBLOCK_P(cp) && COLLECT_RELBLOCK_P) - MP_SELF(x) = (void *) copy_relblock(cp, j); -#endif /* not GMP_USE_MALLOC */ - break; - - - CASE_STRING: - case t_string: - if ((x->st.st_displaced) != Cnil) - sgc_mark_displaced_field(x); - j = x->st.st_dim; - cp = x->st.st_self; - if (cp == NULL) - break; - - COPY_STRING: - if (inheap(cp)) { - if (what_to_collect == t_contiguous) - mark_contblock(cp, j); - } else if (SGC_RELBLOCK_P(cp) && COLLECT_RELBLOCK_P) { - if (x->st.st_displaced == Cnil) - x->st.st_self = copy_relblock(cp, j); - else if (x->st.st_displaced->c.c_car == Cnil) { - i = copy_relblock(cp, j) - cp; - adjust_displaced(x, i); - } - } - break; - - CASE_BITVECTOR: - case t_bitvector: - if ((x->bv.bv_displaced) != Cnil) - sgc_mark_displaced_field(x); - /* We make bitvectors multiple of sizeof(int) in size allocated - Assume 8 = number of bits in char */ - -#define W_SIZE (8*sizeof(fixnum)) - j= sizeof(fixnum) * - ((BV_OFFSET(x) + x->bv.bv_dim + W_SIZE -1)/W_SIZE); - cp = x->bv.bv_self; - if (cp == NULL) - break; - goto COPY_STRING; - - case t_structure: - sgc_mark_object(x->str.str_def); - p = x->str.str_self; - if (p == NULL) - break; - { - object def=x->str.str_def; - unsigned char *s_type = &SLOT_TYPE(def,0); - unsigned short *s_pos = &SLOT_POS (def,0); - for (i = 0, j = S_DATA(def)->length; i < j; i++) - if (s_type[i]==0 && ON_WRITABLE_PAGE(&STREF(object,x,s_pos[i]))) - sgc_mark_object(STREF(object,x,s_pos[i])); - if (inheap(x->str.str_self)) { - if (what_to_collect == t_contiguous) - mark_contblock((char *)p,S_DATA(def)->size); - } else if (SGC_RELBLOCK_P(p) && (COLLECT_RELBLOCK_P)) - x->str.str_self = (object *) copy_relblock((char *)p, S_DATA(def)->size); - } - break; - - case t_stream: - switch (x->sm.sm_mode) { - case smm_input: - case smm_output: - case smm_io: - case smm_socket: - case smm_probe: - sgc_mark_object(x->sm.sm_object0); - sgc_mark_object(x->sm.sm_object1); - if (what_to_collect == t_contiguous && - x->sm.sm_fp && - x->sm.sm_buffer) - mark_contblock(x->sm.sm_buffer, BUFSIZ); - break; - - case smm_synonym: - sgc_mark_object(x->sm.sm_object0); - break; - - case smm_broadcast: - case smm_concatenated: - sgc_mark_object(x->sm.sm_object0); - break; - - case smm_two_way: - case smm_echo: - sgc_mark_object(x->sm.sm_object0); - sgc_mark_object(x->sm.sm_object1); - break; - - case smm_string_input: - case smm_string_output: - sgc_mark_object(x->sm.sm_object0); - break; -#ifdef USER_DEFINED_STREAMS - case smm_user_defined: - sgc_mark_object(x->sm.sm_object0); - sgc_mark_object(x->sm.sm_object1); - break; -#endif - default: - error("mark stream botch"); - } - break; - -#define SGC_MARK_CP(a_,b_) {fixnum _t=(b_);if (inheap((a_))) {\ - if (what_to_collect == t_contiguous) mark_contblock((void *)(a_),_t); \ - } else if (SGC_RELBLOCK_P((a_)) && COLLECT_RELBLOCK_P) (a_)=(void *)copy_relblock((void *)(a_),_t);} - -#define SGC_MARK_MP(a_) {if ((a_)->_mp_d) SGC_MARK_CP((a_)->_mp_d,(a_)->_mp_alloc*MP_LIMB_SIZE);} - - case t_random: - SGC_MARK_MP(x->rnd.rnd_state._mp_seed); -#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 2) - if (x->rnd.rnd_state._mp_algdata._mp_lc) { - SGC_MARK_MP(x->rnd.rnd_state._mp_algdata._mp_lc->_mp_a); - if (!x->rnd.rnd_state._mp_algdata._mp_lc->_mp_m2exp) SGC_MARK_MP(x->rnd.rnd_state._mp_algdata._mp_lc->_mp_m); - SGC_MARK_CP(x->rnd.rnd_state._mp_algdata._mp_lc,sizeof(*x->rnd.rnd_state._mp_algdata._mp_lc)); - } -#endif - break; - - case t_readtable: - if (x->rt.rt_self == NULL) - break; - if (what_to_collect == t_contiguous) - mark_contblock((char *)(x->rt.rt_self),RTABSIZE*sizeof(struct rtent)); - for (i = 0; i < RTABSIZE; i++) { - sgc_mark_object(x->rt.rt_self[i].rte_macro); - if (x->rt.rt_self[i].rte_dtab != NULL) { - if (what_to_collect == t_contiguous) - mark_contblock((char *)(x->rt.rt_self[i].rte_dtab),RTABSIZE*sizeof(object)); - for (j = 0; j < RTABSIZE; j++) - sgc_mark_object(x->rt.rt_self[i].rte_dtab[j]); - } - } - break; - - case t_pathname: - sgc_mark_object(x->pn.pn_host); - sgc_mark_object(x->pn.pn_device); - sgc_mark_object(x->pn.pn_directory); - sgc_mark_object(x->pn.pn_name); - sgc_mark_object(x->pn.pn_type); - sgc_mark_object(x->pn.pn_version); - break; - - case t_closure: - { - int i ; - for (i= 0 ; i < x->cl.cl_envdim ; i++) - sgc_mark_object(x->cl.cl_env[i]); - if (SGC_RELBLOCK_P(x->cl.cl_env) && COLLECT_RELBLOCK_P) - x->cl.cl_env=(void *)copy_relblock((void *)x->cl.cl_env,x->cl.cl_envdim*sizeof(object)); - - } - - case t_cfun: - case t_sfun: - case t_vfun: - case t_afun: - case t_gfun: - sgc_mark_object(x->cf.cf_name); - sgc_mark_object(x->cf.cf_data); - break; - - case t_cfdata: - - if (x->cfd.cfd_self != NULL) { - int i=x->cfd.cfd_fillp; - while(i-- > 0) - sgc_mark_object(x->cfd.cfd_self[i]); - } - if (what_to_collect == t_contiguous) { - mark_contblock(x->cfd.cfd_start, x->cfd.cfd_size); - mark_link_array(x->cfd.cfd_start,x->cfd.cfd_start+x->cfd.cfd_size); - } - break; - case t_cclosure: - sgc_mark_object(x->cc.cc_name); - sgc_mark_object(x->cc.cc_env); - sgc_mark_object(x->cc.cc_data); - if (x->cc.cc_turbo!=NULL) { - sgc_mark_object(*(x->cc.cc_turbo-1)); - if (SGC_RELBLOCK_P(x->cc.cc_turbo) && COLLECT_RELBLOCK_P) - x->cc.cc_turbo=(void *)copy_relblock((char *)(x->cc.cc_turbo-1),(1+fix(*(x->cc.cc_turbo-1)))*sizeof(object))+sizeof(object); - } - break; - - case t_spice: - break; - - default: -#ifdef DEBUG - if (debug) - printf("\ttype = %d\n", type_of(x)); -#endif - error("mark botch"); - } - -} - -static void sgc_mark_phase(void) { STATIC fixnum i, j; @@ -552,8 +71,8 @@ sgc_mark_phase(void) { STATIC ihs_ptr ihsp; STATIC struct pageinfo *v; - sgc_mark_object(Cnil->s.s_plist); - sgc_mark_object(Ct->s.s_plist); + mark_object(Cnil->s.s_plist); + mark_object(Ct->s.s_plist); /* mark all non recent data on writable pages */ { @@ -563,15 +82,17 @@ sgc_mark_phase(void) { for (v=cell_list_head;v;v=v->next) { i=page(v); - if (!WRITABLE_PAGE_P(i)) continue; + if (v->sgc_flags&SGC_PAGE_FLAG || !WRITABLE_PAGE_P(i)) continue; t=v->type; tm=tm_of(t); p=pagetochar(i); for (j = tm->tm_nppage; --j >= 0; p += tm->tm_size) { object x = (object) p; - if (SGC_OR_M(x)) continue; - sgc_mark_object1(x); +#ifndef SGC_WHOLE_PAGE + if (TYPEWORD_TYPE_P(v->type) && x->d.s) continue; +#endif + mark_object1(x); } } } @@ -595,24 +116,24 @@ sgc_mark_phase(void) { mark_stack_carefully(MVloc+(sizeof(MVloc)/sizeof(object)),MVloc,0); for (bdp = bds_org; bdp<=bds_top; bdp++) { - sgc_mark_object(bdp->bds_sym); - sgc_mark_object(bdp->bds_val); + mark_object(bdp->bds_sym); + mark_object(bdp->bds_val); } for (frp = frs_org; frp <= frs_top; frp++) - sgc_mark_object(frp->frs_val); + mark_object(frp->frs_val); for (ihsp = ihs_org; ihsp <= ihs_top; ihsp++) - sgc_mark_object(ihsp->ihs_function); + mark_object(ihsp->ihs_function); for (i = 0; i < mark_origin_max; i++) - sgc_mark_object(*mark_origin[i]); + mark_object(*mark_origin[i]); for (i = 0; i < mark_origin_block_max; i++) for (j = 0; j < mark_origin_block[i].mob_size; j++) - sgc_mark_object(mark_origin_block[i].mob_addr[j]); + mark_object(mark_origin_block[i].mob_addr[j]); for (pp = pack_pointer; pp != NULL; pp = pp->p_link) - sgc_mark_object((object)pp); + mark_object((object)pp); #ifdef KCLOVM if (ovm_process_created) sgc_mark_all_stacks(); @@ -624,20 +145,6 @@ sgc_mark_phase(void) { fflush(stdout); } #endif - { - int size; - - for (pp = pack_pointer; pp != NULL; pp = pp->p_link) { - size = pp->p_internal_size; - if (pp->p_internal != NULL) - for (i = 0; i < size; i++) - sgc_mark_pack_list(pp->p_internal[i]); - size = pp->p_external_size; - if (pp->p_external != NULL) - for (i = 0; i < size; i++) - sgc_mark_pack_list(pp->p_external[i]); - } - } mark_c_stack(0,N_RECURSION_REQD,mark_stack_carefully); @@ -657,9 +164,6 @@ sgc_sweep_phase(void) { tm = tm_of((enum type)v->type); - if (!WRITABLE_PAGE_P(page(v))) - continue; - p = pagetochar(page(v)); f = tm->tm_free; k = 0; @@ -678,14 +182,18 @@ sgc_sweep_phase(void) { continue; } - if (TYPEWORD_TYPE_P(pageinfo(x)->type) && x->d.s == SGC_NORMAL) +#ifndef SGC_WHOLE_PAGE + if (TYPEWORD_TYPE_P(v->type) && x->d.s == SGC_NORMAL) continue; +#endif /* it is ok to free x */ SET_LINK(x,f); make_free(x); +#ifndef SGC_WHOLE_PAGE if (TYPEWORD_TYPE_P(v->type)) x->d.s = SGC_RECENT; +#endif f = x; k++; @@ -694,7 +202,7 @@ sgc_sweep_phase(void) { tm->tm_nfree += k; v->in_use-=k; - } else /*non sgc_page */ + } else if (WRITABLE_PAGE_P(page(v))) /*non sgc_page */ for (j = tm->tm_nppage; --j >= 0; p += size) { x = (object)p; if (is_marked(x) && !is_free(x)) { @@ -711,9 +219,9 @@ sgc_contblock_sweep_phase(void) { STATIC char *s, *e, *p, *q; STATIC struct pageinfo *v; + + reset_contblock_freelist(); - cb_pointer = NULL; - ncb = 0; for (v=contblock_list_head;v;v=v->next) { bool z; @@ -739,13 +247,6 @@ sgc_contblock_sweep_phase(void) { } - - -#define PAGE_ROUND_UP(adr) \ - ((char *)(PAGESIZE*(((long)(adr)+PAGESIZE -1) >> PAGEWIDTH))) - -/* char *old_rb_start; */ - #undef tm #ifdef SDEBUG @@ -763,11 +264,11 @@ sgc_count(object yy) { fixnum writable_pages=0; -/* count writable pages excluding the hole */ +/* count read-only pages */ static fixnum -sgc_count_writable(void) { +sgc_count_read_only(void) { - return page(core_end)-page(rb_start)+writable_pages-(page(old_rb_start)-page(heap_end)); + return sgc_enabled ? sSAwritableA->s.s_dbind->v.v_dim-writable_pages : 0; } @@ -1031,7 +532,11 @@ memprotect_test_reset(void) { /* If opt_maxpage is set, add full pages to the sgc set if needed too. 20040804 CM*/ /* #define FSGC(tm) (tm->tm_type==t_cons ? tm->tm_nppage : (tm->tm_opt_maxpage ? 0 : tm->tm_sgc_minfree)) */ +#ifdef SGC_WHOLE_PAGE +#define FSGC(tm) tm->tm_nppage +#else #define FSGC(tm) (!TYPEWORD_TYPE_P(tm->tm_type) ? tm->tm_nppage : tm->tm_sgc_minfree) +#endif DEFVAR("*WRITABLE*",sSAwritableA,SI,Cnil,""); @@ -1047,13 +552,16 @@ sgc_start(void) { object omp=sSAoptimize_maximum_pagesA->s.s_dbind; double tmp,scale; + allocate_more_pages=0; + if (sgc_enabled) + return 1; + sSAoptimize_maximum_pagesA->s.s_dbind=Cnil; if (memprotect_result!=memprotect_success && do_memprotect_test()) return 0; - if (sgc_enabled) - return 1; + empty_relblock(); /* Reset maxpage statistics if not invoked automatically on a hole overrun. 20040804 CM*/ @@ -1193,26 +701,7 @@ sgc_start(void) { } - /* Now allocate the sgc relblock. We do this as the tail - end of the ordinary rb. */ - { - char *new; - tm=tm_of(t_relocatable); - - { - old_rb_start=rb_start; - if(((unsigned long)WSGC(tm)) && allocate_more_pages) { - new=alloc_relblock(((unsigned long)WSGC(tm))*PAGESIZE); - /* the above may cause a gc, shifting the relblock */ - old_rb_start=rb_start; - new= PAGE_ROUND_UP(new); - } else new=PAGE_ROUND_UP(rb_pointer); - rb_start=rb_pointer=new; - } - } - /* the relblock has been allocated */ - - sSAwritableA->s.s_dbind=fSmake_vector1_1((page(rb_start)-first_data_page),aet_bit,Cnil); + sSAwritableA->s.s_dbind=fSmake_vector1_1((page(heap_end)-first_data_page),aet_bit,Ct); wrimap=(void *)sSAwritableA->s.s_dbind->v.v_self; /* now move the sgc free lists into place. alt_free should @@ -1231,12 +720,16 @@ sgc_start(void) { #endif if (pageinfo(f)->sgc_flags&SGC_PAGE_FLAG) { SET_LINK(f,x); +#ifndef SGC_WHOLE_PAGE if (TYPEWORD_TYPE_P(pageinfo(f)->type)) f->d.s = SGC_RECENT; +#endif x=f; count++; } else { SET_LINK(f,y); +#ifndef SGC_WHOLE_PAGE if (TYPEWORD_TYPE_P(pageinfo(f)->type)) f->d.s = SGC_NORMAL; +#endif y=f; } f=next; @@ -1253,9 +746,12 @@ sgc_start(void) { { - struct contblock *new_cb_pointer=NULL,*tmp_cb_pointer=NULL,**cbpp; + struct contblock **cbpp; void *p=NULL,*pe; struct pageinfo *pi; + + old_cb_pointer=cb_pointer; + reset_contblock_freelist(); for (pi=contblock_list_head;pi;pi=pi->next) { @@ -1264,26 +760,17 @@ sgc_start(void) { p=CB_DATA_START(pi); pe=p+CB_DATA_SIZE(pi->in_use); - for (cbpp=&cb_pointer;*cbpp;) + for (cbpp=&old_cb_pointer;*cbpp;) if ((void *)*cbpp>=p && (void *)*cbppcb_size,*l=(*cbpp)->cb_link; set_sgc_bits(pi,s,e); - tmp_cb_pointer=cb_pointer; - cb_pointer=new_cb_pointer; insert_contblock(s,e-s); - new_cb_pointer=cb_pointer; - cb_pointer=tmp_cb_pointer; *cbpp=l; } else cbpp=&(*cbpp)->cb_link; } - /* SGC contblock pages: switch to new free SGC contblock list. CM - 20030827 */ - old_cb_pointer=cb_pointer; - cb_pointer=new_cb_pointer; - #ifdef SGC_CONT_DEBUG overlap_check(old_cb_pointer,cb_pointer); #endif @@ -1315,11 +802,13 @@ sgc_start(void) { SET_WRITABLE(i); } - for (i=page(heap_end);itm_alt_npage=page(rb_start)-page(old_rb_start); - for (i=page(rb_start);is.s_dbind; + for (i=page(v->v.v_self);i<=page(v->v.v_self+CEI(v->bv.bv_offset+v->v.v_dim-1,8*sizeof(fixnum))/(8*sizeof(fixnum)));i++) SET_WRITABLE(i); + } + + tm_of(t_relocatable)->tm_alt_npage=0; fault_pages=0; @@ -1363,8 +852,7 @@ sgc_quit(void) { struct typemanager *tm; struct contblock *tmp_cb_pointer,*next; - unsigned long i,j,np; - char *p; + unsigned long i,np; struct pageinfo *v; memory_protect(0); @@ -1379,7 +867,6 @@ sgc_quit(void) { wrimap=NULL; sgc_enabled=0; - rb_start = old_rb_start; /* SGC cont pages: restore contblocks, each tmp_cb_pointer coming from the new list is guaranteed not to be on the old. Need to @@ -1389,9 +876,7 @@ sgc_quit(void) { #ifdef SGC_CONT_DEBUG overlap_check(old_cb_pointer,cb_pointer); #endif - tmp_cb_pointer=cb_pointer; - cb_pointer=old_cb_pointer; - for (;tmp_cb_pointer; tmp_cb_pointer=next) { + for (tmp_cb_pointer=old_cb_pointer;tmp_cb_pointer; tmp_cb_pointer=next) { next=tmp_cb_pointer->cb_link; insert_contblock((void *)tmp_cb_pointer,tmp_cb_pointer->cb_size); } @@ -1440,11 +925,13 @@ sgc_quit(void) { /*FIXME*/ /* remove the recent flag from any objects on sgc pages */ - for (v=cell_list_head;v;v=v->next) +#ifndef SGC_WHOLE_PAGE + for (v=cell_list_head;v;v=v->next) if (v->type==(tm=tm_of(v->type))->tm_type && TYPEWORD_TYPE_P(v->type) && v->sgc_flags & SGC_PAGE_FLAG) for (p=pagetochar(page(v)),j=tm->tm_nppage;j>0;--j,p+=tm->tm_size) - ((object) p)->d.s=SGC_NORMAL; - + ((object) p)->d.s=SGC_NORMAL; +#endif + for (v=contblock_list_head;v;v=v->next) if (v->sgc_flags&SGC_PAGE_FLAG) bzero(CB_SGCF_START(v),CB_DATA_START(v)-CB_SGCF_START(v)); @@ -1488,7 +975,6 @@ memprotect_handler(int sig, long code, v faddr = addr; #endif p = page(faddr); - /* p = ROUND_DOWN_PAGE_NO(p); */ if (p >= first_protectable_page && faddr < (void *)core_end && !(WRITABLE_PAGE_P(p))) { @@ -1560,10 +1046,10 @@ memory_protect(int on) { INSTALL_MPROTECT_HANDLER; beg=first_protectable_page; - writable = IS_WRITABLE(beg); + writable = WRITABLE_PAGE_P(beg); for (i=beg ; ++i<= end; ) { - if (writable==IS_WRITABLE(i) && i<=end) continue; + if (writable==WRITABLE_PAGE_P(i) && ist.st_self = alloc_relblock(fix(size)); --- gcl-2.6.12.orig/o/structure.c +++ gcl-2.6.12/o/structure.c @@ -257,7 +257,7 @@ LFD(siLmake_structure)(void) } static void -FFN(siLcopy_structure)(void) +FFN(Lcopy_structure)(void) { object x, y; struct s_data *def; @@ -452,7 +452,7 @@ gcl_init_structure_function(void) make_si_function("MAKE-STRUCTURE", siLmake_structure); make_si_function("MAKE-S-DATA-STRUCTURE",siLmake_s_data_structure); - make_si_function("COPY-STRUCTURE", siLcopy_structure); + make_function("COPY-STRUCTURE", Lcopy_structure); make_si_function("STRUCTURE-NAME", siLstructure_name); /* make_si_function("STRUCTURE-REF", siLstructure_ref); */ /* make_si_function("STRUCTURE-DEF", siLstructure_def); */ --- gcl-2.6.12.orig/o/toplevel.c +++ gcl-2.6.12/o/toplevel.c @@ -68,12 +68,12 @@ FFN(Fdefun)(object args) } vs_base = vs_top; if (lex_env[0] == Cnil && lex_env[1] == Cnil && lex_env[2] == Cnil) { - vs_push(MMcons(sLlambda_block, args)); + vs_push(MMcons(sSlambda_block, args)); } else { vs_push(MMcons(lex_env[2], args)); vs_base[0] = MMcons(lex_env[1], vs_base[0]); vs_base[0] = MMcons(lex_env[0], vs_base[0]); - vs_base[0] = MMcons(sLlambda_block_closure, vs_base[0]); + vs_base[0] = MMcons(sSlambda_block_closure, vs_base[0]); } {object fname = clear_compiler_properties(name,vs_base[0]); fname->s.s_gfdef = vs_base[0]; --- gcl-2.6.12.orig/o/typespec.c +++ gcl-2.6.12/o/typespec.c @@ -73,7 +73,7 @@ LFD(Ltype_of)(void) if ((' ' <= i && i < '\177') || i == '\n') vs_base[0] = sLstandard_char; else - vs_base[0] = sLstring_char; + vs_base[0] = sLcharacter; } break; @@ -176,7 +176,6 @@ LFD(Ltype_of)(void) DEF_ORDINARY("PROCLAIMED-ARG-TYPES",sSproclaimed_arg_types,SI,""); DEF_ORDINARY("PROCLAIMED-RETURN-TYPE",sSproclaimed_return_type,SI,""); DEF_ORDINARY("PROCLAIMED-FUNCTION",sSproclaimed_function,SI,""); -DEF_ORDINARY("COMMON",sLcommon,LISP,""); DEF_ORDINARY("NULL",sLnull,LISP,""); DEF_ORDINARY("CONS",sLcons,LISP,""); DEF_ORDINARY("LIST",sLlist,LISP,""); @@ -197,7 +196,6 @@ DEF_ORDINARY("CHARACTER",sLcharacter,LIS DEF_ORDINARY("NUMBER",sLnumber,LISP,""); DEF_ORDINARY("RATIONAL",sLrational,LISP,""); DEF_ORDINARY("FLOAT",sLfloat,LISP,""); -DEF_ORDINARY("STRING-CHAR",sLstring_char,LISP,""); DEF_ORDINARY("REAL",sLreal,LISP,""); DEF_ORDINARY("INTEGER",sLinteger,LISP,""); DEF_ORDINARY("RATIO",sLratio,LISP,""); @@ -205,7 +203,6 @@ DEF_ORDINARY("SHORT-FLOAT",sLshort_float DEF_ORDINARY("STANDARD-CHAR",sLstandard_char,LISP,""); DEF_ORDINARY("BOOLEAN",sLboolean,LISP,""); DEF_ORDINARY("FIXNUM",sLfixnum,LISP,""); -DEF_ORDINARY("POSITIVE-FIXNUM",sLpositive_fixnum,LISP,""); DEF_ORDINARY("COMPLEX",sLcomplex,LISP,""); DEF_ORDINARY("SINGLE-FLOAT",sLsingle_float,LISP,""); DEF_ORDINARY("PACKAGE",sLpackage,LISP,""); @@ -228,10 +225,10 @@ DEF_ORDINARY("VALUES",sLvalues,LISP,""); DEF_ORDINARY("MOD",sLmod,LISP,""); DEF_ORDINARY("SIGNED-BYTE",sLsigned_byte,LISP,""); DEF_ORDINARY("UNSIGNED-BYTE",sLunsigned_byte,LISP,""); -DEF_ORDINARY("SIGNED-CHAR",sLsigned_char,LISP,""); -DEF_ORDINARY("UNSIGNED-CHAR",sLunsigned_char,LISP,""); -DEF_ORDINARY("SIGNED-SHORT",sLsigned_short,LISP,""); -DEF_ORDINARY("UNSIGNED-SHORT",sLunsigned_short,LISP,""); +DEF_ORDINARY("SIGNED-CHAR",sSsigned_char,SI,""); +DEF_ORDINARY("UNSIGNED-CHAR",sSunsigned_char,SI,""); +DEF_ORDINARY("SIGNED-SHORT",sSsigned_short,SI,""); +DEF_ORDINARY("UNSIGNED-SHORT",sSunsigned_short,SI,""); DEF_ORDINARY("*",sLA,LISP,""); DEF_ORDINARY("PLUSP",sLplusp,LISP,""); DEF_ORDINARY("DIVISION-BY-ZERO",sLdivision_by_zero,LISP,""); @@ -244,8 +241,6 @@ DEF_ORDINARY("UNDEFINED-FUNCTION",sLunde DEF_ORDINARY("UNBOUND-VARIABLE",sLunbound_variable,LISP,""); DEF_ORDINARY("PACKAGE-ERROR",sLpackage_error,LISP,""); -/* #ifdef ANSI_COMMON_LISP */ -/* New ansi types */ DEF_ORDINARY("METHOD-COMBINATION",sLmethod_combination,LISP,""); DEF_ORDINARY("ARITHMETIC-ERROR",sLarithmetic_error,LISP,""); DEF_ORDINARY("BASE-CHAR",sLbase_char,LISP,""); @@ -290,7 +285,6 @@ DEF_ORDINARY("TWO-WAY-STREAM",sLtwo_way_ DEF_ORDINARY("TYPE-ERROR",sLtype_error,LISP,""); DEF_ORDINARY("UNBOUND-SLOT",sLunbound_slot,LISP,""); DEF_ORDINARY("WARNING",sLwarning,LISP,""); -/* #endif */ DEFCONST("CHAR-SIZE",sSchar_size,SI,small_fixnum(CHAR_SIZE),"Size in bits of a character"); DEFCONST("SHORT-SIZE",sSshort_size,SI,small_fixnum(CHAR_SIZE*sizeof(short)),"Size in bits of a short integer"); --- gcl-2.6.12.orig/o/unexelf.c +++ gcl-2.6.12/o/unexelf.c @@ -634,7 +634,7 @@ find_section (char *name, char *section_ static void unexec (char *new_name, char *old_name, unsigned int data_start, unsigned int bss_start, unsigned int entry_address) { - int new_file, old_file, new_file_size; + int new_file, old_file; /* Pointers to the base of the image of the two files. */ caddr_t old_base, new_base; @@ -654,17 +654,14 @@ unexec (char *new_name, char *old_name, /* Point to the section name table in the old file */ char *old_section_names; - ElfW(Addr) old_bss_addr, new_bss_addr; - ElfW(Word) old_bss_size, new_data2_size,old_bss_offset; - ElfW(Off) new_data2_offset; - ElfW(Addr) new_data2_addr; + ElfW(Addr) old_bss_addr, new_bss_addr,new_data2_addr; + ElfW(Off) old_bss_size, new_data2_size,old_bss_offset,new_data2_offset,old_file_size,new_file_size; int n, nn; int old_bss_index, old_sbss_index; int old_data_index, new_data2_index; int old_mdebug_index; struct stat stat_buf; - int old_file_size; /* Open the old file, allocate a buffer of the right size, and read in the file contents. */ --- gcl-2.6.12.orig/o/unixsave.c +++ gcl-2.6.12/o/unixsave.c @@ -140,7 +140,7 @@ char *original_file, *save_file; extern void _cleanup(); -LFD(Lsave)() { +LFD(siLsave)() { char filename[256]; check_arg(1); @@ -159,6 +159,6 @@ LFD(Lsave)() { void gcl_init_unixsave(void) { - make_function("SAVE", Lsave); + make_si_function("SAVE", siLsave); } --- gcl-2.6.12.orig/o/unixsys.c +++ gcl-2.6.12/o/unixsys.c @@ -169,7 +169,7 @@ msystem(const char *s) { } static void -FFN(Lsystem)(void) +FFN(siLsystem)(void) { char command[32768]; int i; @@ -284,6 +284,6 @@ un_mmap(void *v1,void *ve) { void gcl_init_unixsys(void) { - make_function("SYSTEM", Lsystem); + make_si_function("SYSTEM", siLsystem); } --- gcl-2.6.12.orig/o/unixtime.c +++ gcl-2.6.12/o/unixtime.c @@ -282,7 +282,7 @@ DEFUN_NEW("CURRENT-TIMEZONE",object,fScu localtime_r(&_t, <); return (object)(gt.tm_hour-lt.tm_hour+24*(gt.tm_yday!=lt.tm_yday ? (gt.tm_year>lt.tm_year||gt.tm_yday>lt.tm_yday ? 1 : -1) : 0)); #else - fixnum _t=time(0); + time_t _t=time(0); return (object)(-localtime(&_t)->tm_gmtoff/3600); #endif } @@ -296,7 +296,7 @@ DEFUN_NEW("CURRENT-DSTP",object,fScurren #elif defined NO_SYSTEM_TIME_ZONE /*solaris*/ return Cnil; #else - fixnum _t=time(0); + time_t _t=time(0); return localtime(&_t)->tm_isdst > 0 ? Ct : Cnil; #endif } --- gcl-2.6.12.orig/pcl/defsys.lisp +++ gcl-2.6.12/pcl/defsys.lisp @@ -52,24 +52,10 @@ (in-package :user) -#+kcl (in-package :walker :use '(:lisp)) -#+kcl (in-package :iterate :use '(:lisp :walker)) -#+kcl (in-package :pcl :use '(:walker :iterate :lisp)) +(load "package.lisp") (eval-when (compile load eval) -(if (find-package ':walker) - (use-package '(:lisp) ':walker) - (make-package ':walker :use '(:lisp))) - -(if (find-package ':iterate) - (use-package '(:lisp :walker) ':iterate) - (make-package ':iterate :use '(:lisp :walker))) - -(if (find-package ':pcl) - (use-package '(:walker :iterate :lisp) ':pcl) - (make-package ':pcl :use '(:walker :iterate :lisp))) - (export (intern (symbol-name :iterate) ;Have to do this here, (find-package :iterate)) ;because in the defsystem (find-package :iterate)) ;(later in this file) @@ -90,7 +76,7 @@ (eval-when (compile load eval) (defvar *pcl-proclaim* - '(optimize (speed 3) (safety #+kcl 0 #-kcl 1) (space 0) + '(optimize (speed 3) (safety 1) (space 0) #+lucid (compilation-speed 0))) ) @@ -261,7 +247,6 @@ and load your system with: #+Xerox-Medley (Xerox-Medley xerox) #+TI TI #+(and dec vax common) Vaxlisp - #+KCL KCL #+IBCL IBCL #+gcl gcl #+excl (excl franz) @@ -305,7 +290,6 @@ and load your system with: #+Cloe-Runtime ("l" . "fasl") #+(and dec common vax (not ultrix)) ("LSP" . "FAS") #+(and dec common vax ultrix) ("lsp" . "fas") - #+KCL ("lsp" . "o") #+IBCL ("lsp" . "o") #+Xerox ("lisp" . "dfasl") #+(and Lucid MC68000) ("lisp" . "lbin") @@ -675,7 +659,7 @@ and load your system with: ;; 3.0 it's in the LUCID-COMMON-LISP package. ;; #+LUCID (or lucid::*source-pathname* (bad-time)) - #+akcl si:*load-pathname* + #+akcl *load-pathname* #+cmu17 *load-truename* #-(or Lispm excl Xerox (and dec vax common) LUCID akcl cmu17) nil)) --- gcl-2.6.12.orig/pcl/gcl_pcl_pkg.lisp +++ gcl-2.6.12/pcl/gcl_pcl_pkg.lisp @@ -176,11 +176,8 @@ nil)) -#+kcl -(progn -(import '(si:structurep si:structure-def si:structure-ref)) -(shadow 'lisp:dotimes) -) +#+kcl(import '(si:structurep si:structure-def si:structure-ref)) + #+kcl (in-package "SI") #+kcl --- gcl-2.6.12.orig/pcl/gcl_pcl_walk.lisp +++ gcl-2.6.12/pcl/gcl_pcl_walk.lisp @@ -608,7 +608,7 @@ (push `(,(car f) . (function . (,#'unbound-lexical-function . nil))) lexicals)) (dolist (m macros) - (push `(,(car m) . (macro . ( ,(cadr m) . nil))) + (push `(,(car m) . (si::macro . ( ,(cadr m) . nil))) lexicals)) (list first lexicals third))) @@ -623,7 +623,7 @@ (when env (let ((entry (assoc macro (second env)))) (and entry - (eq (cadr entry) 'macro) + (eq (cadr entry) 'si::macro) (caddr entry))))) );#+(or KCL IBCL) @@ -1202,7 +1202,7 @@ #+(or KCL IBCL) (progn - (define-walker-template lambda-block walk-named-lambda);Not really right, + (define-walker-template si::lambda-block walk-named-lambda);Not really right, ;we don't hack block ;names anyways. ) @@ -1367,7 +1367,7 @@ #+cmu17 (special-operator-p fn) #-cmu17 - (special-form-p fn)) + (special-operator-p fn)) (error "~S is a special form, not defined in the CommonLisp.~%~ manual This code walker doesn't know how to walk it.~%~ --- gcl-2.6.12.orig/pcl/impl/gcl/gcl_pcl_impl_low.lisp +++ gcl-2.6.12/pcl/impl/gcl/gcl_pcl_impl_low.lisp @@ -277,17 +277,17 @@ static object set_cclosure (object resul (fourth slotd)) (defun renew-sys-files() - ;; packages: - (compiler::get-packages "sys-package.lisp") - (with-open-file (st "sys-package.lisp" - :direction :output - :if-exists :append) - (format st "(lisp::in-package \"SI\") -(export '(%structure-name - %compiled-function-name - %set-compiled-function-name)) -(in-package \"PCL\") -")) +;; ;; packages: +;; (compiler::get-packages "sys-package.lisp") +;; (with-open-file (st "sys-package.lisp" +;; :direction :output +;; :if-exists :append) +;; (format st "(lisp::in-package \"SI\") +;; (export '(%structure-name +;; %compiled-function-name +;; %set-compiled-function-name)) +;; (in-package \"PCL\") +;; ")) ;; proclaims (compiler::make-all-proclaims "*.fn") --- gcl-2.6.12.orig/pcl/makefile +++ gcl-2.6.12/pcl/makefile @@ -9,9 +9,7 @@ GFILES:=$(addprefix gcl_pcl_gazonk,$(GFI AFILES:=$(FILES) $(GFILES) -SETUP='(load "sys-package.lisp")' \ - '(setq *features* (delete (quote :kcl) *features*))'\ - '(load "defsys.lisp")(push (quote :kcl) *features*)' \ +SETUP='(load "defsys.lisp")' \ '(setq pcl::*default-pathname-extensions* (cons "lisp" "o"))' \ '(setq pcl::*pathname-extensions* (cons "lisp" "o"))' \ '(load "sys-proclaim.lisp")' \ --- /dev/null +++ gcl-2.6.12/pcl/package.lisp @@ -0,0 +1,21 @@ +(in-package :user) + +(eval-when (compile load eval) + +(if (find-package :walker) + (use-package '(:lisp) :walker) + (make-package :walker :use '(:lisp))) + +(if (find-package :iterate) + (use-package '(:lisp :walker) :iterate) + (make-package :iterate :use '(:lisp :walker))) + +(if (find-package :pcl) + (use-package '(:walker :iterate :lisp) :pcl) + (make-package :pcl :use '(:walker :iterate :lisp)))) + +(in-package :pcl) +(defvar *the-pcl-package* (find-package :pcl)) +(defun load-truename (&optional errorp) *load-pathname*) +(import 'si::(clines defentry defcfun object void int double)) +(import 'si::compiler-let :walker) --- gcl-2.6.12.orig/pcl/sys-proclaim.lisp +++ gcl-2.6.12/pcl/sys-proclaim.lisp @@ -1,775 +1,1044 @@ -(IN-PACKAGE "PCL") -(PROCLAIM - '(FTYPE (FUNCTION NIL T) - INITIALIZE-CHECKING-OR-CACHING-FUNCTION-LIST MAKE-ARG-INFO - RENEW-SYS-FILES ALLOCATE-FUNCALLABLE-INSTANCE-1 - SHOW-DFUN-CONSTRUCTORS MAKE-CACHE SHOW-EMF-CALL-TRACE - INITIAL-DISPATCH-DFUN-INFO DISPATCH-DFUN-INFO - IN-THE-COMPILER-P UPDATE-DISPATCH-DFUNS - SHOW-FREE-CACHE-VECTORS NO-METHODS-DFUN-INFO - %%ALLOCATE-INSTANCE--CLASS DEFAULT-METHOD-ONLY-DFUN-INFO - BOOTSTRAP-META-BRAID GET-EFFECTIVE-METHOD-GENSYM - STRUCTURE-FUNCTIONS-EXIST-P LIST-ALL-DFUNS MAKE-CPD - CACHES-TO-ALLOCATE INITIAL-DFUN-INFO - ALLOCATE-FUNCALLABLE-INSTANCE-2 BOOTSTRAP-BUILT-IN-CLASSES)) -(PROCLAIM - '(FTYPE (FUNCTION (T) *) DEFAULT-CODE-CONVERTER - MAKE-FINAL-DISPATCH-DFUN PROTOTYPES-FOR-MAKE-METHOD-LAMBDA - FIND-STRUCTURE-CLASS EARLY-COLLECT-INHERITANCE - EMIT-ONE-INDEX-WRITERS NET-CODE-CONVERTER - MAKE-DISPATCH-DFUN *NORMALIZE-TYPE COMPILE-IIS-FUNCTIONS - GENERIC-FUNCTION-NAME-P EMIT-IN-CHECKING-CACHE-P - EMIT-ONE-CLASS-READER GET-GENERIC-FUNCTION-INFO - COMPUTE-APPLICABLE-METHODS-EMF ANALYZE-LAMBDA-LIST - EMIT-ONE-INDEX-READERS EARLY-METHOD-FUNCTION PCL-DESCRIBE - TYPE-FROM-SPECIALIZER FIND-WRAPPER METHOD-PROTOTYPE-FOR-GF - SPECIALIZER-FROM-TYPE STRUCTURE-WRAPPER - GET-DISPATCH-FUNCTION EMIT-TWO-CLASS-READER - PARSE-METHOD-GROUP-SPECIFIER CLASS-EQ-TYPE - EMIT-CONSTANT-VALUE EMIT-TWO-CLASS-WRITER - CONVERT-TO-SYSTEM-TYPE PARSE-DEFMETHOD - EMIT-ONE-CLASS-WRITER)) -(PROCLAIM - '(FTYPE (FUNCTION (*) T) |__si::MAKE-CACHING| |__si::MAKE-N-N| - MAKE-INITIALIZE-INFO |__si::MAKE-NO-METHODS| - |__si::MAKE-TWO-CLASS| INTERN-PV-TABLE - |__si::MAKE-ARG-INFO| |__si::MAKE-ONE-INDEX-DFUN-INFO| - FIX-EARLY-GENERIC-FUNCTIONS CALLED-FIN-WITHOUT-FUNCTION - MAKE-FAST-METHOD-CALL STRING-APPEND |__si::MAKE-ONE-INDEX| - |__si::MAKE-INITIAL| |__si::MAKE-CHECKING| ZERO - |__si::MAKE-PV-TABLE| MAKE-PROGN FALSE MAKE-PV-TABLE - WALKER::UNBOUND-LEXICAL-FUNCTION |__si::MAKE-DISPATCH| - USE-PACKAGE-PCL TRUE |__si::MAKE-DEFAULT-METHOD-ONLY| - |__si::MAKE-INITIAL-DISPATCH| |__si::MAKE-CONSTANT-VALUE| - |__si::MAKE-DFUN-INFO| |__si::MAKE-STD-INSTANCE| - MAKE-METHOD-CALL |__si::MAKE-CLASS-PRECEDENCE-DESCRIPTION| - MAKE-FAST-INSTANCE-BOUNDP |__si::MAKE-ACCESSOR-DFUN-INFO| - |STRUCTURE-OBJECT class constructor| |__si::MAKE-CACHE| - |__si::MAKE-ONE-CLASS| PV-WRAPPERS-FROM-PV-ARGS)) -(PROCLAIM '(FTYPE (FUNCTION (T) (OR CACHE NULL)) PV-TABLE-CACHE)) -(PROCLAIM - '(FTYPE (FUNCTION (T *) *) MAKE-METHOD-FUNCTION-INTERNAL - PARSE-METHOD-OR-SPEC MAKE-METHOD-LAMBDA-INTERNAL - COERCE-TO-CLASS MAKE-FINAL-DFUN-INTERNAL GET-FUNCTION - EXTRACT-DECLARATIONS COMPILE-LAMBDA GET-FUNCTION1 - MAKE-CACHING-DFUN GET-METHOD-FUNCTION DISPATCH-DFUN-COST - MACROEXPAND-ALL PARSE-SPECIALIZED-LAMBDA-LIST ENSURE-CLASS - WALK-FORM MAKE-INSTANCE-1 GET-DFUN-CONSTRUCTOR - MAP-ALL-CLASSES ENSURE-GENERIC-FUNCTION - MAKE-CONSTANT-VALUE-DFUN)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) T) ACCESSOR-MISS-FUNCTION ADD-TO-CVECTOR - QUALIFIER-CHECK-RUNTIME SET-FUNCTION-PRETTY-ARGLIST - ADD-DIRECT-SUBCLASSES REMOVE-METHOD SET-WRAPPER - DOCTOR-DFUN-FOR-THE-DEBUGGER MAKE-PLIST - SYMBOL-OR-CONS-LESSP MAKE-STD-BOUNDP-METHOD-FUNCTION - UPDATE-CPL METHODS-CONVERTER MAKE-DFUN-ARG-LIST - MAKE-DISCRIMINATING-FUNCTION-ARGLIST - STANDARD-INSTANCE-ACCESS REMTAIL DO-SATISFIES-DEFTYPE - CPL-FORWARD-REFERENCED-CLASS-ERROR FIND-STANDARD-II-METHOD - MAKE-UNORDERED-METHODS-EMF UPDATE-INITIALIZE-INFO-INTERNAL - ADD-METHOD COMPUTE-PV |SETF PCL FIND-CLASS-PREDICATE| - PROCLAIM-DEFMETHOD UPDATE-ALL-PV-TABLE-CACHES - ITERATE::SIMPLE-EXPAND-ITERATE-FORM CLASS-MIGHT-PRECEDE-P - MEC-ALL-CLASSES SET-FUNCALLABLE-INSTANCE-FUNCTION - MAKE-DFUN-LAMBDA-LIST CHECKING-DFUN-INFO - METHOD-FUNCTION-RETURNING-T PV-WRAPPERS-FROM-ALL-WRAPPERS - SET-METHODS ITERATE::MV-SETQ SUPERCLASSES-COMPATIBLE-P - SLOT-EXISTS-P SWAP-WRAPPERS-AND-SLOTS DESCRIBE-PACKAGE - VALUE-FOR-CACHING SAUT-NOT-PROTOTYPE - SET-STANDARD-SVUC-METHOD PLIST-VALUE AUGMENT-TYPE - UPDATE-CLASS N-N-DFUN-INFO VARIABLE-SPECIAL-P - UPDATE-STD-OR-STR-METHODS ADD-FORMS MAKE-CAXR - MAKE-DLAP-LAMBDA-LIST REDIRECT-EARLY-FUNCTION-INTERNAL - GET-KEY-ARG1 EMIT-N-WRAPPER-COMPUTE-PRIMARY-CACHE-LOCATION - MAKE-INTERNAL-READER-METHOD-FUNCTION |SETF PCL FIND-CLASS| - COMPUTE-CALLS PROCLAIM-DEFGENERIC WALKER::NOTE-DECLARATION - SYSTEM:%SET-COMPILED-FUNCTION-NAME VARIABLE-LEXICAL-P - CANONICALIZE-DEFCLASS-OPTION RAISE-METATYPE - PARSE-QUALIFIER-PATTERN SAUT-NOT-CLASS-EQ - MAKE-PV-TABLE-INTERNAL WALKER::ENVIRONMENT-FUNCTION - COMPUTE-APPLICABLE-METHODS-FUNCTION - EMIT-1-WRAPPER-COMPUTE-PRIMARY-CACHE-LOCATION - PV-TABLE-LOOKUP VARIABLE-CLASS - MAKE-FAST-METHOD-CALL-LAMBDA-LIST |SETF PCL GDEFINITION| - NET-CONSTANT-CONVERTER WALKER::VARIABLE-SYMBOL-MACRO-P - SYMBOL-LESSP GF-MAKE-FUNCTION-FROM-EMF - REMOVE-DIRECT-SUBCLASSES UPDATE-INITS - |SETF PCL METHOD-FUNCTION-PLIST| COMPUTE-STD-CPL - CPL-INCONSISTENT-ERROR CHANGE-CLASS-INTERNAL - FIND-SLOT-DEFINITION COMPUTE-LAYOUT NO-SLOT - %SET-CCLOSURE-ENV COMPUTE-CONSTANTS - SET-STRUCTURE-SVUC-METHOD GET-KEY-ARG REMOVE-SLOT-ACCESSORS - MAKE-CDXR MEMF-CONSTANT-CONVERTER BOOTSTRAP-SLOT-INDEX - CLASS-CAN-PRECEDE-P MEC-ALL-CLASSES-INTERNAL - CLASSES-HAVE-COMMON-SUBCLASS-P MAKE-CLASS-PREDICATE - SAUT-NOT-CLASS DESTRUCTURE-INTERNAL - ITERATE::EXTRACT-SPECIAL-BINDINGS MAKE-EARLY-ACCESSOR - MAP-PV-TABLE-REFERENCES-OF MAKE-STD-WRITER-METHOD-FUNCTION - FUNCALLABLE-STANDARD-INSTANCE-ACCESS - METHOD-FUNCTION-RETURNING-NIL MEC-ALL-CLASS-LISTS - ADD-SLOT-ACCESSORS EMIT-1-NIL-DLAP - MAKE-STD-READER-METHOD-FUNCTION - CANONICALIZE-SLOT-SPECIFICATION LIST-EQ REAL-REMOVE-METHOD - WALKER::ENVIRONMENT-MACRO SAUT-NOT-EQL UPDATE-SLOTS - DEAL-WITH-ARGUMENTS-OPTION PRINTING-RANDOM-THING-INTERNAL - WALKER::WALK-REPEAT-EVAL - PV-WRAPPERS-FROM-ALL-ARGS WALKER::NOTE-LEXICAL-BINDING)) -(PROCLAIM '(FTYPE (FUNCTION (T) (INTEGER 1 255)) CACHE-NKEYS)) -(PROCLAIM '(FTYPE (FUNCTION (T) (INTEGER 1 256)) CACHE-LINE-SIZE)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM T T) *) COMPUTE-CACHE-PARAMETERS)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM T *) *) FIND-FREE-CACHE-LINE)) -(PROCLAIM '(FTYPE (FUNCTION (T) FIELD-TYPE) CACHE-FIELD)) -(PROCLAIM - '(FTYPE (FUNCTION (T) FUNCTION) CACHE-LIMIT-FN - FAST-METHOD-CALL-FUNCTION METHOD-CALL-FUNCTION)) -(MAPC (LAMBDA (COMPILER::X) - (SETF (GET COMPILER::X 'SYSTEM::PROCLAIMED-CLOSURE) T)) - '(TRACE-METHOD-INTERNAL FDEFINE-CAREFULLY DO-STANDARD-DEFSETF-1 - REDEFINE-FUNCTION)) -(PROCLAIM - '(FTYPE (FUNCTION (FIXNUM FIXNUM T) FIXNUM) - COMPUTE-PRIMARY-CACHE-LOCATION)) -(PROCLAIM - '(FTYPE (FUNCTION (T FIXNUM *) T) GET-CACHE-FROM-CACHE - COMPUTE-PRIMARY-CACHE-LOCATION-FROM-LOCATION)) -(PROCLAIM - '(FTYPE (FUNCTION (T) (VALUES T T)) MAKE-KEYWORD - MAKE-CLASS-PREDICATE-NAME)) -(PROCLAIM - '(FTYPE (FUNCTION (T *) T) FIND-CLASS-PREDICATE FIND-CLASS-CELL - USE-CONSTANT-VALUE-DFUN-P MAKE-EARLY-GF ITERATE::MAYBE-WARN - TRACE-METHOD ALLOCATE-FUNCALLABLE-INSTANCE WALKER::RELIST - UPDATE-DFUN USE-DISPATCH-DFUN-P PV-TABLE-LOOKUP-PV-ARGS - MAKE-WRAPPER EARLY-METHOD-SPECIALIZERS - INITIALIZE-METHOD-FUNCTION MAKE-FINAL-DFUN - WALKER::WALKER-ENVIRONMENT-BIND-1 MAKE-TYPE-PREDICATE-NAME - ALLOCATE-STRUCTURE-INSTANCE MAKE-SPECIALIZABLE - CAPITALIZE-WORDS SET-DFUN ITERATE::FUNCTION-LAMBDA-P - FIND-CLASS INITIALIZE-INTERNAL-SLOT-GFS SET-ARG-INFO - WALKER::RELIST* ALLOCATE-STANDARD-INSTANCE)) -(PROCLAIM - '(FTYPE (FUNCTION (T T) *) SAUT-NOT ENSURE-CLASS-VALUES - EMIT-CHECKING EMIT-DEFAULT-ONLY-FUNCTION EMIT-DEFAULT-ONLY - SAUT-CLASS CLASS-APPLICABLE-USING-CLASS-P EMIT-CACHING - DESTRUCTURE GET-NEW-FUNCTION-GENERATOR-INTERNAL - COMPUTE-TEST MAKE-DIRECT-SLOTD SLOT-NAME-LISTS-FROM-SLOTS - SAUT-EQL INSURE-DFUN CHECK-INITARGS-VALUES - SET-FUNCTION-NAME INITIAL-DFUN COMPUTE-STD-CPL-PHASE-1 - *SUBTYPEP COMPUTE-APPLICABLE-METHODS-USING-TYPES - SDFUN-FOR-CACHING INVOKE-EMF SPLIT-DECLARATIONS - GENERATE-FAST-CLASS-SLOT-ACCESS-P COMPUTE-CODE SLOT-VALUE - SPECIALIZER-APPLICABLE-USING-TYPE-P SLOT-BOUNDP - FORM-LIST-TO-LISP ITERATE::PARSE-DECLARATIONS - MAKE-INSTANCE-FUNCTION-TRAP SAUT-PROTOTYPE - MUTATE-SLOTS-AND-CALLS SAUT-AND SAUT-CLASS-EQ - FIND-SUPERCLASS-CHAIN SLOT-UNBOUND-INTERNAL - UPDATE-SLOT-VALUE-GF-INFO SLOT-MAKUNBOUND)) -(PROCLAIM - '(FTYPE (FUNCTION NIL *) EMIT-N-N-WRITERS EMIT-N-N-READERS - COUNT-ALL-DFUNS)) -(PROCLAIM - '(FTYPE (FUNCTION (T) T) CHECKING-FUNCTION - METHOD-CALL-CALL-METHOD-ARGS EARLY-COLLECT-CPL - METHOD-FUNCTION-PV-TABLE ECD-OTHER-INITARGS - BOOTSTRAP-CLASS-PREDICATES CONSTANT-SYMBOL-P GDEFINITION - %FBOUNDP INITIALIZE-INFO-CACHED-MAKE-INSTANCE-FUNCTION - MAKE-INSTANCE-FUNCTION-SYMBOL FGEN-TEST - GF-PRECOMPUTE-DFUN-AND-EMF-P VARIABLE-GLOBALLY-SPECIAL-P - SLOT-INITARGS-FROM-STRUCTURE-SLOTD ARG-INFO-P - STRUCTURE-TYPE-INTERNAL-SLOTDS CCLOSUREP CHECKING-CACHE - GF-LAMBDA-LIST - MAKE-OPTIMIZED-STRUCTURE-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION - STRUCTURE-SVUC-METHOD DISPATCH-CACHE - BOOTSTRAP-ACCESSOR-DEFINITIONS FINAL-ACCESSOR-DFUN-TYPE - SETFBOUNDP ONE-CLASS-P EARLY-GF-P UPDATE-C-A-M-GF-INFO - FGEN-GENSYMS SORT-SLOTS MAKE-CLASS-EQ-PREDICATE N-N-CACHE - SFUN-P DFUN-ARG-SYMBOL - INITIALIZE-INFO-CACHED-DEFAULT-INITARGS-FUNCTION - EARLY-METHOD-STANDARD-ACCESSOR-SLOT-NAME - MAKE-TYPE-PREDICATE SORT-CALLS - MAKE-STRUCTURE-SLOT-BOUNDP-FUNCTION TWO-CLASS-WRAPPER1 - USE-DEFAULT-METHOD-ONLY-DFUN-P FGEN-SYSTEM - CACHING-DFUN-COST CPD-CLASS CACHING-CACHE - INITIAL-DISPATCH-P LOOKUP-FGEN - COMPUTE-APPLICABLE-METHODS-EMF-STD-P COMPUTE-LINE-SIZE - GF-INFO-STATIC-C-A-M-EMF FAST-INSTANCE-BOUNDP-P - N-N-ACCESSOR-TYPE KEYWORD-SPEC-NAME DEFAULT-TEST-CONVERTER - RESET-INITIALIZE-INFO INITIAL-P - INITIALIZE-INFO-CACHED-MAKE-INSTANCE-FUNCTION-SYMBOL - EXPAND-MAKE-INSTANCE-FORM STRUCTURE-SLOT-BOUNDP - STANDARD-SVUC-METHOD TWO-CLASS-INDEX - EARLY-CLASS-PRECEDENCE-LIST MAKE-INITIAL-DFUN GMAKUNBOUND - METHODS-CONTAIN-EQL-SPECIALIZER-P EXPAND-SHORT-DEFCOMBIN - ACCESSOR-DFUN-INFO-CACHE MAKE-CALL-METHODS - STRUCTURE-SLOTD-NAME ALLOCATE-CACHE-VECTOR - RESET-CLASS-INITIALIZE-INFO GET-SETF-FUNCTION-NAME - METHOD-CALL-P LEGAL-CLASS-NAME-P EXTRACT-PARAMETERS - EARLY-SLOT-DEFINITION-NAME ECD-METACLASS DISPATCH-P - METHOD-FUNCTION-PLIST %STD-INSTANCE-SLOTS - CANONICAL-SLOT-NAME CONSTANT-VALUE-DFUN-INFO - FUNCTION-RETURNING-T FUNCTION-PRETTY-ARGLIST - STRUCTURE-TYPE-SLOT-DESCRIPTION-LIST CHECK-WRAPPER-VALIDITY - INITIALIZE-INFO-P CPD-AFTER - MAKE-OPTIMIZED-STRUCTURE-SETF-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION - ONE-INDEX-INDEX WALKER::ENV-DECLARATIONS - STRUCTURE-SLOTD-TYPE MAKE-DEFAULT-METHOD-GROUP-DESCRIPTION - EVAL-FORM LIST-DFUN - INITIALIZE-INFO-CACHED-SHARED-INITIALIZE-T-FUNCTION - CACHE-OWNER FAST-METHOD-CALL-PV-CELL DFUN-INFO-P - UPDATE-PV-TABLE-CACHE-INFO EARLY-CLASS-SLOTDS - FUNCTION-RETURNING-NIL ECD-CLASS-NAME - TWO-CLASS-ACCESSOR-TYPE EARLY-CLASS-DEFINITION - FAST-METHOD-CALL-P INITIALIZE-INFO-CACHED-RI-VALID-P - COMPUTE-MCASE-PARAMETERS GF-DFUN-INFO - INITIALIZE-INFO-CACHED-COMBINED-INITARGS-FORM-LIST - EARLY-METHOD-LAMBDA-LIST ONE-CLASS-WRAPPER0 - CLASS-PRECEDENCE-DESCRIPTION-P GET-MAKE-INSTANCE-FUNCTIONS - EXPAND-LONG-DEFCOMBIN MAP-SPECIALIZERS - EARLY-CLASS-DIRECT-SUBCLASSES WALKER::ENV-WALK-FORM - STRUCTURE-TYPE-INCLUDED-TYPE-NAME - ONE-INDEX-DFUN-INFO-ACCESSOR-TYPE GBOUNDP ECD-SOURCE - CLASS-FROM-TYPE INITIALIZE-INFO-CACHED-NEW-KEYS - ARG-INFO-NKEYS DEFAULT-CONSTANT-CONVERTER - INITIALIZE-INFO-CACHED-COMBINED-INITIALIZE-FUNCTION - STORE-FGEN EARLY-METHOD-STANDARD-ACCESSOR-P - INTERN-FUNCTION-NAME NET-TEST-CONVERTER ARG-INFO-KEY/REST-P - COMPLICATED-INSTANCE-CREATION-METHOD - FTYPE-DECLARATION-FROM-LAMBDA-LIST - GENERIC-CLOBBERS-FUNCTION DEFAULT-STRUCTUREP - GF-INFO-C-A-M-EMF-STD-P ARG-INFO-VALID-P - FORMAT-CYCLE-REASONS FAST-METHOD-CALL-ARG-INFO - GET-MAKE-INSTANCE-FUNCTION-SYMBOL %STD-INSTANCE-WRAPPER - SLOT-BOUNDP-SYMBOL INITIAL-CACHE - METHOD-FUNCTION-NEEDS-NEXT-METHODS-P - SYSTEM:%COMPILED-FUNCTION-NAME MAKE-CALLS-TYPE-DECLARATION - UPDATE-CLASS-CAN-PRECEDE-P SLOT-READER-SYMBOL FREE-CACHE - DNET-METHODS-P CONSTANT-VALUE-CACHE - GET-BUILT-IN-CLASS-SYMBOL UPDATE-GFS-OF-CLASS - ONE-CLASS-CACHE STD-INSTANCE-P ONE-INDEX-CACHE - STRUCTURE-SLOTD-WRITER-FUNCTION FGEN-GENERATOR-LAMBDA - EXTRACT-SPECIALIZER-NAMES EARLY-SLOT-DEFINITION-LOCATION - DO-STANDARD-DEFSETFS-FOR-DEFCLASS %CCLOSURE-ENV - EARLY-ACCESSOR-METHOD-SLOT-NAME ACCESSOR-DFUN-INFO-P - INFORM-TYPE-SYSTEM-ABOUT-STD-CLASS SLOT-WRITER-SYMBOL - ARG-INFO-KEYWORDS INITIALIZE-INFO-WRAPPER - FAST-METHOD-CALL-NEXT-METHOD-CALL INITIAL-DISPATCH-CACHE - NEXT-WRAPPER-FIELD - INITIALIZE-INFO-CACHED-INITARGS-FORM-LIST CHECKING-P - EXTRACT-REQUIRED-PARAMETERS GET-BUILT-IN-WRAPPER-SYMBOL - INITIALIZE-INFO-CACHED-CONSTANTS - STRUCTURE-SLOTD-READER-FUNCTION EARLY-METHOD-CLASS - STRUCTURE-OBJECT-P DEFAULT-METHOD-ONLY-CACHE - PARSE-SPECIALIZERS INTERN-EQL-SPECIALIZER - COMPILE-LAMBDA-DEFERRED MAKE-CONSTANT-FUNCTION - MAKE-PV-TYPE-DECLARATION ARG-INFO-APPLYP - GET-PV-CELL-FOR-CLASS ONE-INDEX-DFUN-INFO-INDEX - UNENCAPSULATED-FDEFINITION CHECK-CACHE - WALKER::GET-IMPLEMENTATION-DEPENDENT-WALKER-TEMPLATE - INITIALIZE-INFO-KEY ONE-CLASS-INDEX SYSTEM:%STRUCTURE-NAME - SLOT-VECTOR-SYMBOL MAKE-PV-TABLE-TYPE-DECLARATION - TWO-CLASS-CACHE PROCLAIM-INCOMPATIBLE-SUPERCLASSES - BUILT-IN-OR-STRUCTURE-WRAPPER1 ECD-SUPERCLASS-NAMES - STRUCTURE-TYPE CLASS-HAS-A-FORWARD-REFERENCED-SUPERCLASS-P - N-N-P INTERNED-SYMBOL-P DEFAULT-METHOD-ONLY-P - EARLY-CLASS-SLOTS NO-METHODS-P ARG-INFO-NUMBER-OPTIONAL - ONE-INDEX-P GET-MAKE-INSTANCE-FUNCTION EARLY-CLASS-NAME - METHOD-FUNCTION-FROM-FAST-FUNCTION MAKE-PERMUTATION-VECTOR - ONE-CLASS-ACCESSOR-TYPE TWO-CLASS-P BUILT-IN-WRAPPER-OF - FREE-CACHE-VECTOR GET-CACHE-VECTOR ARG-INFO-LAMBDA-LIST - UPDATE-GF-INFO ONE-INDEX-DFUN-INFO-CACHE %SYMBOL-FUNCTION - ACCESSOR-DFUN-INFO-ACCESSOR-TYPE FUNCALLABLE-INSTANCE-P - ECD-CANONICAL-SLOTS EARLY-COLLECT-SLOTS - INITIALIZE-INFO-CACHED-VALID-P UNPARSE-SPECIALIZERS - GF-INFO-FAST-MF-P - MAKE-OPTIMIZED-STRUCTURE-SLOT-BOUNDP-USING-CLASS-METHOD-FUNCTION - EARLY-CLASS-NAME-OF GF-DFUN-CACHE CLASS-PREDICATE - EXTRACT-LAMBDA-LIST CLASS-OF COPY-CACHE SYMBOL-PKG-NAME - ONE-INDEX-DFUN-INFO-P WRAPPER-OF METHOD-FUNCTION-METHOD - CPD-SUPERS DEFAULT-STRUCTURE-INSTANCE-P - STRUCTURE-SLOTD-INIT-FORM EARLY-METHOD-QUALIFIERS - LIST-LARGE-CACHE UPDATE-GF-SIMPLE-ACCESSOR-TYPE TYPE-CLASS - MAKE-EQL-PREDICATE EARLY-GF-NAME UPDATE-ALL-C-A-M-GF-INFO - FLUSH-CACHE-VECTOR-INTERNAL ITERATE::SEQUENCE-ACCESSOR - MAP-ALL-GENERIC-FUNCTIONS STRUCTURE-TYPE-P - FIND-CYCLE-REASONS DEFAULT-STRUCTURE-TYPE - COMPUTE-CLASS-SLOTS WRAPPER-FOR-STRUCTURE - INITIALIZE-INFO-CACHED-SHARED-INITIALIZE-NIL-FUNCTION - USE-CACHING-DFUN-P EARLY-COLLECT-DEFAULT-INITARGS - DEFAULT-SECONDARY-DISPATCH-FUNCTION ONE-INDEX-ACCESSOR-TYPE - WALKER::ENV-WALK-FUNCTION WALKER::ENV-LOCK - STRUCTURE-SLOTD-ACCESSOR-SYMBOL - METHOD-LL->GENERIC-FUNCTION-LL CACHE-P WRAPPER-FIELD - INITIALIZE-INFO-BOUND-SLOTS DEFAULT-CONSTANTP - MAKE-FUNCTION-INLINE COMPUTE-STD-CPL-PHASE-2 - CACHING-DFUN-INFO CONSTANT-VALUE-P - WALKER::GET-WALKER-TEMPLATE ARG-INFO-METATYPES COUNT-DFUN - MAKE-INITFUNCTION WALKER::ENV-LEXICAL-VARIABLES PV-TABLEP - COMPILE-LAMBDA-UNCOMPILED UNDEFMETHOD-1 - GF-INFO-SIMPLE-ACCESSOR-TYPE FORCE-CACHE-FLUSHES - DFUN-INFO-CACHE GFS-OF-TYPE TWO-CLASS-WRAPPER0 - ITERATE::VARIABLES-FROM-LET SHOW-DFUN-COSTS - ARG-INFO-PRECEDENCE FGEN-GENERATOR - RESET-CLASS-INITIALIZE-INFO-1 CACHING-P NO-METHODS-CACHE)) -(PROCLAIM - '(FTYPE (FUNCTION (*) *) INVALID-METHOD-ERROR - METHOD-COMBINATION-ERROR UNTRACE-METHOD - UPDATE-MAKE-INSTANCE-FUNCTION-TABLE LIST-LARGE-CACHES)) -(PROCLAIM - '(FTYPE (FUNCTION (T) LIST) CACHE-OVERFLOW PV-TABLE-SLOT-NAME-LISTS - PV-TABLE-CALL-LIST)) -(PROCLAIM '(FTYPE (FUNCTION (T) BOOLEAN) CACHE-VALUEP)) -(PROCLAIM '(FTYPE (FUNCTION NIL FIXNUM) GET-WRAPPER-CACHE-NUMBER)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM T) T) %CCLOSURE-ENV-NTHCDR)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T) *) - COMPUTE-DISCRIMINATING-FUNCTION-ARGLIST-INFO-INTERNAL - WALK-METHOD-LAMBDA - |(FAST-METHOD ADD-READER-METHOD (SLOT-CLASS T T))| - |(FAST-METHOD SLOT-VALUE-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (CLASS-EQ-SPECIALIZER T))| - |(FAST-METHOD COMPUTE-EFFECTIVE-METHOD (GENERIC-FUNCTION LONG-METHOD-COMBINATION T))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-METHOD T))| - |(FAST-METHOD (SETF DOCUMENTATION) (T STANDARD-SLOT-DEFINITION))| - |(FAST-METHOD (SETF CLASS-SLOT-VALUE) (T STD-CLASS T))| - |(FAST-METHOD (SETF SLOT-ACCESSOR-FUNCTION) (T EFFECTIVE-SLOT-DEFINITION T))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (CLASS T))| - ADD-METHOD-DECLARATIONS - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-SLOT-DEFINITION T))| - MAKE-TWO-CLASS-ACCESSOR-DFUN - |(FAST-METHOD SHARED-INITIALIZE :AFTER (EQL-SPECIALIZER T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-ACCESSOR-METHOD T))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-GENERIC-FUNCTION T))| - |(FAST-METHOD SLOT-VALUE-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD ADD-BOUNDP-METHOD (SLOT-CLASS T T))| - |(FAST-METHOD ADD-WRITER-METHOD (SLOT-CLASS T T))| - |(FAST-METHOD UPDATE-INSTANCE-FOR-DIFFERENT-CLASS (STANDARD-OBJECT STANDARD-OBJECT))| - |(FAST-METHOD SHARED-INITIALIZE (SLOT-OBJECT T))|)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T T) *) - |(FAST-METHOD UPDATE-INSTANCE-FOR-REDEFINED-CLASS (STANDARD-OBJECT T T T))| - ITERATE::ITERATE-TRANSFORM-BODY)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T *) *) ITERATE::RENAME-LET-BINDINGS - MAKE-EFFECTIVE-METHOD-FUNCTION-SIMPLE1)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T) *) CONSTANT-VALUE-MISS - EMIT-ONE-OR-N-INDEX-READER/WRITER CACHING-MISS - CACHE-MISS-VALUES - |(FAST-METHOD COMPUTE-DISCRIMINATING-FUNCTION-ARGLIST-INFO (STANDARD-GENERIC-FUNCTION))| - WALKER::WALK-FORM-INTERNAL - GET-OPTIMIZED-STD-ACCESSOR-METHOD-FUNCTION - SLOT-VALUE-USING-CLASS-DFUN SLOT-BOUNDP-USING-CLASS-DFUN - |(FAST-METHOD METHOD-FUNCTION (STANDARD-METHOD))| - |(FAST-METHOD CLASS-PROTOTYPE (STD-CLASS))| - |(FAST-METHOD METHOD-QUALIFIERS (TRACED-METHOD))| - MAKE-FINAL-CONSTANT-VALUE-DFUN CHECK-METHOD-ARG-INFO - MAKE-OPTIMIZED-STD-BOUNDP-METHOD-FUNCTION - MAKE-FINAL-CACHING-DFUN EMIT-READER/WRITER-FUNCTION - SET-SLOT-VALUE - |(FAST-METHOD CLASS-PROTOTYPE (STRUCTURE-CLASS))| - WALKER::WALK-LET-IF ACCESSOR-VALUES1 - |(FAST-METHOD METHOD-LAMBDA-LIST (TRACED-METHOD))| - ITERATE::EXPAND-INTO-LET OPTIMIZE-SLOT-VALUE-BY-CLASS-P - ITERATE::RENAME-VARIABLES - EMIT-ONE-OR-N-INDEX-READER/WRITER-FUNCTION CHECKING-MISS - |(FAST-METHOD METHOD-SPECIALIZERS (TRACED-METHOD))| - ACCESSOR-VALUES-INTERNAL GET-CLASS-SLOT-VALUE-1 - LOAD-LONG-DEFCOMBIN - |(FAST-METHOD ACCESSOR-METHOD-SLOT-NAME (TRACED-METHOD))| - |(FAST-METHOD FUNCTION-KEYWORDS (STANDARD-METHOD))| - MAKE-OPTIMIZED-STD-WRITER-METHOD-FUNCTION - |(FAST-METHOD MAKE-INSTANCES-OBSOLETE (SYMBOL))| - MAKE-OPTIMIZED-STD-READER-METHOD-FUNCTION - EMIT-READER/WRITER GENERATING-LISP - MAKE-FINAL-N-N-ACCESSOR-DFUN - |(FAST-METHOD METHOD-PRETTY-ARGLIST (STANDARD-METHOD))| - ITERATE::WALK-GATHERING-BODY - |(FAST-METHOD COMPUTE-DISCRIMINATING-FUNCTION (STANDARD-GENERIC-FUNCTION))| - GET-OPTIMIZED-STD-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION - CONVERT-METHODS)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T) *) BOOTSTRAP-ACCESSOR-DEFINITION - INITIALIZE-INSTANCE-SIMPLE-FUNCTION - |(FAST-METHOD INITIALIZE-INSTANCE (SLOT-OBJECT))| - ORDER-SPECIALIZERS MAKE-ONE-CLASS-ACCESSOR-DFUN - |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION (SLOT-CLASS T))| - |(FAST-METHOD DOCUMENTATION (STANDARD-SLOT-DEFINITION))| - GET-ACCESSOR-FROM-SVUC-METHOD-FUNCTION - |(FAST-METHOD ALLOCATE-INSTANCE (STRUCTURE-CLASS))| - SETF-SLOT-VALUE-USING-CLASS-DFUN - GENERATE-DISCRIMINATION-NET - MAKE-FINAL-ONE-INDEX-ACCESSOR-DFUN - |(FAST-METHOD CLASS-SLOT-VALUE (STD-CLASS T))| - |(FAST-METHOD DESCRIBE-OBJECT (T T))| ACCESSOR-VALUES - LOAD-SHORT-DEFCOMBIN SET-CLASS-SLOT-VALUE-1 - |(FAST-METHOD MAKE-INSTANCE (SYMBOL))| - REAL-MAKE-METHOD-LAMBDA EMIT-CHECKING-OR-CACHING-FUNCTION - |(FAST-METHOD DESCRIBE-OBJECT (STANDARD-GENERIC-FUNCTION T))| - |(FAST-METHOD DEFAULT-INITARGS (SLOT-CLASS T))| - MAKE-SHARED-INITIALIZE-FORM-LIST - |(FAST-METHOD DESCRIBE-OBJECT (SLOT-OBJECT T))| - ACCESSOR-MISS |(FAST-METHOD NO-APPLICABLE-METHOD (T))| - MAKE-FINAL-CHECKING-DFUN - |(FAST-METHOD COMPUTE-APPLICABLE-METHODS-USING-CLASSES (GENERIC-FUNCTION T))| - GET-ACCESSOR-METHOD-FUNCTION - |(FAST-METHOD SLOTS-TO-INSPECT (SLOT-CLASS SLOT-OBJECT))| - |(FAST-METHOD LEGAL-QUALIFIERS-P (STANDARD-METHOD T))| - |(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (SLOT-CLASS))| - |(FAST-METHOD LEGAL-SPECIALIZERS-P (STANDARD-METHOD T))| - |(FAST-METHOD DESCRIBE-OBJECT (CLASS T))| - |(FAST-METHOD SLOT-ACCESSOR-FUNCTION (EFFECTIVE-SLOT-DEFINITION T))| - |(FAST-METHOD CHANGE-CLASS (T SYMBOL))| - EMIT-CHECKING-OR-CACHING)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T) *) MEMF-CODE-CONVERTER - |(FAST-METHOD (SETF SLOT-VALUE-USING-CLASS) (T STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| - GENERATE-DISCRIMINATION-NET-INTERNAL - DO-SHORT-METHOD-COMBINATION - MAKE-LONG-METHOD-COMBINATION-FUNCTION - CACHE-MISS-VALUES-INTERNAL)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T *) *) MAKE-ONE-INDEX-ACCESSOR-DFUN - WALKER::WALK-DECLARATIONS GET-SECONDARY-DISPATCH-FUNCTION)) -(PROCLAIM - '(FTYPE (FUNCTION (T T *) *) SLOT-VALUE-OR-DEFAULT NESTED-WALK-FORM - LOAD-DEFGENERIC MAKE-ACCESSOR-TABLE - MAKE-DEFAULT-INITARGS-FORM-LIST - GET-EFFECTIVE-METHOD-FUNCTION MAKE-CHECKING-DFUN - GET-COMPLEX-INITIALIZATION-FUNCTIONS MAKE-N-N-ACCESSOR-DFUN - GET-SIMPLE-INITIALIZATION-FUNCTION MAKE-FINAL-ACCESSOR-DFUN - TYPES-FROM-ARGUMENTS MAKE-EFFECTIVE-METHOD-FUNCTION - COMPUTE-SECONDARY-DISPATCH-FUNCTION)) -(PROCLAIM '(FTYPE (FUNCTION (T T T T T T *) *) REAL-MAKE-A-METHOD)) -(PROCLAIM '(FTYPE (FUNCTION (T) SIMPLE-VECTOR) CACHE-VECTOR)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T) T) BOOTSTRAP-MAKE-SLOT-DEFINITION - |(FAST-METHOD (SETF SLOT-VALUE-USING-CLASS) (T STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| - LOAD-DEFCLASS MAKE-EARLY-CLASS-DEFINITION - WALKER::WALK-TEMPLATE-HANDLE-REPEAT-1 OPTIMIZE-GF-CALL - EMIT-SLOT-ACCESS REAL-LOAD-DEFCLASS SET-ARG-INFO1)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T) T) - |(FAST-METHOD WRITER-METHOD-CLASS (SLOT-CLASS T))| - |(FAST-METHOD COMPUTE-SLOT-ACCESSOR-INFO (EFFECTIVE-SLOT-DEFINITION T T))| - |(FAST-METHOD ENSURE-CLASS-USING-CLASS (T PCL-CLASS))| - |(FAST-METHOD SLOT-MAKUNBOUND-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-METHOD T))| - EXPAND-EMF-CALL-METHOD - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STD-CLASS T))| - COMPUTE-PV-SLOT - |(FAST-METHOD SLOT-BOUNDP-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD (SETF SLOT-ACCESSOR-STD-P) (T EFFECTIVE-SLOT-DEFINITION T))| - UPDATE-SLOTS-IN-PV BOOTSTRAP-MAKE-SLOT-DEFINITIONS - WALKER::WALK-TEMPLATE-HANDLE-REPEAT WALKER::WALK-BINDINGS-1 - OPTIMIZE-ACCESSOR-CALL REAL-MAKE-METHOD-INITARGS-FORM - |(FAST-METHOD FIND-METHOD-COMBINATION (GENERIC-FUNCTION (EQL STANDARD) T))| - |(FAST-METHOD (SETF DOCUMENTATION) (T DOCUMENTATION-MIXIN))| - MAKE-EMF-CACHE MAKE-METHOD-INITARGS-FORM-INTERNAL1 - BOOTSTRAP-ACCESSOR-DEFINITIONS1 - |(FAST-METHOD SHARED-INITIALIZE :AFTER (DOCUMENTATION-MIXIN T))| - MAKE-INSTANCE-FUNCTION-COMPLEX MAKE-FGEN - |(FAST-METHOD REMOVE-NAMED-METHOD (T T))| - |(FAST-METHOD COMPUTE-EFFECTIVE-METHOD (GENERIC-FUNCTION SHORT-METHOD-COMBINATION T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STRUCTURE-CLASS T))| - MAKE-FINAL-ORDINARY-DFUN-INTERNAL - |(FAST-METHOD SLOT-MAKUNBOUND-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| - MAKE-INSTANCE-FUNCTION-SIMPLE OPTIMIZE-INSTANCE-ACCESS - MAKE-PARAMETER-REFERENCES - GET-MAKE-INSTANCE-FUNCTION-INTERNAL - |(FAST-METHOD SLOT-UNBOUND (T T T))| - |(FAST-METHOD (SETF DOCUMENTATION) (T T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STRUCTURE-SLOT-DEFINITION T))| - |(FAST-METHOD SLOT-BOUNDP-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| - LOAD-FUNCTION-GENERATOR - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-ACCESSOR-METHOD T))| - |(FAST-METHOD READER-METHOD-CLASS (SLOT-CLASS T))| - |(FAST-METHOD ENSURE-CLASS-USING-CLASS (T NULL))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (BUILT-IN-CLASS T))| - OPTIMIZE-GENERIC-FUNCTION-CALL)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T *) T) EMIT-FETCH-WRAPPER FILL-CACHE - GET-METHOD CHECK-INITARGS-2-PLIST MAKE-EMF-CALL - CHECK-INITARGS-1 WALKER::WALK-ARGLIST REAL-GET-METHOD - CAN-OPTIMIZE-ACCESS1 CHECK-INITARGS-2-LIST)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T) T) ONE-CLASS-DFUN-INFO - |(FAST-METHOD SLOTS-FETCHER (STANDARD-CLASS))| SORT-METHODS - OPTIMIZE-GF-CALL-INTERNAL WALKER::WALK-LABELS - |(FAST-METHOD SPECIALIZER-CLASS (EQL-SPECIALIZER))| - |(FAST-METHOD RAW-INSTANCE-ALLOCATOR (STANDARD-CLASS))| - WALKER::WALK-DO - |(FAST-METHOD SPECIALIZER-DIRECT-METHODS (CLASS))| - ITERATE::RENAME-AND-CAPTURE-VARIABLES EXPAND-DEFGENERIC - |(FAST-METHOD GENERIC-FUNCTION-PRETTY-ARGLIST (STANDARD-GENERIC-FUNCTION))| - |(FAST-METHOD SPECIALIZER-DIRECT-METHODS (SPECIALIZER-WITH-OBJECT))| - FLUSH-CACHE-TRAP WALKER::WALK-MACROLET - |(FAST-METHOD CLASS-DEFAULT-INITARGS (SLOT-CLASS))| - |(FAST-METHOD COMPUTE-SLOTS :AROUND (STD-CLASS))| - COMPUTE-EFFECTIVE-METHOD OPTIMIZE-SET-SLOT-VALUE - WALKER::WALK-SYMBOL-MACROLET OPTIMIZE-SLOT-BOUNDP - |(FAST-METHOD COMPUTE-DEFAULT-INITARGS (SLOT-CLASS))| - GET-FUNCTION-GENERATOR FIX-SLOT-ACCESSORS - SET-FUNCTION-NAME-1 WALKER::WALK-LET EMIT-BOUNDP-CHECK - INITIALIZE-INTERNAL-SLOT-GFS* PRINT-CACHE WALKER::WALK-IF - WALKER::WALK-SETQ WALKER::RELIST-INTERNAL - |(FAST-METHOD RAW-INSTANCE-ALLOCATOR (FUNCALLABLE-STANDARD-CLASS))| - EMIT-1-T-DLAP CAN-OPTIMIZE-ACCESS WALKER::WALK-COMPILER-LET - |(FAST-METHOD WRAPPER-FETCHER (STANDARD-CLASS))| - |SETF PCL METHOD-FUNCTION-GET| - |(FAST-METHOD SPECIALIZER-METHOD-TABLE (CLASS-EQ-SPECIALIZER))| - GET-NEW-FUNCTION-GENERATOR WALKER::WALK-UNEXPECTED-DECLARE - |(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-ACCESSOR-METHOD))| - VARIABLE-DECLARATION - |(FAST-METHOD GENERIC-FUNCTION-LAMBDA-LIST (GENERIC-FUNCTION))| - MAP-ALL-ORDERS ONE-INDEX-DFUN-INFO WALKER::WALK-LAMBDA - |(FAST-METHOD COMPUTE-SLOTS :AROUND (STRUCTURE-CLASS))| - NOTE-PV-TABLE-REFERENCE WALKER::RECONS - STANDARD-COMPUTE-EFFECTIVE-METHOD - |(FAST-METHOD SLOT-DEFINITION-ALLOCATION (STRUCTURE-SLOT-DEFINITION))| - |SETF PCL PLIST-VALUE| EMIT-GREATER-THAN-1-DLAP - MAKE-METHOD-SPEC ITERATE::OPTIMIZE-GATHERING-FORM - OPTIMIZE-SLOT-VALUE PRINT-STD-INSTANCE COMPUTE-PRECEDENCE - WALKER::WALK-TAGBODY WALKER::WALK-NAMED-LAMBDA - |(FAST-METHOD CLASS-FINALIZED-P (PCL-CLASS))| - SKIP-FAST-SLOT-ACCESS-P TRACE-EMF-CALL-INTERNAL - |(FAST-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS (CLASS))| - |(FAST-METHOD COMPUTE-SLOTS (STD-CLASS))| - |(FAST-METHOD MAKE-INSTANCES-OBSOLETE (STD-CLASS))| - ITERATE::SIMPLE-EXPAND-GATHERING-FORM - |(FAST-METHOD CLASS-DIRECT-SLOTS (BUILT-IN-CLASS))| - SORT-APPLICABLE-METHODS SKIP-OPTIMIZE-SLOT-VALUE-BY-CLASS-P - OBSOLETE-INSTANCE-TRAP WALKER::WALK-PROG - |(FAST-METHOD CLASS-CONSTRUCTORS (SLOT-CLASS))| - INVALIDATE-WRAPPER - |(FAST-METHOD COMPUTE-SLOTS (STRUCTURE-CLASS))| - |(FAST-METHOD SLOTS-FETCHER (FUNCALLABLE-STANDARD-CLASS))| - |(FAST-METHOD CLASS-DIRECT-DEFAULT-INITARGS (BUILT-IN-CLASS))| - ENTRY-IN-CACHE-P WALKER::WALK-TAGBODY-1 - |(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-WRITER-METHOD))| - MAKE-OPTIMIZED-STD-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION - |(FAST-METHOD FINALIZE-INHERITANCE (STRUCTURE-CLASS))| - WALKER::WALK-LOCALLY WALKER::WALK-MULTIPLE-VALUE-BIND - |(FAST-METHOD INITIALIZE-INTERNAL-SLOT-FUNCTIONS (EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD CLASS-DIRECT-DEFAULT-INITARGS (SLOT-CLASS))| - WRAP-METHOD-GROUP-SPECIFIER-BINDINGS WALKER::WALK-LET* - |(FAST-METHOD CLASS-PREDICATE-NAME (T))| - |(FAST-METHOD COMPUTE-CLASS-PRECEDENCE-LIST (SLOT-CLASS))| - |(FAST-METHOD GF-FAST-METHOD-FUNCTION-P (STANDARD-GENERIC-FUNCTION))| - EMIT-SLOT-READ-FORM FIRST-FORM-TO-LISP - MAKE-OPTIMIZED-STD-SLOT-BOUNDP-USING-CLASS-METHOD-FUNCTION - |(FAST-METHOD CLASS-SLOTS (BUILT-IN-CLASS))| - WALKER::WITH-AUGMENTED-ENVIRONMENT-INTERNAL - WALKER::WALK-PROG* WALKER::WALK-FLET - |(FAST-METHOD SPECIALIZER-CLASS (CLASS))| - MAKE-OPTIMIZED-STD-SETF-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION - |(FAST-METHOD METHOD-QUALIFIERS (STANDARD-METHOD))| - MAKE-METHOD-INITARGS-FORM-INTERNAL WALKER::WALK-DO* - MAKE-TOP-LEVEL-FORM - |(FAST-METHOD FINALIZE-INHERITANCE (STD-CLASS))| - |(FAST-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS (SPECIALIZER-WITH-OBJECT))| - |(FAST-METHOD SPECIALIZER-METHOD-TABLE (EQL-SPECIALIZER))| - ITERATE::OPTIMIZE-ITERATE-FORM DECLARE-STRUCTURE - MAKE-DFUN-CALL ITERATE::VARIABLE-SAME-P - |(FAST-METHOD WRAPPER-FETCHER (FUNCALLABLE-STANDARD-CLASS))| - WALKER::WALK-MULTIPLE-VALUE-SETQ CONVERT-TABLE - |(FAST-METHOD CLASS-SLOT-CELLS (STD-CLASS))| - |(FAST-METHOD CLASS-DEFAULT-INITARGS (BUILT-IN-CLASS))|)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T) T) - |(FAST-METHOD REMOVE-DIRECT-SUBCLASS (CLASS CLASS))| - EMIT-CHECKING-OR-CACHING-FUNCTION-PRELIMINARY - |(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT STANDARD-CLASS))| - WALKER::WALK-LET/LET* - |(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| - |(FAST-METHOD VALIDATE-SUPERCLASS (SLOT-CLASS FORWARD-REFERENCED-CLASS))| - |(FAST-METHOD VALIDATE-SUPERCLASS (FUNCALLABLE-STANDARD-CLASS STANDARD-CLASS))| - MAKE-EFFECTIVE-METHOD-FUNCTION-TYPE - |(FAST-METHOD REMOVE-BOUNDP-METHOD (SLOT-CLASS T))| - |(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| - |(FAST-METHOD DOCUMENTATION (T))| - |(FAST-METHOD REINITIALIZE-INSTANCE :BEFORE (SLOT-CLASS))| - MAYBE-EXPAND-ACCESSOR-FORM BOOTSTRAP-SET-SLOT - |(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STD-CLASS T))| - WALKER::WALK-TEMPLATE - |(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD-COMBINATION T))| - |(FAST-METHOD REINITIALIZE-INSTANCE (STANDARD-METHOD))| - |(FAST-METHOD REINITIALIZE-INSTANCE (SLOT-OBJECT))| - GET-WRAPPERS-FROM-CLASSES - |(FAST-METHOD LEGAL-SLOT-NAME-P (STANDARD-METHOD T))| - MAKE-EFFECTIVE-METHOD-FUNCTION1 - |(FAST-METHOD PRINT-OBJECT (CLASS T))| - |(FAST-METHOD PRINT-OBJECT (GENERIC-FUNCTION T))| - |(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STRUCTURE-CLASS T))| - EXPAND-CACHE EXPAND-DEFCLASS - |(FAST-METHOD UPDATE-GF-DFUN (STD-CLASS T))| - |(FAST-METHOD COMPATIBLE-META-CLASS-CHANGE-P (T T))| - |(FAST-METHOD MAP-DEPENDENTS (DEPENDENT-UPDATE-MIXIN T))| - |(FAST-METHOD REMOVE-DIRECT-METHOD (CLASS METHOD))| - |(FAST-METHOD MAKE-BOUNDP-METHOD-FUNCTION (SLOT-CLASS T))| - |(FAST-METHOD LEGAL-LAMBDA-LIST-P (STANDARD-METHOD T))| - |(FAST-METHOD INITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| - |(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| - MAKE-EFFECTIVE-METHOD-FUNCTION-INTERNAL - |(FAST-METHOD LEGAL-SPECIALIZER-P (STANDARD-METHOD T))| - |(FAST-METHOD MAKE-READER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| - |(FAST-METHOD SAME-SPECIALIZER-P (SPECIALIZER SPECIALIZER))| - TWO-CLASS-DFUN-INFO - |(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STD-CLASS T))| - |(FAST-METHOD PRINT-OBJECT (T T))| - |(FAST-METHOD VALIDATE-SUPERCLASS (CLASS CLASS))| - FILL-CACHE-P MEMF-TEST-CONVERTER - |(FAST-METHOD LEGAL-QUALIFIER-P (STANDARD-METHOD T))| - WALKER::WALK-BINDINGS-2 - |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS :AROUND (STRUCTURE-CLASS T))| - |(FAST-METHOD REMOVE-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| - |(FAST-METHOD ADD-DIRECT-SUBCLASS (CLASS CLASS))| - |(FAST-METHOD ADD-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| - |(FAST-METHOD PRINT-OBJECT (SLOT-DEFINITION T))| - WALKER::WALK-DO/DO* ADJUST-CACHE - |(FAST-METHOD ADD-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| - |(FAST-METHOD REMOVE-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| - |(FAST-METHOD LEGAL-DOCUMENTATION-P (STANDARD-METHOD T))| - OPTIMIZE-READER - |(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD T))| - |(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (SLOT-CLASS T))| - |(FAST-METHOD ALLOCATE-INSTANCE (STANDARD-CLASS))| - EXPAND-SYMBOL-MACROLET-INTERNAL - |(FAST-METHOD ADD-DIRECT-METHOD (CLASS METHOD))| - |(FAST-METHOD SAME-SPECIALIZER-P (EQL-SPECIALIZER EQL-SPECIALIZER))| - MAKE-DISPATCH-LAMBDA - |(FAST-METHOD LEGAL-METHOD-FUNCTION-P (STANDARD-METHOD T))| - |(FAST-METHOD SAME-SPECIALIZER-P (CLASS-EQ-SPECIALIZER CLASS-EQ-SPECIALIZER))| - INITIALIZE-INSTANCE-SIMPLE - |(FAST-METHOD VALIDATE-SUPERCLASS (CLASS BUILT-IN-CLASS))| - OPTIMIZE-WRITER - |(FAST-METHOD REMOVE-READER-METHOD (SLOT-CLASS T))| - |(FAST-METHOD COMPUTE-APPLICABLE-METHODS (GENERIC-FUNCTION T))| - |(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT FUNCALLABLE-STANDARD-CLASS))| - |(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| - LOAD-PRECOMPILED-IIS-ENTRY - LOAD-PRECOMPILED-DFUN-CONSTRUCTOR - |(FAST-METHOD SLOT-ACCESSOR-STD-P (EFFECTIVE-SLOT-DEFINITION T))| - |(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STD-CLASS T))| - |(FAST-METHOD DOCUMENTATION (DOCUMENTATION-MIXIN))| - WALKER::WALK-PROG/PROG* - |(FAST-METHOD ALLOCATE-INSTANCE (FUNCALLABLE-STANDARD-CLASS))| - |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS (SLOT-CLASS T))| - |(FAST-METHOD REMOVE-WRITER-METHOD (SLOT-CLASS T))| - |(FAST-METHOD MAKE-INSTANCE (CLASS))| - |(FAST-METHOD PRINT-OBJECT (STANDARD-ACCESSOR-METHOD T))| - |(FAST-METHOD SAME-SPECIALIZER-P (CLASS CLASS))| - |(FAST-METHOD MAKE-READER-METHOD-FUNCTION (SLOT-CLASS T))|)) -(PROCLAIM - '(FTYPE (FUNCTION (T T *) T) COMPUTE-SECONDARY-DISPATCH-FUNCTION1 - FIND-CLASS-PREDICATE-FROM-CELL - ENSURE-GENERIC-FUNCTION-USING-CLASS GET-DECLARATION - METHOD-FUNCTION-GET CPL-ERROR EMIT-MISS - PRECOMPUTE-EFFECTIVE-METHODS GET-METHOD-FUNCTION-PV-CELL - MAP-CACHE EXPAND-EFFECTIVE-METHOD-FUNCTION - MAKE-EMF-FROM-METHOD GET-EFFECTIVE-METHOD-FUNCTION1 - REAL-ENSURE-GF-USING-CLASS--GENERIC-FUNCTION - NAMED-OBJECT-PRINT-FUNCTION - MAKE-EFFECTIVE-METHOD-FUNCTION-SIMPLE PROBE-CACHE - INITIALIZE-INFO REAL-ENSURE-GF-USING-CLASS--NULL - FIND-CLASS-FROM-CELL WALKER::CONVERT-MACRO-TO-LAMBDA - REAL-ADD-METHOD RECORD-DEFINITION)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T *) T) MAKE-DEFMETHOD-FORM - MAKE-DEFMETHOD-FORM-INTERNAL LOAD-DEFMETHOD - EARLY-MAKE-A-METHOD)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T *) T) EMIT-DLAP - GET-SECONDARY-DISPATCH-FUNCTION1)) -(PROCLAIM '(FTYPE (FUNCTION (T T FIXNUM) T) COMPUTE-STD-CPL-PHASE-3)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T T T) T) - GET-SECONDARY-DISPATCH-FUNCTION2)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T *) T) REAL-ADD-NAMED-METHOD - EARLY-ADD-NAMED-METHOD FILL-DFUN-CACHE)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T T) T) - |(FAST-METHOD SLOT-MISSING (T T T T))| - LOAD-DEFMETHOD-INTERNAL EXPAND-DEFMETHOD)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T FIXNUM) T) GET-CACHE - FILL-CACHE-FROM-CACHE-P)) -(PROCLAIM - '(FTYPE (FUNCTION (T T T T T T T T T *) T) - BOOTSTRAP-INITIALIZE-CLASS)) -(PROCLAIM - '(FTYPE (FUNCTION (T) FIXNUM) N-N-ACCESSORS-LIMIT-FN - FAST-INSTANCE-BOUNDP-INDEX PV-TABLE-PV-SIZE - ARG-INFO-NUMBER-REQUIRED EARLY-CLASS-SIZE DEFAULT-LIMIT-FN - CHECKING-LIMIT-FN ONE-INDEX-LIMIT-FN CPD-COUNT CACHE-COUNT - PV-CACHE-LIMIT-FN CACHING-LIMIT-FN)) -(PROCLAIM '(FTYPE (FUNCTION (FIXNUM) T) POWER-OF-TWO-CEILING)) -(PROCLAIM '(FTYPE (FUNCTION (T T *) (VALUES T T)) SYMBOL-APPEND)) -(PROCLAIM '(FTYPE (FUNCTION (T STREAM T) T) PRINT-DFUN-INFO)) -(PROCLAIM - '(FTYPE (FUNCTION (T) NON-NEGATIVE-FIXNUM) CACHE-NLINES CACHE-MASK - CACHE-MAX-LOCATION CACHE-SIZE)) +(COMMON-LISP::IN-PACKAGE "PCL") +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::FUNCTION) + PCL::CACHE-LIMIT-FN PCL::FAST-METHOD-CALL-FUNCTION + PCL::METHOD-CALL-FUNCTION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::T) + PCL::DISPATCH-DFUN-INFO PCL::DEFAULT-METHOD-ONLY-DFUN-INFO + PCL::MAKE-CACHE PCL::BOOTSTRAP-BUILT-IN-CLASSES + PCL::RENEW-SYS-FILES PCL::SHOW-EMF-CALL-TRACE PCL::MAKE-CPD + PCL::BOOTSTRAP-META-BRAID PCL::CACHES-TO-ALLOCATE + PCL::LIST-ALL-DFUNS PCL::INITIAL-DISPATCH-DFUN-INFO + PCL::INITIAL-DFUN-INFO PCL::%%ALLOCATE-INSTANCE--CLASS + PCL::MAKE-ARG-INFO PCL::ALLOCATE-FUNCALLABLE-INSTANCE-2 + PCL::SHOW-FREE-CACHE-VECTORS PCL::UPDATE-DISPATCH-DFUNS + PCL::GET-EFFECTIVE-METHOD-GENSYM PCL::IN-THE-COMPILER-P + PCL::SHOW-DFUN-CONSTRUCTORS PCL::NO-METHODS-DFUN-INFO + PCL::INITIALIZE-CHECKING-OR-CACHING-FUNCTION-LIST + PCL::ALLOCATE-FUNCALLABLE-INSTANCE-1 + PCL::STRUCTURE-FUNCTIONS-EXIST-P)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) PCL::FIELD-TYPE) + PCL::CACHE-FIELD)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) + COMMON-LISP::SIMPLE-VECTOR) + PCL::CACHE-VECTOR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) + (COMMON-LISP::INTEGER 1 256)) + PCL::CACHE-LINE-SIZE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) + (COMMON-LISP::INTEGER 1 255)) + PCL::CACHE-NKEYS)) +(COMMON-LISP::MAPC + (COMMON-LISP::LAMBDA (COMPILER::X) + (COMMON-LISP::SETF + (COMMON-LISP::GET COMPILER::X 'SYSTEM::PROCLAIMED-CLOSURE) + COMMON-LISP::T)) + '(PCL::REDEFINE-FUNCTION PCL::DO-STANDARD-DEFSETF-1 + PCL::FDEFINE-CAREFULLY PCL::TRACE-METHOD-INTERNAL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + (COMMON-LISP::VALUES COMMON-LISP::T COMMON-LISP::T)) + PCL::SYMBOL-APPEND)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::T) + PCL::FAST-METHOD-CALL-NEXT-METHOD-CALL + PCL::GENERIC-CLOBBERS-FUNCTION PCL::STRUCTURE-SLOTD-TYPE + WALKER::GET-WALKER-TEMPLATE PCL::COMPILE-LAMBDA-UNCOMPILED + PCL::EXTRACT-LAMBDA-LIST PCL::DEFAULT-METHOD-ONLY-P + PCL::DISPATCH-CACHE PCL::STRUCTURE-SLOTD-NAME + PCL::FAST-METHOD-CALL-P PCL::SFUN-P + PCL::FTYPE-DECLARATION-FROM-LAMBDA-LIST + PCL::EARLY-CLASS-DEFINITION PCL::CONSTANT-SYMBOL-P + PCL::ARG-INFO-LAMBDA-LIST WALKER::ENV-LEXICAL-VARIABLES + PCL::INTERN-EQL-SPECIALIZER PCL::PARSE-SPECIALIZERS + PCL::%STD-INSTANCE-WRAPPER PCL::UPDATE-ALL-C-A-M-GF-INFO + PCL::INITIALIZE-INFO-CACHED-COMBINED-INITIALIZE-FUNCTION + PCL::STORE-FGEN PCL::COMPUTE-MCASE-PARAMETERS + PCL::INTERNED-SYMBOL-P PCL::MAKE-CALL-METHODS + PCL::USE-CACHING-DFUN-P PCL::LEGAL-CLASS-NAME-P + WALKER::VARIABLE-GLOBALLY-SPECIAL-P PCL::FUNCTION-RETURNING-T + PCL::METHOD-FUNCTION-METHOD PCL::GET-BUILT-IN-CLASS-SYMBOL + PCL::DEFAULT-STRUCTURE-TYPE PCL::GF-DFUN-INFO PCL::CACHING-P + PCL::FREE-CACHE-VECTOR PCL::ONE-CLASS-CACHE + PCL::DEFAULT-TEST-CONVERTER PCL::UNDEFMETHOD-1 + PCL::MAKE-INITFUNCTION PCL::GET-CACHE-VECTOR + PCL::CLASS-PRECEDENCE-DESCRIPTION-P PCL::GF-INFO-FAST-MF-P + PCL::ECD-SOURCE PCL::INITIAL-P PCL::ARG-INFO-APPLYP + PCL::ARG-INFO-KEYWORDS + PCL::MAKE-DEFAULT-METHOD-GROUP-DESCRIPTION + PCL::CACHING-DFUN-COST PCL::INITIAL-DISPATCH-P PCL::EVAL-FORM + PCL::MAKE-CONSTANT-FUNCTION PCL::FUNCTION-RETURNING-NIL + PCL::INITIALIZE-INFO-BOUND-SLOTS PCL::FGEN-GENSYMS + PCL::EXPAND-SHORT-DEFCOMBIN WALKER::ENV-LOCK + PCL::INITIALIZE-INFO-CACHED-CONSTANTS + PCL::INITIALIZE-INFO-WRAPPER + PCL::STRUCTURE-TYPE-INCLUDED-TYPE-NAME PCL::TWO-CLASS-INDEX + PCL::ONE-INDEX-ACCESSOR-TYPE + PCL::EARLY-COLLECT-DEFAULT-INITARGS WALKER::ENV-WALK-FORM + PCL::STRUCTURE-TYPE-INTERNAL-SLOTDS PCL::MAKE-FUNCTION-INLINE + PCL::FLUSH-CACHE-VECTOR-INTERNAL + PCL::INITIALIZE-INFO-CACHED-SHARED-INITIALIZE-T-FUNCTION + PCL::FGEN-GENERATOR PCL::CONSTANT-VALUE-P + PCL::METHOD-FUNCTION-FROM-FAST-FUNCTION + PCL::EARLY-CLASS-PRECEDENCE-LIST PCL::SLOT-BOUNDP-SYMBOL + PCL::ARG-INFO-NUMBER-OPTIONAL + PCL::GF-PRECOMPUTE-DFUN-AND-EMF-P PCL::GET-PV-CELL-FOR-CLASS + PCL::CHECKING-FUNCTION PCL::USE-DEFAULT-METHOD-ONLY-DFUN-P + PCL::INITIAL-DISPATCH-CACHE PCL::STRUCTURE-SVUC-METHOD + PCL::NO-METHODS-CACHE PCL::GF-DFUN-CACHE PCL::%CCLOSURE-ENV + PCL::CONSTANT-VALUE-CACHE PCL::BUILT-IN-WRAPPER-OF + PCL::CLASS-HAS-A-FORWARD-REFERENCED-SUPERCLASS-P + PCL::EARLY-COLLECT-CPL COMMON-LISP::CLASS-OF + PCL::STRUCTURE-SLOTD-ACCESSOR-SYMBOL PCL::SYMBOL-PKG-NAME + PCL::GDEFINITION + PCL::INITIALIZE-INFO-CACHED-SHARED-INITIALIZE-NIL-FUNCTION + PCL::ACCESSOR-DFUN-INFO-CACHE PCL::EXTRACT-SPECIALIZER-NAMES + PCL::CHECK-WRAPPER-VALIDITY PCL::MAKE-INITIAL-DFUN + PCL::WRAPPER-FIELD PCL::EARLY-SLOT-DEFINITION-LOCATION + PCL::EARLY-GF-P PCL::GF-INFO-STATIC-C-A-M-EMF PCL::LOOKUP-FGEN + PCL::MAKE-PV-TYPE-DECLARATION + PCL::INFORM-TYPE-SYSTEM-ABOUT-STD-CLASS + PCL::EARLY-METHOD-CLASS + PCL::DEFAULT-SECONDARY-DISPATCH-FUNCTION + WALKER::ENV-DECLARATIONS PCL::ALLOCATE-CACHE-VECTOR + PCL::FUNCTION-PRETTY-ARGLIST + PCL::EARLY-CLASS-DIRECT-SUBCLASSES + PCL::COMPUTE-APPLICABLE-METHODS-EMF-STD-P + PCL::MAKE-CLASS-EQ-PREDICATE PCL::ECD-OTHER-INITARGS + PCL::GBOUNDP PCL::METHOD-FUNCTION-PV-TABLE + WALKER::GET-IMPLEMENTATION-DEPENDENT-WALKER-TEMPLATE + PCL::MAKE-INSTANCE-FUNCTION-SYMBOL + PCL::MAKE-OPTIMIZED-STRUCTURE-SETF-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION + PCL::FIND-CYCLE-REASONS PCL::FGEN-TEST + PCL::SLOT-INITARGS-FROM-STRUCTURE-SLOTD PCL::FREE-CACHE + PCL::TYPE-CLASS PCL::INITIAL-CACHE + PCL::BOOTSTRAP-ACCESSOR-DEFINITIONS + PCL::STRUCTURE-SLOTD-WRITER-FUNCTION + PCL::INITIALIZE-INFO-CACHED-DEFAULT-INITARGS-FUNCTION + PCL::EARLY-COLLECT-SLOTS PCL::LIST-DFUN + PCL::EXPAND-MAKE-INSTANCE-FORM PCL::N-N-CACHE + PCL::MAKE-TYPE-PREDICATE PCL::INTERN-FUNCTION-NAME + PCL::GET-MAKE-INSTANCE-FUNCTIONS WALKER::ENV-WALK-FUNCTION + PCL::TWO-CLASS-CACHE PCL::MAKE-CALLS-TYPE-DECLARATION + PCL::MAKE-STRUCTURE-SLOT-BOUNDP-FUNCTION + PCL::INITIALIZE-INFO-KEY PCL::GF-LAMBDA-LIST + ITERATE::VARIABLES-FROM-LET PCL::COMPUTE-CLASS-SLOTS + PCL::DFUN-ARG-SYMBOL PCL::CHECKING-P PCL::ARG-INFO-P + PCL::INITIALIZE-INFO-CACHED-RI-VALID-P PCL::CHECKING-CACHE + PCL::METHOD-FUNCTION-PLIST PCL::STRUCTURE-OBJECT-P + PCL::ARG-INFO-PRECEDENCE PCL::ONE-CLASS-INDEX + PCL::STD-INSTANCE-P PCL::STRUCTURE-TYPE-SLOT-DESCRIPTION-LIST + PCL::MAKE-OPTIMIZED-STRUCTURE-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION + PCL::EARLY-SLOT-DEFINITION-NAME PCL::UNPARSE-SPECIALIZERS + PCL::STRUCTURE-TYPE-P PCL::ACCESSOR-DFUN-INFO-ACCESSOR-TYPE + PCL::PV-TABLEP PCL::CLASS-FROM-TYPE + PCL::GF-INFO-SIMPLE-ACCESSOR-TYPE PCL::STRUCTURE-TYPE + PCL::MAKE-EQL-PREDICATE PCL::TWO-CLASS-ACCESSOR-TYPE + PCL::DEFAULT-STRUCTURE-INSTANCE-P + PCL::EARLY-METHOD-STANDARD-ACCESSOR-SLOT-NAME + PCL::ONE-INDEX-DFUN-INFO-ACCESSOR-TYPE PCL::GFS-OF-TYPE + PCL::DEFAULT-STRUCTUREP PCL::EARLY-CLASS-NAME-OF + PCL::%STD-INSTANCE-SLOTS PCL::ONE-INDEX-INDEX PCL::WRAPPER-OF + PCL::ARG-INFO-VALID-P PCL::KEYWORD-SPEC-NAME + PCL::METHOD-CALL-P PCL::SHOW-DFUN-COSTS PCL::DFUN-INFO-CACHE + PCL::DEFAULT-CONSTANT-CONVERTER ITERATE::SEQUENCE-ACCESSOR + PCL::COUNT-DFUN PCL::EXPAND-LONG-DEFCOMBIN + PCL::CACHING-DFUN-INFO PCL::INITIALIZE-INFO-CACHED-VALID-P + PCL::FAST-INSTANCE-BOUNDP-P PCL::ARG-INFO-METATYPES + PCL::EXTRACT-PARAMETERS PCL::GF-INFO-C-A-M-EMF-STD-P + PCL::FINAL-ACCESSOR-DFUN-TYPE PCL::GMAKUNBOUND + PCL::FAST-METHOD-CALL-ARG-INFO PCL::COMPUTE-LINE-SIZE + PCL::ONE-INDEX-CACHE PCL::NO-METHODS-P + PCL::COMPUTE-STD-CPL-PHASE-2 + PCL::COMPLICATED-INSTANCE-CREATION-METHOD + PCL::MAKE-PERMUTATION-VECTOR PCL::CONSTANT-VALUE-DFUN-INFO + PCL::TWO-CLASS-WRAPPER1 PCL::MAP-ALL-GENERIC-FUNCTIONS + PCL::CLASS-PREDICATE SYSTEM::%STRUCTURE-NAME + PCL::RESET-CLASS-INITIALIZE-INFO + PCL::BUILT-IN-OR-STRUCTURE-WRAPPER1 PCL::EARLY-CLASS-NAME + PCL::INITIALIZE-INFO-CACHED-MAKE-INSTANCE-FUNCTION-SYMBOL + PCL::UPDATE-PV-TABLE-CACHE-INFO PCL::SLOT-READER-SYMBOL + PCL::ARG-INFO-NKEYS PCL::METHOD-CALL-CALL-METHOD-ARGS + PCL::CCLOSUREP PCL::DEFAULT-METHOD-ONLY-CACHE + PCL::NEXT-WRAPPER-FIELD PCL::SLOT-WRITER-SYMBOL + PCL::ACCESSOR-DFUN-INFO-P + PCL::GET-MAKE-INSTANCE-FUNCTION-SYMBOL + PCL::EXTRACT-REQUIRED-PARAMETERS PCL::FORMAT-CYCLE-REASONS + PCL::UNENCAPSULATED-FDEFINITION + PCL::GET-BUILT-IN-WRAPPER-SYMBOL PCL::ONE-CLASS-P + PCL::ECD-METACLASS PCL::METHOD-LL->GENERIC-FUNCTION-LL + PCL::PROCLAIM-INCOMPATIBLE-SUPERCLASSES PCL::ONE-INDEX-P + PCL::INITIALIZE-INFO-CACHED-INITARGS-FORM-LIST + PCL::ECD-CANONICAL-SLOTS + PCL::METHOD-FUNCTION-NEEDS-NEXT-METHODS-P + PCL::INITIALIZE-INFO-CACHED-NEW-KEYS + PCL::STRUCTURE-SLOTD-READER-FUNCTION + PCL::INITIALIZE-INFO-CACHED-COMBINED-INITARGS-FORM-LIST + PCL::DISPATCH-P PCL::LIST-LARGE-CACHE + PCL::FAST-METHOD-CALL-PV-CELL PCL::GET-MAKE-INSTANCE-FUNCTION + PCL::DNET-METHODS-P PCL::STRUCTURE-SLOTD-INIT-FORM + PCL::UPDATE-CLASS-CAN-PRECEDE-P PCL::ONE-CLASS-ACCESSOR-TYPE + PCL::RESET-INITIALIZE-INFO PCL::STANDARD-SVUC-METHOD + PCL::DEFAULT-CONSTANTP PCL::UPDATE-C-A-M-GF-INFO + PCL::ONE-INDEX-DFUN-INFO-CACHE PCL::EARLY-CLASS-SLOTS + PCL::CPD-SUPERS PCL::FGEN-GENERATOR-LAMBDA + PCL::ECD-SUPERCLASS-NAMES PCL::ECD-CLASS-NAME PCL::SETFBOUNDP + PCL::GET-SETF-FUNCTION-NAME PCL::DFUN-INFO-P + PCL::SLOT-VECTOR-SYMBOL PCL::INITIALIZE-INFO-P + PCL::TWO-CLASS-P PCL::UPDATE-GF-SIMPLE-ACCESSOR-TYPE + PCL::COPY-CACHE PCL::MAKE-PV-TABLE-TYPE-DECLARATION + PCL::SORT-CALLS PCL::STRUCTURE-SLOT-BOUNDP PCL::%FBOUNDP + PCL::RESET-CLASS-INITIALIZE-INFO-1 PCL::UPDATE-GF-INFO + PCL::WRAPPER-FOR-STRUCTURE PCL::FUNCALLABLE-INSTANCE-P + PCL::CPD-CLASS PCL::EARLY-METHOD-STANDARD-ACCESSOR-P + PCL::SORT-SLOTS PCL::CANONICAL-SLOT-NAME + PCL::MAKE-OPTIMIZED-STRUCTURE-SLOT-BOUNDP-USING-CLASS-METHOD-FUNCTION + PCL::EARLY-ACCESSOR-METHOD-SLOT-NAME PCL::%SYMBOL-FUNCTION + PCL::EARLY-METHOD-LAMBDA-LIST PCL::ONE-INDEX-DFUN-INFO-INDEX + PCL::N-N-ACCESSOR-TYPE PCL::CACHING-CACHE + PCL::EARLY-CLASS-SLOTDS PCL::ONE-INDEX-DFUN-INFO-P + SYSTEM::%COMPILED-FUNCTION-NAME + PCL::BOOTSTRAP-CLASS-PREDICATES PCL::NET-TEST-CONVERTER + PCL::DO-STANDARD-DEFSETFS-FOR-DEFCLASS PCL::TWO-CLASS-WRAPPER0 + PCL::MAP-SPECIALIZERS PCL::EARLY-GF-NAME PCL::N-N-P + PCL::FGEN-SYSTEM PCL::METHODS-CONTAIN-EQL-SPECIALIZER-P + PCL::UPDATE-GFS-OF-CLASS PCL::ONE-CLASS-WRAPPER0 + PCL::CPD-AFTER + PCL::INITIALIZE-INFO-CACHED-MAKE-INSTANCE-FUNCTION + PCL::CACHE-P PCL::EARLY-METHOD-QUALIFIERS PCL::CHECK-CACHE + PCL::FORCE-CACHE-FLUSHES PCL::CACHE-OWNER + PCL::COMPILE-LAMBDA-DEFERRED PCL::ARG-INFO-KEY/REST-P)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::*) + COMMON-LISP::INVALID-METHOD-ERROR PCL::LIST-LARGE-CACHES + PCL::UPDATE-MAKE-INSTANCE-FUNCTION-TABLE PCL::UNTRACE-METHOD + COMMON-LISP::METHOD-COMBINATION-ERROR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) + PCL::NON-NEGATIVE-FIXNUM) + PCL::CACHE-MAX-LOCATION PCL::CACHE-NLINES PCL::CACHE-SIZE + PCL::CACHE-MASK)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + PCL::MAKE-INTERNAL-READER-METHOD-FUNCTION + ITERATE::SIMPLE-EXPAND-ITERATE-FORM PCL::ADD-DIRECT-SUBCLASSES + PCL::PROCLAIM-DEFMETHOD PCL::UPDATE-INITIALIZE-INFO-INTERNAL + PCL::RAISE-METATYPE PCL::CLASS-CAN-PRECEDE-P + WALKER::VARIABLE-SPECIAL-P PCL::GF-MAKE-FUNCTION-FROM-EMF + PCL::|SETF PCL METHOD-FUNCTION-PLIST| + PCL::SET-FUNCTION-PRETTY-ARGLIST + PCL::FUNCALLABLE-STANDARD-INSTANCE-ACCESS + PCL::MAKE-DISCRIMINATING-FUNCTION-ARGLIST + PCL::DEAL-WITH-ARGUMENTS-OPTION WALKER::NOTE-DECLARATION + PCL::MAKE-CLASS-PREDICATE PCL::VALUE-FOR-CACHING + PCL::EMIT-1-NIL-DLAP PCL::MAKE-CAXR PCL::SYMBOL-LESSP + PCL::GET-KEY-ARG1 PCL::ADD-FORMS + PCL::EMIT-N-WRAPPER-COMPUTE-PRIMARY-CACHE-LOCATION + PCL::DOCTOR-DFUN-FOR-THE-DEBUGGER + PCL::CLASSES-HAVE-COMMON-SUBCLASS-P PCL::N-N-DFUN-INFO + PCL::CANONICALIZE-SLOT-SPECIFICATION + PCL::REDIRECT-EARLY-FUNCTION-INTERNAL + PCL::UPDATE-STD-OR-STR-METHODS PCL::%SET-CCLOSURE-ENV + PCL::QUALIFIER-CHECK-RUNTIME + PCL::MAKE-STD-READER-METHOD-FUNCTION + PCL::ADD-SLOT-ACCESSORS PCL::ADD-TO-CVECTOR + PCL::COMPUTE-LAYOUT PCL::DESTRUCTURE-INTERNAL + PCL::SUPERCLASSES-COMPATIBLE-P + PCL::COMPUTE-APPLICABLE-METHODS-FUNCTION ITERATE::MV-SETQ + PCL::COMPUTE-STD-CPL PCL::SET-METHODS PCL::CHECKING-DFUN-INFO + ITERATE::EXTRACT-SPECIAL-BINDINGS PCL::SWAP-WRAPPERS-AND-SLOTS + PCL::CANONICALIZE-DEFCLASS-OPTION PCL::MAKE-CDXR + PCL::PRINTING-RANDOM-THING-INTERNAL COMMON-LISP::ADD-METHOD + PCL::STANDARD-INSTANCE-ACCESS + SYSTEM::%SET-COMPILED-FUNCTION-NAME PCL::FIND-SLOT-DEFINITION + PCL::CLASS-MIGHT-PRECEDE-P + PCL::MAKE-STD-BOUNDP-METHOD-FUNCTION PCL::SAUT-NOT-EQL + PCL::SET-WRAPPER PCL::SET-STANDARD-SVUC-METHOD + PCL::SAUT-NOT-PROTOTYPE PCL::ACCESSOR-MISS-FUNCTION + PCL::NO-SLOT PCL::REMTAIL PCL::PV-WRAPPERS-FROM-ALL-ARGS + PCL::UPDATE-CLASS PCL::AUGMENT-TYPE PCL::MAKE-EARLY-ACCESSOR + PCL::MAKE-PLIST PCL::MEC-ALL-CLASSES-INTERNAL + PCL::MAKE-STD-WRITER-METHOD-FUNCTION + PCL::PARSE-QUALIFIER-PATTERN PCL::MEMF-CONSTANT-CONVERTER + PCL::|SETF PCL FIND-CLASS-PREDICATE| + PCL::MAKE-UNORDERED-METHODS-EMF WALKER::ENVIRONMENT-FUNCTION + PCL::MEC-ALL-CLASS-LISTS PCL::SAUT-NOT-CLASS-EQ + PCL::DO-SATISFIES-DEFTYPE PCL::SET-STRUCTURE-SVUC-METHOD + PCL::MAKE-DLAP-LAMBDA-LIST PCL::METHOD-FUNCTION-RETURNING-T + PCL::COMPUTE-CALLS PCL::REMOVE-SLOT-ACCESSORS + PCL::UPDATE-ALL-PV-TABLE-CACHES PCL::MAKE-DFUN-LAMBDA-LIST + WALKER::NOTE-LEXICAL-BINDING PCL::REMOVE-DIRECT-SUBCLASSES + PCL::MAP-PV-TABLE-REFERENCES-OF PCL::COMPUTE-CONSTANTS + PCL::METHOD-FUNCTION-RETURNING-NIL PCL::METHODS-CONVERTER + PCL::PV-TABLE-LOOKUP PCL::DESCRIBE-PACKAGE + COMMON-LISP::SLOT-EXISTS-P PCL::MAKE-PV-TABLE-INTERNAL + PCL::SAUT-NOT-CLASS PCL::|SETF PCL FIND-CLASS| + PCL::UPDATE-INITS PCL::UPDATE-CPL + PCL::EMIT-1-WRAPPER-COMPUTE-PRIMARY-CACHE-LOCATION + PCL::COMPUTE-PV WALKER::VARIABLE-LEXICAL-P + PCL::PROCLAIM-DEFGENERIC PCL::MAKE-DFUN-ARG-LIST + PCL::GET-KEY-ARG COMMON-LISP::REMOVE-METHOD + PCL::PV-WRAPPERS-FROM-ALL-WRAPPERS PCL::VARIABLE-CLASS + PCL::UPDATE-SLOTS PCL::SYMBOL-OR-CONS-LESSP + PCL::MEC-ALL-CLASSES PCL::LIST-EQ + PCL::SET-FUNCALLABLE-INSTANCE-FUNCTION + WALKER::WALK-REPEAT-EVAL WALKER::ENVIRONMENT-MACRO + WALKER::VARIABLE-SYMBOL-MACRO-P + PCL::MAKE-FAST-METHOD-CALL-LAMBDA-LIST + PCL::BOOTSTRAP-SLOT-INDEX PCL::PLIST-VALUE + PCL::CHANGE-CLASS-INTERNAL PCL::NET-CONSTANT-CONVERTER + PCL::|SETF PCL GDEFINITION| PCL::FIND-STANDARD-II-METHOD)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + WALKER::WALK-FORM PCL::MAKE-INSTANCE-1 + PCL::EXTRACT-DECLARATIONS PCL::GET-FUNCTION + WALKER::MACROEXPAND-ALL PCL::ALLOCATE-STRUCTURE-INSTANCE + PCL::MAKE-FINAL-DFUN-INTERNAL PCL::GET-METHOD-FUNCTION + PCL::COERCE-TO-CLASS PCL::MAP-ALL-CLASSES PCL::ENSURE-CLASS + PCL::PARSE-METHOD-OR-SPEC COMMON-LISP::ENSURE-GENERIC-FUNCTION + PCL::MAKE-CACHING-DFUN PCL::GET-FUNCTION1 + PCL::GET-DFUN-CONSTRUCTOR PCL::MAKE-CONSTANT-VALUE-DFUN + PCL::MAKE-METHOD-FUNCTION-INTERNAL PCL::COMPILE-LAMBDA + PCL::PARSE-SPECIALIZED-LAMBDA-LIST PCL::DISPATCH-DFUN-COST + PCL::MAKE-METHOD-LAMBDA-INTERNAL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) + (COMMON-LISP::VALUES COMMON-LISP::T COMMON-LISP::T)) + PCL::MAKE-CLASS-PREDICATE-NAME PCL::MAKE-KEYWORD)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + PCL::FIND-CLASS-FROM-CELL PCL::GET-METHOD-FUNCTION-PV-CELL + PCL::PROBE-CACHE PCL::NAMED-OBJECT-PRINT-FUNCTION + PCL::PRECOMPUTE-EFFECTIVE-METHODS + PCL::MAKE-EFFECTIVE-METHOD-FUNCTION-SIMPLE + PCL::GET-EFFECTIVE-METHOD-FUNCTION1 PCL::MAKE-EMF-FROM-METHOD + PCL::EMIT-MISS PCL::REAL-ENSURE-GF-USING-CLASS--NULL + PCL::RECORD-DEFINITION WALKER::CONVERT-MACRO-TO-LAMBDA + PCL::INITIALIZE-INFO PCL::EXPAND-EFFECTIVE-METHOD-FUNCTION + PCL::METHOD-FUNCTION-GET PCL::FIND-CLASS-PREDICATE-FROM-CELL + PCL::ENSURE-GENERIC-FUNCTION-USING-CLASS + PCL::COMPUTE-SECONDARY-DISPATCH-FUNCTION1 PCL::GET-DECLARATION + PCL::REAL-ENSURE-GF-USING-CLASS--GENERIC-FUNCTION + PCL::MAP-CACHE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::T) + PCL::|(FAST-METHOD SAME-SPECIALIZER-P (EQL-SPECIALIZER EQL-SPECIALIZER))| + PCL::|(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| + PCL::|(FAST-METHOD PRINT-OBJECT (GENERIC-FUNCTION T))| + WALKER::WALK-PROG/PROG* + PCL::|(FAST-METHOD LEGAL-LAMBDA-LIST-P (STANDARD-METHOD T))| + WALKER::WALK-BINDINGS-2 + PCL::|(FAST-METHOD VALIDATE-SUPERCLASS (CLASS BUILT-IN-CLASS))| + WALKER::WALK-DO/DO* + PCL::|(FAST-METHOD ADD-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| + PCL::|(FAST-METHOD DOCUMENTATION (T))| + PCL::|(FAST-METHOD DOCUMENTATION (DOCUMENTATION-MIXIN))| + PCL::|(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STD-CLASS T))| + PCL::|(FAST-METHOD ADD-DIRECT-METHOD (CLASS METHOD))| + PCL::|(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS :AROUND (STRUCTURE-CLASS T))| + PCL::|(FAST-METHOD REINITIALIZE-INSTANCE :BEFORE (SLOT-CLASS))| + PCL::INITIALIZE-INSTANCE-SIMPLE PCL::BOOTSTRAP-SET-SLOT + PCL::|(FAST-METHOD REMOVE-BOUNDP-METHOD (SLOT-CLASS T))| + PCL::|(FAST-METHOD COMPUTE-APPLICABLE-METHODS (GENERIC-FUNCTION T))| + PCL::|(FAST-METHOD PRINT-OBJECT (CLASS T))| + PCL::|(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STD-CLASS T))| + PCL::|(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD T))| + PCL::|(FAST-METHOD UPDATE-GF-DFUN (STD-CLASS T))| + PCL::FILL-CACHE-P + PCL::|(FAST-METHOD COMPATIBLE-META-CLASS-CHANGE-P (T T))| + PCL::|(FAST-METHOD PRINT-OBJECT (SLOT-DEFINITION T))| + PCL::|(FAST-METHOD SAME-SPECIALIZER-P (SPECIALIZER SPECIALIZER))| + PCL::|(FAST-METHOD REMOVE-WRITER-METHOD (SLOT-CLASS T))| + PCL::|(FAST-METHOD REINITIALIZE-INSTANCE (STANDARD-METHOD))| + PCL::OPTIMIZE-WRITER PCL::MAKE-EFFECTIVE-METHOD-FUNCTION-TYPE + PCL::MAKE-EFFECTIVE-METHOD-FUNCTION-INTERNAL + PCL::|(FAST-METHOD MAP-DEPENDENTS (DEPENDENT-UPDATE-MIXIN T))| + PCL::MAKE-EFFECTIVE-METHOD-FUNCTION1 + PCL::|(FAST-METHOD REMOVE-DIRECT-METHOD (CLASS METHOD))| + PCL::|(FAST-METHOD REMOVE-READER-METHOD (SLOT-CLASS T))| + PCL::|(FAST-METHOD ALLOCATE-INSTANCE (STANDARD-CLASS))| + PCL::|(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT FUNCALLABLE-STANDARD-CLASS))| + PCL::|(FAST-METHOD INITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| + PCL::|(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS (SLOT-CLASS T))| + PCL::|(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT STANDARD-CLASS))| + PCL::|(FAST-METHOD SLOT-ACCESSOR-STD-P (EFFECTIVE-SLOT-DEFINITION T))| + PCL::|(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STRUCTURE-CLASS T))| + PCL::ADJUST-CACHE + PCL::|(FAST-METHOD ADD-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| + PCL::LOAD-PRECOMPILED-DFUN-CONSTRUCTOR + PCL::|(FAST-METHOD MAKE-READER-METHOD-FUNCTION (SLOT-CLASS T))| + PCL::|(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| + PCL::|(FAST-METHOD LEGAL-METHOD-FUNCTION-P (STANDARD-METHOD T))| + PCL::|(FAST-METHOD LEGAL-SPECIALIZER-P (STANDARD-METHOD T))| + PCL::|(FAST-METHOD VALIDATE-SUPERCLASS (CLASS CLASS))| + PCL::MEMF-TEST-CONVERTER + PCL::|(FAST-METHOD REMOVE-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| + PCL::|(FAST-METHOD LEGAL-DOCUMENTATION-P (STANDARD-METHOD T))| + PCL::|(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STD-CLASS T))| + WALKER::WALK-TEMPLATE PCL::TWO-CLASS-DFUN-INFO + PCL::EXPAND-CACHE + PCL::|(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (SLOT-CLASS T))| + PCL::|(FAST-METHOD PRINT-OBJECT (STANDARD-ACCESSOR-METHOD T))| + PCL::|(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| + PCL::|(FAST-METHOD VALIDATE-SUPERCLASS (FUNCALLABLE-STANDARD-CLASS STANDARD-CLASS))| + PCL::GET-WRAPPERS-FROM-CLASSES + PCL::|(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD-COMBINATION T))| + PCL::|(FAST-METHOD REMOVE-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| + PCL::LOAD-PRECOMPILED-IIS-ENTRY + PCL::|(FAST-METHOD PRINT-OBJECT (T T))| + PCL::EXPAND-SYMBOL-MACROLET-INTERNAL + PCL::MAYBE-EXPAND-ACCESSOR-FORM + PCL::EMIT-CHECKING-OR-CACHING-FUNCTION-PRELIMINARY + PCL::|(FAST-METHOD REMOVE-DIRECT-SUBCLASS (CLASS CLASS))| + PCL::|(FAST-METHOD ADD-DIRECT-SUBCLASS (CLASS CLASS))| + PCL::|(FAST-METHOD ALLOCATE-INSTANCE (FUNCALLABLE-STANDARD-CLASS))| + PCL::|(FAST-METHOD LEGAL-SLOT-NAME-P (STANDARD-METHOD T))| + PCL::|(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| + PCL::EXPAND-DEFCLASS + PCL::|(FAST-METHOD LEGAL-QUALIFIER-P (STANDARD-METHOD T))| + WALKER::WALK-LET/LET* PCL::MAKE-DISPATCH-LAMBDA + PCL::|(FAST-METHOD MAKE-BOUNDP-METHOD-FUNCTION (SLOT-CLASS T))| + PCL::|(FAST-METHOD VALIDATE-SUPERCLASS (SLOT-CLASS FORWARD-REFERENCED-CLASS))| + PCL::|(FAST-METHOD SAME-SPECIALIZER-P (CLASS-EQ-SPECIALIZER CLASS-EQ-SPECIALIZER))| + PCL::|(FAST-METHOD REINITIALIZE-INSTANCE (SLOT-OBJECT))| + PCL::OPTIMIZE-READER + PCL::|(FAST-METHOD SAME-SPECIALIZER-P (CLASS CLASS))| + PCL::|(FAST-METHOD MAKE-READER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| + PCL::|(FAST-METHOD MAKE-INSTANCE (CLASS))|)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + PCL::OPTIMIZE-SET-SLOT-VALUE + PCL::|(FAST-METHOD CLASS-CONSTRUCTORS (SLOT-CLASS))| + PCL::|(FAST-METHOD CLASS-DEFAULT-INITARGS (SLOT-CLASS))| + PCL::MAKE-OPTIMIZED-STD-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION + PCL::|(FAST-METHOD COMPUTE-SLOTS :AROUND (STRUCTURE-CLASS))| + PCL::|(FAST-METHOD CLASS-FINALIZED-P (PCL-CLASS))| + PCL::PRINT-CACHE WALKER::WALK-UNEXPECTED-DECLARE + ITERATE::OPTIMIZE-ITERATE-FORM + PCL::|(FAST-METHOD COMPUTE-DEFAULT-INITARGS (SLOT-CLASS))| + WALKER::WALK-MULTIPLE-VALUE-SETQ PCL::FIRST-FORM-TO-LISP + PCL::|(FAST-METHOD CLASS-DIRECT-DEFAULT-INITARGS (SLOT-CLASS))| + WALKER::WALK-LABELS + PCL::|(FAST-METHOD SPECIALIZER-CLASS (CLASS))| + PCL::ONE-CLASS-DFUN-INFO PCL::GET-FUNCTION-GENERATOR + WALKER::RELIST-INTERNAL PCL::NOTE-PV-TABLE-REFERENCE + WALKER::WALK-LAMBDA PCL::WRAP-METHOD-GROUP-SPECIFIER-BINDINGS + PCL::ONE-INDEX-DFUN-INFO PCL::MAP-ALL-ORDERS + PCL::OPTIMIZE-GF-CALL-INTERNAL PCL::COMPUTE-PRECEDENCE + WALKER::WALK-DO PCL::PRINT-STD-INSTANCE + PCL::OBSOLETE-INSTANCE-TRAP PCL::SORT-APPLICABLE-METHODS + PCL::|(FAST-METHOD WRAPPER-FETCHER (FUNCALLABLE-STANDARD-CLASS))| + PCL::EMIT-GREATER-THAN-1-DLAP + PCL::|(FAST-METHOD SLOTS-FETCHER (FUNCALLABLE-STANDARD-CLASS))| + WALKER::WALK-FLET + PCL::|(FAST-METHOD GF-FAST-METHOD-FUNCTION-P (STANDARD-GENERIC-FUNCTION))| + PCL::|SETF PCL PLIST-VALUE| WALKER::WALK-PROG* + WALKER::VARIABLE-DECLARATION + PCL::|(FAST-METHOD SPECIALIZER-METHOD-TABLE (EQL-SPECIALIZER))| + PCL::SKIP-FAST-SLOT-ACCESS-P PCL::SET-FUNCTION-NAME-1 + WALKER::WALK-MACROLET PCL::CAN-OPTIMIZE-ACCESS + WALKER::WITH-AUGMENTED-ENVIRONMENT-INTERNAL + PCL::|(FAST-METHOD FINALIZE-INHERITANCE (STD-CLASS))| + PCL::|(FAST-METHOD SPECIALIZER-CLASS (EQL-SPECIALIZER))| + PCL::|(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-WRITER-METHOD))| + PCL::SKIP-OPTIMIZE-SLOT-VALUE-BY-CLASS-P + PCL::|(FAST-METHOD CLASS-SLOT-CELLS (STD-CLASS))| + PCL::|(FAST-METHOD SLOT-DEFINITION-ALLOCATION (STRUCTURE-SLOT-DEFINITION))| + PCL::EMIT-BOUNDP-CHECK PCL::|SETF PCL METHOD-FUNCTION-GET| + PCL::|(FAST-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS (SPECIALIZER-WITH-OBJECT))| + PCL::MAKE-METHOD-SPEC PCL::FLUSH-CACHE-TRAP WALKER::WALK-IF + PCL::OPTIMIZE-SLOT-BOUNDP + PCL::STANDARD-COMPUTE-EFFECTIVE-METHOD + WALKER::WALK-MULTIPLE-VALUE-BIND + ITERATE::RENAME-AND-CAPTURE-VARIABLES WALKER::WALK-LET* + WALKER::WALK-DO* + PCL::|(FAST-METHOD RAW-INSTANCE-ALLOCATOR (STANDARD-CLASS))| + PCL::INVALIDATE-WRAPPER + PCL::|(FAST-METHOD GENERIC-FUNCTION-LAMBDA-LIST (GENERIC-FUNCTION))| + PCL::|(FAST-METHOD METHOD-QUALIFIERS (STANDARD-METHOD))| + PCL::MAKE-OPTIMIZED-STD-SLOT-BOUNDP-USING-CLASS-METHOD-FUNCTION + ITERATE::SIMPLE-EXPAND-GATHERING-FORM PCL::ENTRY-IN-CACHE-P + WALKER::WALK-LOCALLY PCL::OPTIMIZE-SLOT-VALUE + PCL::MAKE-METHOD-INITARGS-FORM-INTERNAL + PCL::|(FAST-METHOD CLASS-DIRECT-SLOTS (BUILT-IN-CLASS))| + PCL::|(FAST-METHOD INITIALIZE-INTERNAL-SLOT-FUNCTIONS (EFFECTIVE-SLOT-DEFINITION))| + PCL::|(FAST-METHOD SLOTS-FETCHER (STANDARD-CLASS))| + PCL::|(FAST-METHOD CLASS-SLOTS (BUILT-IN-CLASS))| + PCL::TRACE-EMF-CALL-INTERNAL WALKER::WALK-SYMBOL-MACROLET + PCL::|(FAST-METHOD COMPUTE-SLOTS (STD-CLASS))| + PCL::CONVERT-TABLE + PCL::|(FAST-METHOD SPECIALIZER-DIRECT-METHODS (CLASS))| + PCL::INITIALIZE-INTERNAL-SLOT-GFS* + PCL::|(FAST-METHOD RAW-INSTANCE-ALLOCATOR (FUNCALLABLE-STANDARD-CLASS))| + PCL::|(FAST-METHOD CLASS-PREDICATE-NAME (T))| + PCL::|(FAST-METHOD COMPUTE-SLOTS (STRUCTURE-CLASS))| + PCL::MAKE-OPTIMIZED-STD-SETF-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION + PCL::|(FAST-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS (CLASS))| + PCL::|(FAST-METHOD WRAPPER-FETCHER (STANDARD-CLASS))| + PCL::|(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-ACCESSOR-METHOD))| + WALKER::WALK-SETQ PCL::EXPAND-DEFGENERIC + PCL::|(FAST-METHOD SPECIALIZER-METHOD-TABLE (CLASS-EQ-SPECIALIZER))| + ITERATE::OPTIMIZE-GATHERING-FORM PCL::FIX-SLOT-ACCESSORS + PCL::EMIT-SLOT-READ-FORM WALKER::WALK-PROG + PCL::|(FAST-METHOD COMPUTE-SLOTS :AROUND (STD-CLASS))| + WALKER::WALK-NAMED-LAMBDA PCL::GET-NEW-FUNCTION-GENERATOR + PCL::|(FAST-METHOD CLASS-DIRECT-DEFAULT-INITARGS (BUILT-IN-CLASS))| + WALKER::WALK-TAGBODY + PCL::|(FAST-METHOD GENERIC-FUNCTION-PRETTY-ARGLIST (STANDARD-GENERIC-FUNCTION))| + WALKER::WALK-COMPILER-LET PCL::DECLARE-STRUCTURE + WALKER::WALK-LET ITERATE::VARIABLE-SAME-P + PCL::|(FAST-METHOD SPECIALIZER-DIRECT-METHODS (SPECIALIZER-WITH-OBJECT))| + PCL::EMIT-1-T-DLAP PCL::MAKE-DFUN-CALL + PCL::COMPUTE-EFFECTIVE-METHOD PCL::SORT-METHODS + WALKER::WALK-TAGBODY-1 + PCL::|(FAST-METHOD COMPUTE-CLASS-PRECEDENCE-LIST (SLOT-CLASS))| + PCL::|(FAST-METHOD CLASS-DEFAULT-INITARGS (BUILT-IN-CLASS))| + PCL::|(FAST-METHOD FINALIZE-INHERITANCE (STRUCTURE-CLASS))| + PCL::MAKE-TOP-LEVEL-FORM + PCL::|(FAST-METHOD MAKE-INSTANCES-OBSOLETE (STD-CLASS))| + WALKER::RECONS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + PCL::UPDATE-SLOTS-IN-PV PCL::MAKE-INSTANCE-FUNCTION-COMPLEX + PCL::|(FAST-METHOD SLOT-BOUNDP-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| + PCL::GET-MAKE-INSTANCE-FUNCTION-INTERNAL + PCL::|(FAST-METHOD WRITER-METHOD-CLASS (SLOT-CLASS T))| + PCL::MAKE-INSTANCE-FUNCTION-SIMPLE + PCL::|(FAST-METHOD COMPUTE-SLOT-ACCESSOR-INFO (EFFECTIVE-SLOT-DEFINITION T T))| + PCL::COMPUTE-PV-SLOT PCL::MAKE-METHOD-INITARGS-FORM-INTERNAL1 + PCL::|(FAST-METHOD SLOT-UNBOUND (T T T))| + PCL::|(FAST-METHOD COMPUTE-EFFECTIVE-METHOD (GENERIC-FUNCTION SHORT-METHOD-COMBINATION T))| + PCL::|(FAST-METHOD (SETF DOCUMENTATION) (T DOCUMENTATION-MIXIN))| + PCL::OPTIMIZE-INSTANCE-ACCESS + PCL::|(FAST-METHOD REMOVE-NAMED-METHOD (T T))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :BEFORE (BUILT-IN-CLASS T))| + PCL::REAL-MAKE-METHOD-INITARGS-FORM + PCL::|(FAST-METHOD (SETF SLOT-ACCESSOR-STD-P) (T EFFECTIVE-SLOT-DEFINITION T))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (STRUCTURE-SLOT-DEFINITION T))| + PCL::|(FAST-METHOD (SETF DOCUMENTATION) (T T))| + PCL::|(FAST-METHOD ENSURE-CLASS-USING-CLASS (T PCL-CLASS))| + PCL::MAKE-FINAL-ORDINARY-DFUN-INTERNAL + PCL::BOOTSTRAP-MAKE-SLOT-DEFINITIONS + PCL::|(FAST-METHOD ENSURE-CLASS-USING-CLASS (T NULL))| + PCL::MAKE-PARAMETER-REFERENCES + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (STRUCTURE-CLASS T))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-METHOD T))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-ACCESSOR-METHOD T))| + PCL::|(FAST-METHOD SLOT-BOUNDP-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| + PCL::OPTIMIZE-ACCESSOR-CALL + WALKER::WALK-TEMPLATE-HANDLE-REPEAT WALKER::WALK-BINDINGS-1 + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (DOCUMENTATION-MIXIN T))| + PCL::BOOTSTRAP-ACCESSOR-DEFINITIONS1 + PCL::|(FAST-METHOD SLOT-MAKUNBOUND-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| + PCL::MAKE-FGEN + PCL::|(FAST-METHOD FIND-METHOD-COMBINATION (GENERIC-FUNCTION (EQL STANDARD) T))| + PCL::|(FAST-METHOD READER-METHOD-CLASS (SLOT-CLASS T))| + PCL::OPTIMIZE-GENERIC-FUNCTION-CALL + PCL::LOAD-FUNCTION-GENERATOR PCL::MAKE-EMF-CACHE + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (STD-CLASS T))| + PCL::|(FAST-METHOD SLOT-MAKUNBOUND-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| + PCL::EXPAND-EMF-CALL-METHOD)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::T) + PCL::EXPAND-DEFMETHOD PCL::LOAD-DEFMETHOD-INTERNAL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::T) + PCL::FILL-CACHE PCL::CAN-OPTIMIZE-ACCESS1 PCL::MAKE-EMF-CALL + PCL::EMIT-FETCH-WRAPPER PCL::CHECK-INITARGS-2-LIST + PCL::GET-METHOD PCL::CHECK-INITARGS-2-PLIST + PCL::CHECK-INITARGS-1 PCL::REAL-GET-METHOD + WALKER::WALK-ARGLIST)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + PCL::GET-SECONDARY-DISPATCH-FUNCTION2)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::T) + PCL::LOAD-DEFMETHOD PCL::MAKE-DEFMETHOD-FORM + PCL::EARLY-MAKE-A-METHOD PCL::MAKE-DEFMETHOD-FORM-INTERNAL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + PCL::|(FAST-METHOD (SETF SLOT-VALUE-USING-CLASS) (T STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| + PCL::SET-ARG-INFO1 PCL::BOOTSTRAP-MAKE-SLOT-DEFINITION + PCL::LOAD-DEFCLASS PCL::REAL-LOAD-DEFCLASS + PCL::OPTIMIZE-GF-CALL WALKER::WALK-TEMPLATE-HANDLE-REPEAT-1 + PCL::EMIT-SLOT-ACCESS PCL::MAKE-EARLY-CLASS-DEFINITION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + PCL::EMIT-DLAP PCL::GET-SECONDARY-DISPATCH-FUNCTION1)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + PCL::EARLY-ADD-NAMED-METHOD PCL::FILL-DFUN-CACHE + PCL::REAL-ADD-NAMED-METHOD)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::T) + PCL::BOOTSTRAP-INITIALIZE-CLASS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::FIXNUM) + COMMON-LISP::T) + PCL::COMPUTE-STD-CPL-PHASE-3)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::FIXNUM) + COMMON-LISP::T) + PCL::FILL-CACHE-FROM-CACHE-P PCL::GET-CACHE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::LIST) + PCL::PV-TABLE-CALL-LIST PCL::CACHE-OVERFLOW + PCL::PV-TABLE-SLOT-NAME-LISTS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::FIXNUM COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + PCL::COMPUTE-CACHE-PARAMETERS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::FIXNUM COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + PCL::FIND-FREE-CACHE-LINE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::BOOLEAN) + PCL::CACHE-VALUEP)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::*) + PCL::DEFAULT-CODE-CONVERTER PCL::EMIT-IN-CHECKING-CACHE-P + PCL::METHOD-PROTOTYPE-FOR-GF PCL::EMIT-TWO-CLASS-WRITER + PCL::PARSE-METHOD-GROUP-SPECIFIER PCL::EMIT-ONE-CLASS-WRITER + PCL::EMIT-ONE-INDEX-WRITERS PCL::FIND-STRUCTURE-CLASS + PCL::PROTOTYPES-FOR-MAKE-METHOD-LAMBDA PCL::MAKE-DISPATCH-DFUN + PCL::COMPUTE-APPLICABLE-METHODS-EMF PCL::EARLY-METHOD-FUNCTION + PCL::NET-CODE-CONVERTER PCL::GET-DISPATCH-FUNCTION + PCL::STRUCTURE-WRAPPER PCL::FIND-WRAPPER PCL::CLASS-EQ-TYPE + PCL::TYPE-FROM-SPECIALIZER PCL::SPECIALIZER-FROM-TYPE + PCL::PCL-DESCRIBE PCL::PARSE-DEFMETHOD + PCL::ANALYZE-LAMBDA-LIST PCL::EMIT-ONE-CLASS-READER + PCL::EARLY-COLLECT-INHERITANCE PCL::GET-GENERIC-FUNCTION-INFO + PCL::COMPILE-IIS-FUNCTIONS PCL::EMIT-CONSTANT-VALUE + PCL::EMIT-ONE-INDEX-READERS PCL::GENERIC-FUNCTION-NAME-P + PCL::CONVERT-TO-SYSTEM-TYPE PCL::MAKE-FINAL-DISPATCH-DFUN + PCL::EMIT-TWO-CLASS-READER PCL::*NORMALIZE-TYPE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::T) + PCL::|__si::MAKE-CLASS-PRECEDENCE-DESCRIPTION| + PCL::MAKE-FAST-INSTANCE-BOUNDP PCL::MAKE-INITIALIZE-INFO + PCL::|STRUCTURE-OBJECT class constructor| + PCL::|__si::MAKE-CACHE| PCL::|__si::MAKE-DEFAULT-METHOD-ONLY| + PCL::TRUE PCL::|__si::MAKE-PV-TABLE| + PCL::|__si::MAKE-ONE-INDEX| WALKER::UNBOUND-LEXICAL-FUNCTION + PCL::|__si::MAKE-CHECKING| PCL::MAKE-PV-TABLE + PCL::|__si::MAKE-NO-METHODS| PCL::MAKE-METHOD-CALL + PCL::CALLED-FIN-WITHOUT-FUNCTION PCL::USE-PACKAGE-PCL + PCL::INTERN-PV-TABLE PCL::|__si::MAKE-ACCESSOR-DFUN-INFO| + PCL::|__si::MAKE-DISPATCH| + PCL::|__si::MAKE-ONE-INDEX-DFUN-INFO| + PCL::|__si::MAKE-ARG-INFO| PCL::FIX-EARLY-GENERIC-FUNCTIONS + PCL::ZERO PCL::MAKE-PROGN PCL::|__si::MAKE-INITIAL| + PCL::|__si::MAKE-ONE-CLASS| PCL::|__si::MAKE-DFUN-INFO| + PCL::|__si::MAKE-CONSTANT-VALUE| + PCL::|__si::MAKE-STD-INSTANCE| PCL::PV-WRAPPERS-FROM-PV-ARGS + PCL::|__si::MAKE-TWO-CLASS| PCL::|__si::MAKE-N-N| + PCL::|__si::MAKE-CACHING| PCL::FALSE PCL::STRING-APPEND + PCL::|__si::MAKE-INITIAL-DISPATCH| PCL::MAKE-FAST-METHOD-CALL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::FIXNUM) + PCL::ARG-INFO-NUMBER-REQUIRED PCL::PV-TABLE-PV-SIZE + PCL::CACHE-COUNT PCL::PV-CACHE-LIMIT-FN PCL::CHECKING-LIMIT-FN + PCL::CACHING-LIMIT-FN PCL::N-N-ACCESSORS-LIMIT-FN + PCL::DEFAULT-LIMIT-FN PCL::EARLY-CLASS-SIZE PCL::CPD-COUNT + PCL::ONE-INDEX-LIMIT-FN PCL::FAST-INSTANCE-BOUNDP-INDEX)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::FIXNUM) COMMON-LISP::T) + PCL::POWER-OF-TWO-CEILING)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + PCL::MAKE-TYPE-PREDICATE-NAME PCL::MAKE-FINAL-DFUN + PCL::CAPITALIZE-WORDS PCL::SET-DFUN ITERATE::MAYBE-WARN + PCL::MAKE-EARLY-GF PCL::USE-DISPATCH-DFUN-P WALKER::RELIST + PCL::MAKE-SPECIALIZABLE PCL::PV-TABLE-LOOKUP-PV-ARGS + PCL::ALLOCATE-STANDARD-INSTANCE + PCL::ALLOCATE-FUNCALLABLE-INSTANCE + PCL::USE-CONSTANT-VALUE-DFUN-P ITERATE::FUNCTION-LAMBDA-P + PCL::UPDATE-DFUN PCL::SET-ARG-INFO + PCL::EARLY-METHOD-SPECIALIZERS PCL::MAKE-WRAPPER + PCL::FIND-CLASS-CELL WALKER::WALKER-ENVIRONMENT-BIND-1 + PCL::TRACE-METHOD WALKER::RELIST* COMMON-LISP::FIND-CLASS + PCL::INITIALIZE-INTERNAL-SLOT-GFS PCL::FIND-CLASS-PREDICATE + PCL::INITIALIZE-METHOD-FUNCTION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + PCL::SAUT-NOT PCL::INVOKE-EMF PCL::SAUT-PROTOTYPE + PCL::COMPUTE-CODE ITERATE::PARSE-DECLARATIONS + PCL::SDFUN-FOR-CACHING + PCL::COMPUTE-APPLICABLE-METHODS-USING-TYPES + PCL::GET-NEW-FUNCTION-GENERATOR-INTERNAL + PCL::SLOT-NAME-LISTS-FROM-SLOTS PCL::DESTRUCTURE + PCL::SPLIT-DECLARATIONS PCL::MAKE-DIRECT-SLOTD + PCL::FORM-LIST-TO-LISP PCL::EMIT-CHECKING + PCL::CPL-FORWARD-REFERENCED-CLASS-ERROR PCL::COMPUTE-TEST + PCL::SET-FUNCTION-NAME COMMON-LISP::SLOT-BOUNDP PCL::SAUT-AND + PCL::EMIT-CACHING PCL::INITIAL-DFUN + COMMON-LISP::SLOT-MAKUNBOUND COMMON-LISP::SLOT-VALUE + PCL::UPDATE-SLOT-VALUE-GF-INFO + PCL::CLASS-APPLICABLE-USING-CLASS-P + PCL::CPL-INCONSISTENT-ERROR PCL::*SUBTYPEP + PCL::SLOT-UNBOUND-INTERNAL + PCL::GENERATE-FAST-CLASS-SLOT-ACCESS-P + PCL::CHECK-INITARGS-VALUES PCL::ENSURE-CLASS-VALUES + PCL::SAUT-EQL PCL::REAL-REMOVE-METHOD PCL::EMIT-DEFAULT-ONLY + PCL::INSURE-DFUN PCL::EMIT-DEFAULT-ONLY-FUNCTION + PCL::MUTATE-SLOTS-AND-CALLS PCL::FIND-SUPERCLASS-CHAIN + PCL::SAUT-CLASS PCL::MAKE-INSTANCE-FUNCTION-TRAP + PCL::SAUT-CLASS-EQ PCL::COMPUTE-STD-CPL-PHASE-1 + PCL::SPECIALIZER-APPLICABLE-USING-TYPE-P)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) + (COMMON-LISP::OR PCL::CACHE COMMON-LISP::NULL)) + PCL::PV-TABLE-CACHE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::*) + WALKER::WALK-DECLARATIONS PCL::GET-SECONDARY-DISPATCH-FUNCTION + PCL::MAKE-ONE-INDEX-ACCESSOR-DFUN)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::*) + PCL::MAKE-SHARED-INITIALIZE-FORM-LIST PCL::ACCESSOR-MISS + PCL::|(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION (SLOT-CLASS T))| + PCL::|(FAST-METHOD DESCRIBE-OBJECT (STANDARD-GENERIC-FUNCTION T))| + PCL::|(FAST-METHOD CLASS-SLOT-VALUE (STD-CLASS T))| + PCL::|(FAST-METHOD NO-APPLICABLE-METHOD (T))| + PCL::SET-CLASS-SLOT-VALUE-1 + PCL::|(FAST-METHOD DESCRIBE-OBJECT (CLASS T))| + PCL::|(FAST-METHOD INITIALIZE-INSTANCE (SLOT-OBJECT))| + PCL::GET-ACCESSOR-FROM-SVUC-METHOD-FUNCTION + PCL::SETF-SLOT-VALUE-USING-CLASS-DFUN + PCL::|(FAST-METHOD LEGAL-SPECIALIZERS-P (STANDARD-METHOD T))| + PCL::EMIT-CHECKING-OR-CACHING-FUNCTION + PCL::MAKE-FINAL-ONE-INDEX-ACCESSOR-DFUN + PCL::LOAD-SHORT-DEFCOMBIN PCL::EMIT-CHECKING-OR-CACHING + PCL::|(FAST-METHOD MAKE-INSTANCE (SYMBOL))| + PCL::MAKE-FINAL-CHECKING-DFUN + PCL::|(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (SLOT-CLASS))| + PCL::|(FAST-METHOD DESCRIBE-OBJECT (SLOT-OBJECT T))| + PCL::ACCESSOR-VALUES + PCL::|(FAST-METHOD SLOT-ACCESSOR-FUNCTION (EFFECTIVE-SLOT-DEFINITION T))| + PCL::|(FAST-METHOD LEGAL-QUALIFIERS-P (STANDARD-METHOD T))| + PCL::REAL-MAKE-METHOD-LAMBDA + PCL::|(FAST-METHOD CHANGE-CLASS (T SYMBOL))| + PCL::GET-ACCESSOR-METHOD-FUNCTION + PCL::|(FAST-METHOD COMPUTE-APPLICABLE-METHODS-USING-CLASSES (GENERIC-FUNCTION T))| + PCL::|(FAST-METHOD DOCUMENTATION (STANDARD-SLOT-DEFINITION))| + PCL::ORDER-SPECIALIZERS + PCL::|(FAST-METHOD ALLOCATE-INSTANCE (STRUCTURE-CLASS))| + PCL::GENERATE-DISCRIMINATION-NET + PCL::|(FAST-METHOD SLOTS-TO-INSPECT (SLOT-CLASS SLOT-OBJECT))| + PCL::|(FAST-METHOD DEFAULT-INITARGS (SLOT-CLASS T))| + PCL::MAKE-ONE-CLASS-ACCESSOR-DFUN + PCL::|(FAST-METHOD DESCRIBE-OBJECT (T T))| + PCL::BOOTSTRAP-ACCESSOR-DEFINITION + PCL::INITIALIZE-INSTANCE-SIMPLE-FUNCTION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + PCL::GET-OPTIMIZED-STD-ACCESSOR-METHOD-FUNCTION + PCL::MAKE-OPTIMIZED-STD-WRITER-METHOD-FUNCTION + PCL::|(FAST-METHOD COMPUTE-DISCRIMINATING-FUNCTION (STANDARD-GENERIC-FUNCTION))| + PCL::|(FAST-METHOD COMPUTE-DISCRIMINATING-FUNCTION-ARGLIST-INFO (STANDARD-GENERIC-FUNCTION))| + PCL::|(FAST-METHOD METHOD-QUALIFIERS (TRACED-METHOD))| + PCL::MAKE-OPTIMIZED-STD-BOUNDP-METHOD-FUNCTION + PCL::CONVERT-METHODS WALKER::WALK-LET-IF + PCL::EMIT-READER/WRITER-FUNCTION PCL::ACCESSOR-VALUES-INTERNAL + PCL::|(FAST-METHOD FUNCTION-KEYWORDS (STANDARD-METHOD))| + PCL::LOAD-LONG-DEFCOMBIN PCL::CHECK-METHOD-ARG-INFO + PCL::ACCESSOR-VALUES1 + PCL::|(FAST-METHOD METHOD-SPECIALIZERS (TRACED-METHOD))| + PCL::GENERATING-LISP PCL::MAKE-FINAL-N-N-ACCESSOR-DFUN + WALKER::WALK-FORM-INTERNAL PCL::CONSTANT-VALUE-MISS + PCL::SLOT-VALUE-USING-CLASS-DFUN PCL::CACHING-MISS + PCL::|(FAST-METHOD CLASS-PROTOTYPE (STD-CLASS))| + PCL::SLOT-BOUNDP-USING-CLASS-DFUN PCL::CHECKING-MISS + PCL::|(FAST-METHOD CLASS-PROTOTYPE (STRUCTURE-CLASS))| + PCL::EMIT-READER/WRITER ITERATE::EXPAND-INTO-LET + PCL::GET-CLASS-SLOT-VALUE-1 + PCL::EMIT-ONE-OR-N-INDEX-READER/WRITER-FUNCTION + PCL::MAKE-FINAL-CACHING-DFUN + PCL::|(FAST-METHOD ACCESSOR-METHOD-SLOT-NAME (TRACED-METHOD))| + PCL::|(FAST-METHOD METHOD-FUNCTION (STANDARD-METHOD))| + PCL::GET-OPTIMIZED-STD-SLOT-VALUE-USING-CLASS-METHOD-FUNCTION + PCL::|(FAST-METHOD METHOD-LAMBDA-LIST (TRACED-METHOD))| + PCL::OPTIMIZE-SLOT-VALUE-BY-CLASS-P PCL::SET-SLOT-VALUE + PCL::EMIT-ONE-OR-N-INDEX-READER/WRITER + ITERATE::RENAME-VARIABLES + PCL::|(FAST-METHOD METHOD-PRETTY-ARGLIST (STANDARD-METHOD))| + PCL::|(FAST-METHOD MAKE-INSTANCES-OBSOLETE (SYMBOL))| + ITERATE::WALK-GATHERING-BODY PCL::CACHE-MISS-VALUES + PCL::MAKE-OPTIMIZED-STD-READER-METHOD-FUNCTION + PCL::MAKE-FINAL-CONSTANT-VALUE-DFUN)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + PCL::DO-SHORT-METHOD-COMBINATION PCL::MEMF-CODE-CONVERTER + PCL::GENERATE-DISCRIMINATION-NET-INTERNAL + PCL::|(FAST-METHOD (SETF SLOT-VALUE-USING-CLASS) (T STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| + PCL::MAKE-LONG-METHOD-COMBINATION-FUNCTION + PCL::CACHE-MISS-VALUES-INTERNAL)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (CLASS-EQ-SPECIALIZER T))| + PCL::|(FAST-METHOD UPDATE-INSTANCE-FOR-DIFFERENT-CLASS (STANDARD-OBJECT STANDARD-OBJECT))| + PCL::ADD-METHOD-DECLARATIONS + PCL::|(FAST-METHOD SHARED-INITIALIZE :BEFORE (CLASS T))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-ACCESSOR-METHOD T))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-SLOT-DEFINITION T))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-METHOD T))| + PCL::|(FAST-METHOD ADD-BOUNDP-METHOD (SLOT-CLASS T T))| + PCL::COMPUTE-DISCRIMINATING-FUNCTION-ARGLIST-INFO-INTERNAL + PCL::|(FAST-METHOD (SETF DOCUMENTATION) (T STANDARD-SLOT-DEFINITION))| + PCL::|(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-GENERIC-FUNCTION T))| + PCL::|(FAST-METHOD ADD-WRITER-METHOD (SLOT-CLASS T T))| + PCL::MAKE-TWO-CLASS-ACCESSOR-DFUN + PCL::|(FAST-METHOD SHARED-INITIALIZE :AFTER (EQL-SPECIALIZER T))| + PCL::|(FAST-METHOD COMPUTE-EFFECTIVE-METHOD (GENERIC-FUNCTION LONG-METHOD-COMBINATION T))| + PCL::|(FAST-METHOD SLOT-VALUE-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| + PCL::|(FAST-METHOD SHARED-INITIALIZE (SLOT-OBJECT T))| + PCL::|(FAST-METHOD (SETF SLOT-ACCESSOR-FUNCTION) (T EFFECTIVE-SLOT-DEFINITION T))| + PCL::|(FAST-METHOD ADD-READER-METHOD (SLOT-CLASS T T))| + PCL::|(FAST-METHOD SLOT-VALUE-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| + PCL::WALK-METHOD-LAMBDA + PCL::|(FAST-METHOD (SETF CLASS-SLOT-VALUE) (T STD-CLASS T))|)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::*) + PCL::REAL-MAKE-A-METHOD)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + PCL::MAKE-DEFAULT-INITARGS-FORM-LIST + PCL::GET-COMPLEX-INITIALIZATION-FUNCTIONS + PCL::SLOT-VALUE-OR-DEFAULT + PCL::GET-SIMPLE-INITIALIZATION-FUNCTION PCL::REAL-ADD-METHOD + PCL::LOAD-DEFGENERIC PCL::CPL-ERROR + PCL::MAKE-FINAL-ACCESSOR-DFUN PCL::MAKE-N-N-ACCESSOR-DFUN + PCL::TYPES-FROM-ARGUMENTS PCL::MAKE-ACCESSOR-TABLE + PCL::MAKE-CHECKING-DFUN WALKER::NESTED-WALK-FORM + PCL::GET-EFFECTIVE-METHOD-FUNCTION + PCL::COMPUTE-SECONDARY-DISPATCH-FUNCTION + PCL::MAKE-EFFECTIVE-METHOD-FUNCTION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::*) + ITERATE::ITERATE-TRANSFORM-BODY + PCL::|(FAST-METHOD SLOT-MISSING (T T T T))| + PCL::|(FAST-METHOD UPDATE-INSTANCE-FOR-REDEFINED-CLASS (STANDARD-OBJECT T T T))|)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + PCL::MAKE-EFFECTIVE-METHOD-FUNCTION-SIMPLE1 + ITERATE::RENAME-LET-BINDINGS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::FIXNUM COMMON-LISP::FIXNUM COMMON-LISP::T) + COMMON-LISP::FIXNUM) + PCL::COMPUTE-PRIMARY-CACHE-LOCATION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::FIXNUM COMMON-LISP::*) + COMMON-LISP::T) + PCL::COMPUTE-PRIMARY-CACHE-LOCATION-FROM-LOCATION + PCL::GET-CACHE-FROM-CACHE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::FIXNUM COMMON-LISP::T) + COMMON-LISP::T) + PCL::%CCLOSURE-ENV-NTHCDR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::STREAM COMMON-LISP::T) + COMMON-LISP::T) + PCL::PRINT-DFUN-INFO)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::*) + PCL::COUNT-ALL-DFUNS PCL::EMIT-N-N-WRITERS + PCL::EMIT-N-N-READERS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::FIXNUM) + PCL::GET-WRAPPER-CACHE-NUMBER)) (IN-PACKAGE "PCL") -(DOLIST (V '(DISASSEMBLE |(FAST-WRITER-METHOD SLOT-OBJECT OPTIONS)| - |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION METHODS)| - |(FAST-WRITER-METHOD SLOT-OBJECT METHODS)| - |(FAST-WRITER-METHOD SLOT-CLASS DIRECT-SLOTS)| - |(FAST-WRITER-METHOD SLOT-OBJECT DIRECT-SLOTS)| - |(FAST-WRITER-METHOD SLOT-CLASS SLOTS)| - |(FAST-WRITER-METHOD SLOT-OBJECT SLOTS)| +(DOLIST (V '(|(FAST-WRITER-METHOD SLOT-OBJECT FROM-DEFCLASS-P)| |(FAST-WRITER-METHOD SLOT-OBJECT DIRECT-METHODS)| - |(FAST-WRITER-METHOD SLOT-OBJECT FROM-DEFCLASS-P)| - |(FAST-WRITER-METHOD SLOT-OBJECT DIRECT-SUPERCLASSES)| + |(FAST-WRITER-METHOD SLOT-OBJECT SLOTS)| + |(FAST-WRITER-METHOD SLOT-CLASS SLOTS)| + |(FAST-WRITER-METHOD SLOT-OBJECT DIRECT-SLOTS)| + |(FAST-WRITER-METHOD SLOT-CLASS DIRECT-SLOTS)| + |(FAST-WRITER-METHOD SLOT-OBJECT METHODS)| + |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION METHODS)| + |(FAST-WRITER-METHOD SLOT-OBJECT OPTIONS)| |(FAST-WRITER-METHOD SLOT-OBJECT DIRECT-SUBCLASSES)| + |(FAST-WRITER-METHOD SLOT-OBJECT DIRECT-SUPERCLASSES)| ADD-READER-METHOD SHORT-COMBINATION-IDENTITY-WITH-ONE-ARGUMENT - REMOVE-READER-METHOD |LISP::T class predicate| - EQL-SPECIALIZER-P |(SETF GENERIC-FUNCTION-NAME)| - OBJECT-PLIST SLOT-DEFINITION-DEFSTRUCT-ACCESSOR-SYMBOL - |PCL::STANDARD-METHOD-COMBINATION class predicate| - |PCL::STANDARD-EFFECTIVE-SLOT-DEFINITION class predicate| - |PCL::STANDARD-DIRECT-SLOT-DEFINITION class predicate| + REMOVE-READER-METHOD EQL-SPECIALIZER-P + |(SETF GENERIC-FUNCTION-NAME)| OBJECT-PLIST + SLOT-DEFINITION-DEFSTRUCT-ACCESSOR-SYMBOL |PCL::STANDARD-SLOT-DEFINITION class predicate| - |PCL::STANDARD-OBJECT class predicate| + |PCL::STANDARD-DIRECT-SLOT-DEFINITION class predicate| + |PCL::STANDARD-EFFECTIVE-SLOT-DEFINITION class predicate| + |PCL::STANDARD-METHOD-COMBINATION class predicate| |(FAST-READER-METHOD SLOT-OBJECT METHOD)| - |PCL::BUILT-IN-CLASS class predicate| SPECIALIZER-TYPE - |LISP::RATIONAL class predicate| - |LISP::RATIO class predicate| GF-DFUN-STATE + SPECIALIZER-TYPE GF-DFUN-STATE |(SETF GENERIC-FUNCTION-METHOD-CLASS)| - |(FAST-READER-METHOD STRUCTURE-SLOT-DEFINITION DEFSTRUCT-ACCESSOR-SYMBOL)| |(FAST-READER-METHOD SLOT-OBJECT DEFSTRUCT-ACCESSOR-SYMBOL)| + |(FAST-READER-METHOD STRUCTURE-SLOT-DEFINITION DEFSTRUCT-ACCESSOR-SYMBOL)| |(SETF GENERIC-FUNCTION-METHOD-COMBINATION)| CLASS-DEFSTRUCT-CONSTRUCTOR - |(FAST-READER-METHOD DEFINITION-SOURCE-MIXIN SOURCE)| |(FAST-READER-METHOD SLOT-OBJECT SOURCE)| + |(FAST-READER-METHOD DEFINITION-SOURCE-MIXIN SOURCE)| METHOD-FAST-FUNCTION |(SETF GENERIC-FUNCTION-METHODS)| |(SETF GF-PRETTY-ARGLIST)| - |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION ARG-INFO)| - |(FAST-READER-METHOD SLOT-OBJECT ARG-INFO)| - |(FAST-READER-METHOD SLOT-CLASS INITIALIZE-INFO)| |(FAST-READER-METHOD SLOT-OBJECT INITIALIZE-INFO)| + |(FAST-READER-METHOD SLOT-CLASS INITIALIZE-INFO)| + |(FAST-READER-METHOD SLOT-OBJECT ARG-INFO)| + |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION ARG-INFO)| SPECIALIZERP EXACT-CLASS-SPECIALIZER-P - |(FAST-READER-METHOD PCL-CLASS WRAPPER)| |(FAST-READER-METHOD SLOT-OBJECT WRAPPER)| - |(FAST-READER-METHOD SLOT-DEFINITION INITARGS)| + |(FAST-READER-METHOD PCL-CLASS WRAPPER)| |(FAST-READER-METHOD SLOT-OBJECT INITARGS)| - |(FAST-READER-METHOD STRUCTURE-CLASS DEFSTRUCT-CONSTRUCTOR)| - |(FAST-READER-METHOD SLOT-OBJECT DEFSTRUCT-CONSTRUCTOR)| - |(FAST-READER-METHOD SLOT-OBJECT OPERATOR)| + |(FAST-READER-METHOD SLOT-DEFINITION INITARGS)| |(FAST-READER-METHOD SHORT-METHOD-COMBINATION OPERATOR)| - |LISP::CHARACTER class predicate| + |(FAST-READER-METHOD SLOT-OBJECT OPERATOR)| + |(FAST-READER-METHOD SLOT-OBJECT DEFSTRUCT-CONSTRUCTOR)| + |(FAST-READER-METHOD STRUCTURE-CLASS DEFSTRUCT-CONSTRUCTOR)| COMPATIBLE-META-CLASS-CHANGE-P - |LISP::SEQUENCE class predicate| - |(FAST-READER-METHOD CLASS CLASS-EQ-SPECIALIZER)| |(FAST-READER-METHOD SLOT-OBJECT CLASS-EQ-SPECIALIZER)| + |(FAST-READER-METHOD CLASS CLASS-EQ-SPECIALIZER)| |(BOUNDP READER-FUNCTION)| TRACE-METHOD-INTERNAL |(BOUNDP PREDICATE-NAME)| |(BOUNDP READERS)| UPDATE-GF-DFUN |(BOUNDP CLASS-PRECEDENCE-LIST)| - |(BOUNDP ACCESSOR-FLAGS)| |(BOUNDP DOCUMENTATION)| - |(BOUNDP LOCATION)| SPECIALIZER-OBJECT + |(BOUNDP ACCESSOR-FLAGS)| |(BOUNDP LOCATION)| + |(BOUNDP DOCUMENTATION)| SPECIALIZER-OBJECT |(BOUNDP INCOMPATIBLE-SUPERCLASS-LIST)| ACCESSOR-METHOD-SLOT-NAME |(BOUNDP SPECIALIZERS)| |(BOUNDP IDENTITY-WITH-ONE-ARGUMENT)| @@ -783,158 +1052,146 @@ CLASS-EQ-SPECIALIZER-P |(FAST-BOUNDP-METHOD SLOT-OBJECT SOURCE)| SLOTS-FETCHER |(SETF SLOT-ACCESSOR-STD-P)| REMOVE-WRITER-METHOD - |(BOUNDP INITFUNCTION)| |(BOUNDP WRITER-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT ARG-INFO)| + |(BOUNDP WRITER-FUNCTION)| |(BOUNDP INITFUNCTION)| |(FAST-BOUNDP-METHOD SLOT-OBJECT INITIALIZE-INFO)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT ARG-INFO)| STRUCTURE-CLASS-P |(BOUNDP WRITERS)| - |(BOUNDP INITFORM)| + |(BOUNDP INITFORM)| |SETF COMMON-LISP CLASS-NAME| |(FAST-BOUNDP-METHOD SLOT-OBJECT WRAPPER)| |(FAST-BOUNDP-METHOD SLOT-OBJECT INITARGS)| - |LISP::BIT-VECTOR class predicate| |(FAST-BOUNDP-METHOD SLOT-OBJECT DEFSTRUCT-CONSTRUCTOR)| UPDATE-CONSTRUCTORS |(BOUNDP SLOT-NAME)| |(SETF SLOT-DEFINITION-INITARGS)| |(BOUNDP ALLOCATION)| |(FAST-BOUNDP-METHOD SLOT-OBJECT CLASS-EQ-SPECIALIZER)| - DOCUMENTATION |(BOUNDP GENERIC-FUNCTION)| - |(BOUNDP FUNCTION)| |(BOUNDP LAMBDA-LIST)| + DOCUMENTATION |(BOUNDP FUNCTION)| + |(BOUNDP GENERIC-FUNCTION)| |(BOUNDP LAMBDA-LIST)| METHOD-PRETTY-ARGLIST |(BOUNDP SLOT-DEFINITION)| - |LISP::ARRAY class predicate| |(BOUNDP CAN-PRECEDE-LIST)| |(BOUNDP PROTOTYPE)| CLASS-EQ-SPECIALIZER INFORM-TYPE-SYSTEM-ABOUT-CLASS |PCL::DEFINITION-SOURCE-MIXIN class predicate| - |(BOUNDP DFUN-STATE)| - |LISP::STRUCTURE-OBJECT class predicate| - |(BOUNDP FROM-DEFCLASS-P)| COMPILE |(READER METHOD)| - |LISP::STANDARD-OBJECT class predicate| + |(BOUNDP DFUN-STATE)| |(BOUNDP FROM-DEFCLASS-P)| + |(READER METHOD)| |(CALL STANDARD-COMPUTE-EFFECTIVE-METHOD)| - |(BOUNDP FAST-FUNCTION)| - |LISP::COMPLEX class predicate| |(BOUNDP METHOD-CLASS)| - |(READER SOURCE)| |(BOUNDP METHOD-COMBINATION)| + |(BOUNDP FAST-FUNCTION)| |(BOUNDP METHOD-CLASS)| + |(READER SOURCE)| |(BOUNDP INTERNAL-WRITER-FUNCTION)| |(BOUNDP INTERNAL-READER-FUNCTION)| - |(BOUNDP INTERNAL-WRITER-FUNCTION)| - ACCESSOR-METHOD-CLASS |(BOUNDP DIRECT-METHODS)| - |(BOUNDP DIRECT-SLOTS)| |(BOUNDP BOUNDP-FUNCTION)| - |(BOUNDP DIRECT-SUPERCLASSES)| - |(BOUNDP DIRECT-SUBCLASSES)| |(BOUNDP OPTIONS)| - |(BOUNDP METHODS)| |(WRITER METHOD)| - |LISP::BUILT-IN-CLASS class predicate| + |(BOUNDP METHOD-COMBINATION)| ACCESSOR-METHOD-CLASS + |(BOUNDP DIRECT-SLOTS)| |(BOUNDP DIRECT-METHODS)| + |(BOUNDP BOUNDP-FUNCTION)| |(BOUNDP DIRECT-SUBCLASSES)| + |(BOUNDP DIRECT-SUPERCLASSES)| |(BOUNDP METHODS)| + |(BOUNDP OPTIONS)| |(WRITER METHOD)| |PCL::DEPENDENT-UPDATE-MIXIN class predicate| GENERIC-FUNCTION-PRETTY-ARGLIST |(WRITER SOURCE)| + |(FAST-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS (SPECIALIZER-WITH-OBJECT))| + |(FAST-METHOD SPECIALIZER-DIRECT-METHODS (SPECIALIZER-WITH-OBJECT))| + |(FAST-METHOD REINITIALIZE-INSTANCE (SLOT-OBJECT))| |(FAST-METHOD UPDATE-INSTANCE-FOR-DIFFERENT-CLASS (STANDARD-OBJECT STANDARD-OBJECT))| - |(FAST-METHOD SLOTS-TO-INSPECT (SLOT-CLASS SLOT-OBJECT))| |(FAST-METHOD INITIALIZE-INSTANCE (SLOT-OBJECT))| - |(FAST-METHOD REINITIALIZE-INSTANCE (SLOT-OBJECT))| - |(FAST-METHOD SPECIALIZER-DIRECT-METHODS (SPECIALIZER-WITH-OBJECT))| - |(FAST-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS (SPECIALIZER-WITH-OBJECT))| + |(FAST-METHOD SLOTS-TO-INSPECT (SLOT-CLASS SLOT-OBJECT))| + |(FAST-METHOD SPECIALIZER-METHOD-TABLE (CLASS-EQ-SPECIALIZER))| + |(FAST-METHOD SPECIALIZER-METHOD-TABLE (EQL-SPECIALIZER))| + |(FAST-METHOD SPECIALIZER-CLASS (EQL-SPECIALIZER))| |(FAST-METHOD SAME-SPECIALIZER-P (CLASS-EQ-SPECIALIZER CLASS-EQ-SPECIALIZER))| |(FAST-METHOD SAME-SPECIALIZER-P (EQL-SPECIALIZER EQL-SPECIALIZER))| |(FAST-METHOD SAME-SPECIALIZER-P (SPECIALIZER SPECIALIZER))| - |(FAST-METHOD SPECIALIZER-METHOD-TABLE (EQL-SPECIALIZER))| - |(FAST-METHOD SPECIALIZER-CLASS (EQL-SPECIALIZER))| - |(FAST-METHOD SPECIALIZER-METHOD-TABLE (CLASS-EQ-SPECIALIZER))| MAKE-BOUNDP-METHOD-FUNCTION - |LISP::STRING class predicate| |(FAST-METHOD (SETF DOCUMENTATION) (T DOCUMENTATION-MIXIN))| |(FAST-METHOD DOCUMENTATION (DOCUMENTATION-MIXIN))| |PCL::METAOBJECT class predicate| - |(FAST-METHOD (SETF SLOT-VALUE-USING-CLASS) (T STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| |(FAST-METHOD SLOT-BOUNDP-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| |(FAST-METHOD SLOT-MAKUNBOUND-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD SLOT-MAKUNBOUND-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| |(FAST-METHOD SLOT-BOUNDP-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD SLOT-VALUE-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD SLOT-VALUE-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD (SETF DOCUMENTATION) (T STANDARD-SLOT-DEFINITION))| - |(FAST-METHOD METHOD-QUALIFIERS (TRACED-METHOD))| - |(FAST-METHOD METHOD-PRETTY-ARGLIST (STANDARD-METHOD))| - |(FAST-METHOD FUNCTION-KEYWORDS (STANDARD-METHOD))| - |(FAST-METHOD COMPUTE-DISCRIMINATING-FUNCTION (STANDARD-GENERIC-FUNCTION))| - |(FAST-METHOD METHOD-LAMBDA-LIST (TRACED-METHOD))| + |(FAST-METHOD SLOT-MAKUNBOUND-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| + |(FAST-METHOD GENERIC-FUNCTION-PRETTY-ARGLIST (STANDARD-GENERIC-FUNCTION))| + |(FAST-METHOD GENERIC-FUNCTION-LAMBDA-LIST (GENERIC-FUNCTION))| + |(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-WRITER-METHOD))| + |(FAST-METHOD SLOT-DEFINITION-ALLOCATION (STRUCTURE-SLOT-DEFINITION))| + |(FAST-METHOD GF-FAST-METHOD-FUNCTION-P (STANDARD-GENERIC-FUNCTION))| + |(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-ACCESSOR-METHOD))| + |(FAST-METHOD METHOD-QUALIFIERS (STANDARD-METHOD))| + |(FAST-METHOD INITIALIZE-INTERNAL-SLOT-FUNCTIONS (EFFECTIVE-SLOT-DEFINITION))| + |(FAST-METHOD REMOVE-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| + |(FAST-METHOD REMOVE-DIRECT-METHOD (CLASS METHOD))| + |(FAST-METHOD ADD-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| + |(FAST-METHOD INITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| + |(FAST-METHOD ADD-DIRECT-METHOD (CLASS METHOD))| + |(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| + |(FAST-METHOD REINITIALIZE-INSTANCE (STANDARD-METHOD))| + |(FAST-METHOD (SETF SLOT-VALUE-USING-CLASS) (T STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| + |(FAST-METHOD METHOD-FUNCTION (STANDARD-METHOD))| |(FAST-METHOD MAKE-INSTANCES-OBSOLETE (SYMBOL))| |(FAST-METHOD METHOD-SPECIALIZERS (TRACED-METHOD))| - |(FAST-METHOD METHOD-FUNCTION (STANDARD-METHOD))| + |(FAST-METHOD METHOD-LAMBDA-LIST (TRACED-METHOD))| + |(FAST-METHOD COMPUTE-DISCRIMINATING-FUNCTION (STANDARD-GENERIC-FUNCTION))| + |(FAST-METHOD METHOD-PRETTY-ARGLIST (STANDARD-METHOD))| |(FAST-METHOD ACCESSOR-METHOD-SLOT-NAME (TRACED-METHOD))| |(FAST-METHOD COMPUTE-DISCRIMINATING-FUNCTION-ARGLIST-INFO (STANDARD-GENERIC-FUNCTION))| + |(FAST-METHOD METHOD-QUALIFIERS (TRACED-METHOD))| + |(FAST-METHOD FUNCTION-KEYWORDS (STANDARD-METHOD))| + |(FAST-METHOD SLOT-VALUE-USING-CLASS (STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| + |(FAST-METHOD (SETF DOCUMENTATION) (T STANDARD-SLOT-DEFINITION))| + |(FAST-METHOD SLOT-VALUE-USING-CLASS (STD-CLASS STANDARD-OBJECT STANDARD-EFFECTIVE-SLOT-DEFINITION))| + |(FAST-METHOD CHANGE-CLASS (T SYMBOL))| |(FAST-METHOD DOCUMENTATION (STANDARD-SLOT-DEFINITION))| |(FAST-METHOD MAKE-INSTANCE (SYMBOL))| - |(FAST-METHOD CHANGE-CLASS (T SYMBOL))| |(FAST-METHOD (SETF SLOT-VALUE-USING-CLASS) (T STRUCTURE-CLASS STRUCTURE-OBJECT STRUCTURE-EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD ADD-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| - |(FAST-METHOD REINITIALIZE-INSTANCE (STANDARD-METHOD))| - |(FAST-METHOD REMOVE-DIRECT-METHOD (CLASS METHOD))| - |(FAST-METHOD INITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| - |(FAST-METHOD REMOVE-DIRECT-METHOD (SPECIALIZER-WITH-OBJECT METHOD))| - |(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (STANDARD-GENERIC-FUNCTION))| - |(FAST-METHOD ADD-DIRECT-METHOD (CLASS METHOD))| - |(FAST-METHOD GENERIC-FUNCTION-PRETTY-ARGLIST (STANDARD-GENERIC-FUNCTION))| - |(FAST-METHOD INITIALIZE-INTERNAL-SLOT-FUNCTIONS (EFFECTIVE-SLOT-DEFINITION))| - |(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-WRITER-METHOD))| - |(FAST-METHOD ACCESSOR-METHOD-CLASS (STANDARD-ACCESSOR-METHOD))| - |(FAST-METHOD GF-FAST-METHOD-FUNCTION-P (STANDARD-GENERIC-FUNCTION))| - |(FAST-METHOD GENERIC-FUNCTION-LAMBDA-LIST (GENERIC-FUNCTION))| - |(FAST-METHOD METHOD-QUALIFIERS (STANDARD-METHOD))| - |(FAST-METHOD SLOT-DEFINITION-ALLOCATION (STRUCTURE-SLOT-DEFINITION))| |(FAST-METHOD ENSURE-CLASS-USING-CLASS (T PCL-CLASS))| - |(FAST-METHOD CLASS-PROTOTYPE (STRUCTURE-CLASS))| - |(FAST-METHOD CLASS-PROTOTYPE (STD-CLASS))| - |(FAST-METHOD ALLOCATE-INSTANCE (STRUCTURE-CLASS))| - |(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (SLOT-CLASS))| - |(FAST-METHOD VALIDATE-SUPERCLASS (CLASS BUILT-IN-CLASS))| - |(FAST-METHOD VALIDATE-SUPERCLASS (CLASS CLASS))| - |(FAST-METHOD VALIDATE-SUPERCLASS (SLOT-CLASS FORWARD-REFERENCED-CLASS))| - |(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT FUNCALLABLE-STANDARD-CLASS))| - |(FAST-METHOD ALLOCATE-INSTANCE (STANDARD-CLASS))| - |(FAST-METHOD REMOVE-DIRECT-SUBCLASS (CLASS CLASS))| - |(FAST-METHOD REINITIALIZE-INSTANCE :BEFORE (SLOT-CLASS))| - |(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT STANDARD-CLASS))| - |(FAST-METHOD ALLOCATE-INSTANCE (FUNCALLABLE-STANDARD-CLASS))| - |(FAST-METHOD ADD-DIRECT-SUBCLASS (CLASS CLASS))| - |(FAST-METHOD MAKE-INSTANCE (CLASS))| - |(FAST-METHOD VALIDATE-SUPERCLASS (FUNCALLABLE-STANDARD-CLASS STANDARD-CLASS))| - |(FAST-METHOD SAME-SPECIALIZER-P (CLASS CLASS))| - |(FAST-METHOD SPECIALIZER-DIRECT-METHODS (CLASS))| - |(FAST-METHOD RAW-INSTANCE-ALLOCATOR (STANDARD-CLASS))| - |(FAST-METHOD CLASS-DIRECT-SLOTS (BUILT-IN-CLASS))| - |(FAST-METHOD CLASS-FINALIZED-P (PCL-CLASS))| - |(FAST-METHOD SPECIALIZER-CLASS (CLASS))| + |(FAST-METHOD CLASS-SLOT-CELLS (STD-CLASS))| |(FAST-METHOD SLOTS-FETCHER (STANDARD-CLASS))| - |(FAST-METHOD MAKE-INSTANCES-OBSOLETE (STD-CLASS))| - |(FAST-METHOD CLASS-SLOTS (BUILT-IN-CLASS))| - |(FAST-METHOD FINALIZE-INHERITANCE (STD-CLASS))| - |(FAST-METHOD CLASS-DEFAULT-INITARGS (SLOT-CLASS))| - |(FAST-METHOD CLASS-DIRECT-DEFAULT-INITARGS (BUILT-IN-CLASS))| - |(FAST-METHOD COMPUTE-CLASS-PRECEDENCE-LIST (SLOT-CLASS))| - |(FAST-METHOD FINALIZE-INHERITANCE (STRUCTURE-CLASS))| - |(FAST-METHOD COMPUTE-SLOTS :AROUND (STD-CLASS))| - |(FAST-METHOD COMPUTE-DEFAULT-INITARGS (SLOT-CLASS))| - |(FAST-METHOD COMPUTE-SLOTS (STD-CLASS))| - |(FAST-METHOD RAW-INSTANCE-ALLOCATOR (FUNCALLABLE-STANDARD-CLASS))| - |(FAST-METHOD COMPUTE-SLOTS (STRUCTURE-CLASS))| - |(FAST-METHOD COMPUTE-SLOTS :AROUND (STRUCTURE-CLASS))| + |(FAST-METHOD CLASS-CONSTRUCTORS (SLOT-CLASS))| + |(FAST-METHOD CLASS-DEFAULT-INITARGS (BUILT-IN-CLASS))| |(FAST-METHOD CLASS-DIRECT-DEFAULT-INITARGS (SLOT-CLASS))| + |(FAST-METHOD COMPUTE-SLOTS (STRUCTURE-CLASS))| + |(FAST-METHOD COMPUTE-SLOTS (STD-CLASS))| |(FAST-METHOD WRAPPER-FETCHER (FUNCALLABLE-STANDARD-CLASS))| - |(FAST-METHOD SLOTS-FETCHER (FUNCALLABLE-STANDARD-CLASS))| + |(FAST-METHOD CLASS-DIRECT-DEFAULT-INITARGS (BUILT-IN-CLASS))| + |(FAST-METHOD CLASS-DIRECT-SLOTS (BUILT-IN-CLASS))| + |(FAST-METHOD FINALIZE-INHERITANCE (STRUCTURE-CLASS))| + |(FAST-METHOD MAKE-INSTANCES-OBSOLETE (STD-CLASS))| |(FAST-METHOD WRAPPER-FETCHER (STANDARD-CLASS))| - |(FAST-METHOD CLASS-CONSTRUCTORS (SLOT-CLASS))| - |(FAST-METHOD CLASS-DEFAULT-INITARGS (BUILT-IN-CLASS))| + |(FAST-METHOD COMPUTE-SLOTS :AROUND (STRUCTURE-CLASS))| + |(FAST-METHOD RAW-INSTANCE-ALLOCATOR (STANDARD-CLASS))| + |(FAST-METHOD SPECIALIZER-DIRECT-METHODS (CLASS))| + |(FAST-METHOD COMPUTE-DEFAULT-INITARGS (SLOT-CLASS))| |(FAST-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS (CLASS))| - |(FAST-METHOD CLASS-SLOT-CELLS (STD-CLASS))| + |(FAST-METHOD COMPUTE-SLOTS :AROUND (STD-CLASS))| + |(FAST-METHOD COMPUTE-CLASS-PRECEDENCE-LIST (SLOT-CLASS))| + |(FAST-METHOD CLASS-FINALIZED-P (PCL-CLASS))| + |(FAST-METHOD SLOTS-FETCHER (FUNCALLABLE-STANDARD-CLASS))| + |(FAST-METHOD SPECIALIZER-CLASS (CLASS))| + |(FAST-METHOD CLASS-DEFAULT-INITARGS (SLOT-CLASS))| + |(FAST-METHOD CLASS-SLOTS (BUILT-IN-CLASS))| + |(FAST-METHOD RAW-INSTANCE-ALLOCATOR (FUNCALLABLE-STANDARD-CLASS))| + |(FAST-METHOD FINALIZE-INHERITANCE (STD-CLASS))| + |(FAST-METHOD VALIDATE-SUPERCLASS (CLASS BUILT-IN-CLASS))| + |(FAST-METHOD SAME-SPECIALIZER-P (CLASS CLASS))| + |(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT STANDARD-CLASS))| + |(FAST-METHOD CHANGE-CLASS (STANDARD-OBJECT FUNCALLABLE-STANDARD-CLASS))| + |(FAST-METHOD VALIDATE-SUPERCLASS (FUNCALLABLE-STANDARD-CLASS STANDARD-CLASS))| + |(FAST-METHOD ALLOCATE-INSTANCE (FUNCALLABLE-STANDARD-CLASS))| + |(FAST-METHOD ALLOCATE-INSTANCE (STANDARD-CLASS))| + |(FAST-METHOD MAKE-INSTANCE (CLASS))| + |(FAST-METHOD VALIDATE-SUPERCLASS (CLASS CLASS))| + |(FAST-METHOD ADD-DIRECT-SUBCLASS (CLASS CLASS))| + |(FAST-METHOD VALIDATE-SUPERCLASS (SLOT-CLASS FORWARD-REFERENCED-CLASS))| + |(FAST-METHOD REMOVE-DIRECT-SUBCLASS (CLASS CLASS))| + |(FAST-METHOD REINITIALIZE-INSTANCE :BEFORE (SLOT-CLASS))| + |(FAST-METHOD CLASS-PROTOTYPE (STRUCTURE-CLASS))| + |(FAST-METHOD CLASS-PROTOTYPE (STD-CLASS))| + |(FAST-METHOD ALLOCATE-INSTANCE (STRUCTURE-CLASS))| + |(FAST-METHOD REINITIALIZE-INSTANCE :AFTER (SLOT-CLASS))| CLASS-PREDICATE-NAME - |PCL::STRUCTURE-EFFECTIVE-SLOT-DEFINITION class predicate| - |PCL::STRUCTURE-DIRECT-SLOT-DEFINITION class predicate| |PCL::STRUCTURE-SLOT-DEFINITION class predicate| - |PCL::STRUCTURE-OBJECT class predicate| - |LISP::SYMBOL class predicate| + |PCL::STRUCTURE-DIRECT-SLOT-DEFINITION class predicate| + |PCL::STRUCTURE-EFFECTIVE-SLOT-DEFINITION class predicate| |PCL::EFFECTIVE-SLOT-DEFINITION class predicate| |(COMBINED-METHOD SHARED-INITIALIZE)| LEGAL-QUALIFIERS-P ADD-BOUNDP-METHOD - LEGAL-LAMBDA-LIST-P |LISP::VECTOR class predicate| - |SETF PCL GENERIC-FUNCTION-NAME| + LEGAL-LAMBDA-LIST-P |SETF PCL GENERIC-FUNCTION-NAME| |(READER READER-FUNCTION)| |(READER PREDICATE-NAME)| - |(READER READERS)| DESCRIBE-OBJECT - |(READER CLASS-PRECEDENCE-LIST)| - |(READER ACCESSOR-FLAGS)| |(READER DOCUMENTATION)| - |(READER LOCATION)| CLASS-INITIALIZE-INFO + |(READER READERS)| |(READER CLASS-PRECEDENCE-LIST)| + |(READER ACCESSOR-FLAGS)| |(READER LOCATION)| + |(READER DOCUMENTATION)| CLASS-INITIALIZE-INFO |(SETF CLASS-SLOT-VALUE)| MAKE-WRITER-METHOD-FUNCTION |SETF PCL GF-DFUN-STATE| |(READER INCOMPATIBLE-SUPERCLASS-LIST)| @@ -942,75 +1199,75 @@ |(READER IDENTITY-WITH-ONE-ARGUMENT)| |(SETF CLASS-INITIALIZE-INFO)| |(READER PRETTY-ARGLIST)| |(READER DEFSTRUCT-FORM)| - |SETF PCL CLASS-NAME| |SETF PCL SLOT-DEFINITION-NAME| + |SETF PCL SLOT-DEFINITION-NAME| |(WRITER READER-FUNCTION)| |(SETF CLASS-DEFSTRUCT-CONSTRUCTOR)| |(WRITER PREDICATE-NAME)| |(WRITER READERS)| - |(READER INITFUNCTION)| |(READER WRITER-FUNCTION)| + |(READER WRITER-FUNCTION)| |(READER INITFUNCTION)| INITIALIZE-INTERNAL-SLOT-FUNCTIONS - |SETF PCL SLOT-DEFINITION-TYPE| - |(WRITER CLASS-PRECEDENCE-LIST)| |(READER WRITERS)| + |SETF PCL SLOT-DEFINITION-TYPE| |(READER WRITERS)| + |(WRITER CLASS-PRECEDENCE-LIST)| |(WRITER ACCESSOR-FLAGS)| |(READER INITFORM)| - METHOD-COMBINATION-P |(WRITER DOCUMENTATION)| - |(WRITER LOCATION)| + METHOD-COMBINATION-P |(WRITER LOCATION)| + |(WRITER DOCUMENTATION)| |(CALL REAL-ENSURE-GF-USING-CLASS--GENERIC-FUNCTION)| - |SETF PCL METHOD-GENERIC-FUNCTION| - |SETF PCL GENERIC-FUNCTION-METHOD-COMBINATION| |SETF PCL GENERIC-FUNCTION-METHODS| - |(READER SLOT-NAME)| + |SETF PCL GENERIC-FUNCTION-METHOD-COMBINATION| + |SETF PCL METHOD-GENERIC-FUNCTION| |(READER SLOT-NAME)| |(WRITER INCOMPATIBLE-SUPERCLASS-LIST)| |SETF PCL SLOT-ACCESSOR-STD-P| |(CALL REAL-MAKE-METHOD-INITARGS-FORM)| |(READER ALLOCATION)| |(WRITER SPECIALIZERS)| |(CALL REAL-ENSURE-GF-USING-CLASS--NULL)| |(WRITER IDENTITY-WITH-ONE-ARGUMENT)| - |(SETF METHOD-GENERIC-FUNCTION)| LEGAL-SPECIALIZERS-P - |(WRITER PRETTY-ARGLIST)| |SETF PCL OBJECT-PLIST| - |LISP::FLOAT class predicate| |(WRITER DEFSTRUCT-FORM)| - |(READER GENERIC-FUNCTION)| |(READER FUNCTION)| + |(SETF METHOD-GENERIC-FUNCTION)| + |(WRITER PRETTY-ARGLIST)| LEGAL-SPECIALIZERS-P + |SETF PCL OBJECT-PLIST| |(WRITER DEFSTRUCT-FORM)| + |(READER FUNCTION)| |(READER GENERIC-FUNCTION)| |(READER LAMBDA-LIST)| |(READER SLOT-DEFINITION)| |PCL::CLASS-PROTOTYPE-SPECIALIZER class predicate| - |SETF PCL CLASS-DEFSTRUCT-FORM| |SETF PCL SLOT-DEFINITION-INITFORM| + |SETF PCL CLASS-DEFSTRUCT-FORM| |(READER CAN-PRECEDE-LIST)| |SETF PCL GENERIC-FUNCTION-METHOD-CLASS| - |(READER PROTOTYPE)| |(WRITER INITFUNCTION)| - |(WRITER WRITER-FUNCTION)| |(WRITER WRITERS)| + |(READER PROTOTYPE)| |(WRITER WRITER-FUNCTION)| + |(WRITER INITFUNCTION)| |(WRITER WRITERS)| SLOT-ACCESSOR-STD-P |(WRITER INITFORM)| |(READER DFUN-STATE)| |(READER FROM-DEFCLASS-P)| |SETF PCL GF-PRETTY-ARGLIST| - |SETF PCL SLOT-DEFINITION-INITFUNCTION| - |SETF PCL SLOT-DEFINITION-ALLOCATION| - |SETF PCL SLOT-DEFINITION-INTERNAL-WRITER-FUNCTION| - |SETF PCL SLOT-DEFINITION-INTERNAL-READER-FUNCTION| - |SETF PCL SLOT-DEFINITION-BOUNDP-FUNCTION| - |SETF PCL SLOT-DEFINITION-WRITER-FUNCTION| - |SETF PCL SLOT-DEFINITION-READER-FUNCTION| + |SETF PCL SLOT-ACCESSOR-FUNCTION| |SETF PCL SLOT-DEFINITION-LOCATION| - |SETF PCL SLOT-ACCESSOR-FUNCTION| |(WRITER SLOT-NAME)| - |(BOUNDP NAME)| |(WRITER ALLOCATION)| - |(READER FAST-FUNCTION)| |(READER METHOD-CLASS)| - |(SETF OBJECT-PLIST)| |(READER METHOD-COMBINATION)| - |(READER INTERNAL-READER-FUNCTION)| + |SETF PCL SLOT-DEFINITION-READER-FUNCTION| + |SETF PCL SLOT-DEFINITION-WRITER-FUNCTION| + |SETF PCL SLOT-DEFINITION-BOUNDP-FUNCTION| + |SETF PCL SLOT-DEFINITION-INTERNAL-READER-FUNCTION| + |SETF PCL SLOT-DEFINITION-INTERNAL-WRITER-FUNCTION| + |SETF PCL SLOT-DEFINITION-ALLOCATION| + |SETF PCL SLOT-DEFINITION-INITFUNCTION| + |(WRITER SLOT-NAME)| |(BOUNDP NAME)| + |(READER FAST-FUNCTION)| |(WRITER ALLOCATION)| + |(READER METHOD-CLASS)| |(SETF OBJECT-PLIST)| |(READER INTERNAL-WRITER-FUNCTION)| - METHOD-COMBINATION-OPTIONS |(READER DIRECT-METHODS)| - |(READER DIRECT-SLOTS)| - |SETF PCL SLOT-DEFINITION-READERS| - |(READER BOUNDP-FUNCTION)| |(WRITER GENERIC-FUNCTION)| - |(WRITER FUNCTION)| |(READER DIRECT-SUPERCLASSES)| - |(READER DIRECT-SUBCLASSES)| |SETF PCL DOCUMENTATION| - |(WRITER LAMBDA-LIST)| |LISP::LIST class predicate| - FUNCALLABLE-STANDARD-CLASS-P |(BOUNDP CLASS)| + |(READER INTERNAL-READER-FUNCTION)| + |(READER METHOD-COMBINATION)| + METHOD-COMBINATION-OPTIONS |(READER DIRECT-SLOTS)| + |(READER DIRECT-METHODS)| + |SETF PCL SLOT-DEFINITION-READERS| |(WRITER FUNCTION)| + |(WRITER GENERIC-FUNCTION)| |(READER BOUNDP-FUNCTION)| + |SETF PCL DOCUMENTATION| |(READER DIRECT-SUBCLASSES)| + |(READER DIRECT-SUPERCLASSES)| |(WRITER LAMBDA-LIST)| + FUNCALLABLE-STANDARD-CLASS-P |(FAST-WRITER-METHOD SLOT-OBJECT METHOD)| - |(WRITER SLOT-DEFINITION)| |(READER OPTIONS)| - |(READER METHODS)| |(WRITER CAN-PRECEDE-LIST)| - |SETF PCL SLOT-VALUE-USING-CLASS| + |(BOUNDP CLASS)| |(WRITER SLOT-DEFINITION)| + |(READER METHODS)| |(READER OPTIONS)| + |(WRITER CAN-PRECEDE-LIST)| |SETF PCL SLOT-DEFINITION-CLASS| - |(FAST-WRITER-METHOD STRUCTURE-SLOT-DEFINITION DEFSTRUCT-ACCESSOR-SYMBOL)| + |SETF PCL SLOT-VALUE-USING-CLASS| |(FAST-WRITER-METHOD SLOT-OBJECT DEFSTRUCT-ACCESSOR-SYMBOL)| - |(WRITER PROTOTYPE)| |(BOUNDP OBJECT)| |(BOUNDP TYPE)| - CLASS-CAN-PRECEDE-LIST |SETF PCL CLASS-SLOTS| - |SETF PCL CLASS-DIRECT-SLOTS| SLOT-ACCESSOR-FUNCTION + |(FAST-WRITER-METHOD STRUCTURE-SLOT-DEFINITION DEFSTRUCT-ACCESSOR-SYMBOL)| + |(WRITER PROTOTYPE)| |(BOUNDP TYPE)| |(BOUNDP OBJECT)| + CLASS-CAN-PRECEDE-LIST |SETF PCL CLASS-DIRECT-SLOTS| + |SETF PCL CLASS-SLOTS| SLOT-ACCESSOR-FUNCTION |(BOUNDP PLIST)| |SETF PCL CLASS-INCOMPATIBLE-SUPERCLASS-LIST| |SETF PCL SLOT-DEFINITION-WRITERS| @@ -1018,290 +1275,287 @@ |(WRITER DFUN-STATE)| |(WRITER FROM-DEFCLASS-P)| |(BOUNDP SLOTS)| SLOT-CLASS-P MAKE-READER-METHOD-FUNCTION LEGAL-METHOD-FUNCTION-P - |(FAST-WRITER-METHOD SLOT-OBJECT ARG-INFO)| - |(FAST-WRITER-METHOD SLOT-CLASS INITIALIZE-INFO)| |(FAST-WRITER-METHOD SLOT-OBJECT INITIALIZE-INFO)| + |(FAST-WRITER-METHOD SLOT-CLASS INITIALIZE-INFO)| + |(FAST-WRITER-METHOD SLOT-OBJECT ARG-INFO)| |PCL::PLIST-MIXIN class predicate| |(WRITER FAST-FUNCTION)| |(WRITER METHOD-CLASS)| - |(FAST-WRITER-METHOD SLOT-OBJECT WRAPPER)| - |(WRITER METHOD-COMBINATION)| + |(FAST-WRITER-METHOD SLOT-OBJECT WRAPPER)| GET-METHOD + |(WRITER INTERNAL-WRITER-FUNCTION)| |(WRITER INTERNAL-READER-FUNCTION)| - |(WRITER INTERNAL-WRITER-FUNCTION)| GET-METHOD - |(WRITER DIRECT-METHODS)| |(WRITER DIRECT-SLOTS)| - |(FAST-WRITER-METHOD SLOT-DEFINITION INITARGS)| + |(WRITER METHOD-COMBINATION)| |(WRITER DIRECT-SLOTS)| + |(WRITER DIRECT-METHODS)| |(FAST-WRITER-METHOD SLOT-OBJECT INITARGS)| - |(FAST-WRITER-METHOD STRUCTURE-CLASS DEFSTRUCT-CONSTRUCTOR)| - |(FAST-WRITER-METHOD SLOT-OBJECT DEFSTRUCT-CONSTRUCTOR)| + |(FAST-WRITER-METHOD SLOT-DEFINITION INITARGS)| |(FAST-WRITER-METHOD SLOT-OBJECT OPERATOR)| - |(WRITER BOUNDP-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT DEFSTRUCT-CONSTRUCTOR)| + |(FAST-WRITER-METHOD STRUCTURE-CLASS DEFSTRUCT-CONSTRUCTOR)| + |(WRITER BOUNDP-FUNCTION)| |(WRITER DIRECT-SUBCLASSES)| |(WRITER DIRECT-SUPERCLASSES)| - |(WRITER DIRECT-SUBCLASSES)| |(FAST-WRITER-METHOD SLOT-OBJECT CLASS-EQ-SPECIALIZER)| - |(WRITER OPTIONS)| |(WRITER METHODS)| + |(WRITER METHODS)| |(WRITER OPTIONS)| SHORT-METHOD-COMBINATION-P GF-ARG-INFO SPECIALIZER-METHOD-TABLE MAKE-METHOD-INITARGS-FORM CLASS-DEFSTRUCT-FORM - |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION NAME)| - |(FAST-READER-METHOD SLOT-OBJECT NAME)| - |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION DFUN-STATE)| - |(FAST-READER-METHOD SLOT-OBJECT DFUN-STATE)| - |(FAST-READER-METHOD STANDARD-ACCESSOR-METHOD SLOT-NAME)| - |(FAST-READER-METHOD SLOT-OBJECT SLOT-NAME)| - |(FAST-READER-METHOD SLOT-DEFINITION NAME)| - |(FAST-READER-METHOD CLASS NAME)| - |(FAST-READER-METHOD CLASS PREDICATE-NAME)| |(FAST-READER-METHOD SLOT-OBJECT PREDICATE-NAME)| - |LISP::INTEGER class predicate| GF-PRETTY-ARGLIST - SAME-SPECIALIZER-P - SLOT-DEFINITION-INTERNAL-READER-FUNCTION - SLOT-DEFINITION-INTERNAL-WRITER-FUNCTION - SLOT-DEFINITION-READER-FUNCTION - SLOT-DEFINITION-WRITER-FUNCTION + |(FAST-READER-METHOD CLASS PREDICATE-NAME)| + |(FAST-READER-METHOD CLASS NAME)| + |(FAST-READER-METHOD SLOT-DEFINITION NAME)| + |(FAST-READER-METHOD SLOT-OBJECT SLOT-NAME)| + |(FAST-READER-METHOD STANDARD-ACCESSOR-METHOD SLOT-NAME)| + |(FAST-READER-METHOD SLOT-OBJECT DFUN-STATE)| + |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION DFUN-STATE)| + |(FAST-READER-METHOD SLOT-OBJECT NAME)| + |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION NAME)| + GF-PRETTY-ARGLIST SAME-SPECIALIZER-P SLOT-DEFINITION-BOUNDP-FUNCTION - |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION METHOD-CLASS)| - |(FAST-READER-METHOD SLOT-OBJECT METHOD-CLASS)| - |(FAST-READER-METHOD SLOT-OBJECT ACCESSOR-FLAGS)| - |(FAST-READER-METHOD SLOT-DEFINITION CLASS)| - |(FAST-READER-METHOD SLOT-OBJECT CLASS)| - |(FAST-READER-METHOD STANDARD-METHOD-COMBINATION DOCUMENTATION)| - |(FAST-READER-METHOD SLOT-OBJECT DOCUMENTATION)| - |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION METHOD-COMBINATION)| - |(FAST-READER-METHOD SLOT-OBJECT METHOD-COMBINATION)| - |(FAST-READER-METHOD STANDARD-ACCESSOR-METHOD SLOT-DEFINITION)| - |(FAST-READER-METHOD SLOT-OBJECT SLOT-DEFINITION)| - |(FAST-READER-METHOD STANDARD-METHOD GENERIC-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT GENERIC-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT FUNCTION)| - |(FAST-READER-METHOD STANDARD-METHOD FAST-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT FAST-FUNCTION)| - |(FAST-READER-METHOD STANDARD-EFFECTIVE-SLOT-DEFINITION LOCATION)| - |(FAST-READER-METHOD SLOT-OBJECT LOCATION)| - |(FAST-READER-METHOD EFFECTIVE-SLOT-DEFINITION READER-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT READER-FUNCTION)| - |(FAST-READER-METHOD EFFECTIVE-SLOT-DEFINITION WRITER-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT WRITER-FUNCTION)| - |(FAST-READER-METHOD EFFECTIVE-SLOT-DEFINITION BOUNDP-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT BOUNDP-FUNCTION)| - |(FAST-READER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-READER-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT INTERNAL-READER-FUNCTION)| - |(FAST-READER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-WRITER-FUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT INTERNAL-WRITER-FUNCTION)| - |(FAST-READER-METHOD STANDARD-SLOT-DEFINITION ALLOCATION)| - |(FAST-READER-METHOD SLOT-OBJECT ALLOCATION)| - |(FAST-READER-METHOD SLOT-DEFINITION INITFUNCTION)| - |(FAST-READER-METHOD SLOT-OBJECT INITFUNCTION)| - |(FAST-READER-METHOD LONG-METHOD-COMBINATION FUNCTION)| - |(FAST-READER-METHOD TRACED-METHOD FUNCTION)| + SLOT-DEFINITION-WRITER-FUNCTION + SLOT-DEFINITION-READER-FUNCTION + SLOT-DEFINITION-INTERNAL-WRITER-FUNCTION + SLOT-DEFINITION-INTERNAL-READER-FUNCTION + |(FAST-READER-METHOD SLOT-OBJECT CLASS)| + |(FAST-READER-METHOD SLOT-DEFINITION CLASS)| + |(FAST-READER-METHOD SLOT-OBJECT ACCESSOR-FLAGS)| + |(FAST-READER-METHOD SLOT-OBJECT METHOD-CLASS)| + |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION METHOD-CLASS)| |(FAST-READER-METHOD TRACED-METHOD GENERIC-FUNCTION)| - |(FAST-READER-METHOD STANDARD-METHOD SPECIALIZERS)| - |(FAST-READER-METHOD SLOT-OBJECT SPECIALIZERS)| - |(FAST-READER-METHOD SLOT-DEFINITION READERS)| - |(FAST-READER-METHOD SLOT-OBJECT READERS)| - |(FAST-READER-METHOD SLOT-DEFINITION WRITERS)| + |(FAST-READER-METHOD TRACED-METHOD FUNCTION)| + |(FAST-READER-METHOD LONG-METHOD-COMBINATION FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT INITFUNCTION)| + |(FAST-READER-METHOD SLOT-DEFINITION INITFUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT ALLOCATION)| + |(FAST-READER-METHOD STANDARD-SLOT-DEFINITION ALLOCATION)| + |(FAST-READER-METHOD SLOT-OBJECT INTERNAL-WRITER-FUNCTION)| + |(FAST-READER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-WRITER-FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT INTERNAL-READER-FUNCTION)| + |(FAST-READER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-READER-FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT BOUNDP-FUNCTION)| + |(FAST-READER-METHOD EFFECTIVE-SLOT-DEFINITION BOUNDP-FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT WRITER-FUNCTION)| + |(FAST-READER-METHOD EFFECTIVE-SLOT-DEFINITION WRITER-FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT READER-FUNCTION)| + |(FAST-READER-METHOD EFFECTIVE-SLOT-DEFINITION READER-FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT LOCATION)| + |(FAST-READER-METHOD STANDARD-EFFECTIVE-SLOT-DEFINITION LOCATION)| + |(FAST-READER-METHOD SLOT-OBJECT FAST-FUNCTION)| + |(FAST-READER-METHOD STANDARD-METHOD FAST-FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT GENERIC-FUNCTION)| + |(FAST-READER-METHOD STANDARD-METHOD GENERIC-FUNCTION)| + |(FAST-READER-METHOD SLOT-OBJECT SLOT-DEFINITION)| + |(FAST-READER-METHOD STANDARD-ACCESSOR-METHOD SLOT-DEFINITION)| + |(FAST-READER-METHOD SLOT-OBJECT METHOD-COMBINATION)| + |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION METHOD-COMBINATION)| + |(FAST-READER-METHOD SLOT-OBJECT DOCUMENTATION)| + |(FAST-READER-METHOD STANDARD-METHOD-COMBINATION DOCUMENTATION)| |(FAST-READER-METHOD SLOT-OBJECT WRITERS)| - |(FAST-READER-METHOD EQL-SPECIALIZER OBJECT)| - |(FAST-READER-METHOD SLOT-OBJECT OBJECT)| - |(FAST-READER-METHOD CLASS-PROTOTYPE-SPECIALIZER OBJECT)| - |(FAST-READER-METHOD CLASS-EQ-SPECIALIZER OBJECT)| - |(FAST-READER-METHOD SLOT-OBJECT IDENTITY-WITH-ONE-ARGUMENT)| - |(FAST-READER-METHOD SHORT-METHOD-COMBINATION IDENTITY-WITH-ONE-ARGUMENT)| - |(FAST-READER-METHOD STANDARD-METHOD-COMBINATION TYPE)| - |(FAST-READER-METHOD SLOT-OBJECT TYPE)| - |(FAST-READER-METHOD SLOT-DEFINITION TYPE)| - |(FAST-READER-METHOD PCL-CLASS PROTOTYPE)| - |(FAST-READER-METHOD SLOT-OBJECT PROTOTYPE)| + |(FAST-READER-METHOD SLOT-DEFINITION WRITERS)| + |(FAST-READER-METHOD SLOT-OBJECT READERS)| + |(FAST-READER-METHOD SLOT-DEFINITION READERS)| + |(FAST-READER-METHOD SLOT-OBJECT SPECIALIZERS)| + |(FAST-READER-METHOD STANDARD-METHOD SPECIALIZERS)| |(FAST-READER-METHOD SPECIALIZER TYPE)| - |(FAST-READER-METHOD SLOT-DEFINITION INITFORM)| - |(FAST-READER-METHOD SLOT-OBJECT INITFORM)| - |(FAST-READER-METHOD STRUCTURE-CLASS DEFSTRUCT-FORM)| + |(FAST-READER-METHOD SLOT-OBJECT PROTOTYPE)| + |(FAST-READER-METHOD PCL-CLASS PROTOTYPE)| + |(FAST-READER-METHOD SLOT-DEFINITION TYPE)| + |(FAST-READER-METHOD SLOT-OBJECT TYPE)| + |(FAST-READER-METHOD STANDARD-METHOD-COMBINATION TYPE)| + |(FAST-READER-METHOD SHORT-METHOD-COMBINATION IDENTITY-WITH-ONE-ARGUMENT)| + |(FAST-READER-METHOD SLOT-OBJECT IDENTITY-WITH-ONE-ARGUMENT)| + |(FAST-READER-METHOD CLASS-EQ-SPECIALIZER OBJECT)| + |(FAST-READER-METHOD CLASS-PROTOTYPE-SPECIALIZER OBJECT)| + |(FAST-READER-METHOD SLOT-OBJECT OBJECT)| + |(FAST-READER-METHOD EQL-SPECIALIZER OBJECT)| |(FAST-READER-METHOD SLOT-OBJECT DEFSTRUCT-FORM)| - |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION PRETTY-ARGLIST)| - |(FAST-READER-METHOD SLOT-OBJECT PRETTY-ARGLIST)| - |(FAST-READER-METHOD STANDARD-METHOD LAMBDA-LIST)| - |(FAST-READER-METHOD SLOT-OBJECT LAMBDA-LIST)| - |(FAST-READER-METHOD PCL-CLASS CLASS-PRECEDENCE-LIST)| - |(FAST-READER-METHOD SLOT-OBJECT CLASS-PRECEDENCE-LIST)| - |(FAST-READER-METHOD PCL-CLASS CAN-PRECEDE-LIST)| - |(FAST-READER-METHOD SLOT-OBJECT CAN-PRECEDE-LIST)| - |(FAST-READER-METHOD PCL-CLASS INCOMPATIBLE-SUPERCLASS-LIST)| - |(FAST-READER-METHOD SLOT-OBJECT INCOMPATIBLE-SUPERCLASS-LIST)| - |(FAST-READER-METHOD PLIST-MIXIN PLIST)| + |(FAST-READER-METHOD STRUCTURE-CLASS DEFSTRUCT-FORM)| + |(FAST-READER-METHOD SLOT-OBJECT INITFORM)| + |(FAST-READER-METHOD SLOT-DEFINITION INITFORM)| |(FAST-READER-METHOD SLOT-OBJECT PLIST)| - |(FAST-READER-METHOD SLOT-OBJECT FROM-DEFCLASS-P)| - |(FAST-READER-METHOD STANDARD-METHOD-COMBINATION OPTIONS)| - |(FAST-READER-METHOD SLOT-OBJECT OPTIONS)| - |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION METHODS)| - |(FAST-READER-METHOD SLOT-OBJECT METHODS)| - |(FAST-READER-METHOD SLOT-CLASS DIRECT-SLOTS)| - |(FAST-READER-METHOD SLOT-OBJECT DIRECT-SLOTS)| - |(FAST-READER-METHOD SLOT-CLASS SLOTS)| - |(FAST-READER-METHOD SLOT-OBJECT SLOTS)| + |(FAST-READER-METHOD PLIST-MIXIN PLIST)| + |(FAST-READER-METHOD SLOT-OBJECT INCOMPATIBLE-SUPERCLASS-LIST)| + |(FAST-READER-METHOD PCL-CLASS INCOMPATIBLE-SUPERCLASS-LIST)| + |(FAST-READER-METHOD SLOT-OBJECT CAN-PRECEDE-LIST)| + |(FAST-READER-METHOD PCL-CLASS CAN-PRECEDE-LIST)| + |(FAST-READER-METHOD SLOT-OBJECT CLASS-PRECEDENCE-LIST)| + |(FAST-READER-METHOD PCL-CLASS CLASS-PRECEDENCE-LIST)| + |(FAST-READER-METHOD SLOT-OBJECT LAMBDA-LIST)| + |(FAST-READER-METHOD STANDARD-METHOD LAMBDA-LIST)| + |(FAST-READER-METHOD SLOT-OBJECT PRETTY-ARGLIST)| + |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION PRETTY-ARGLIST)| |(FAST-READER-METHOD SLOT-OBJECT DIRECT-METHODS)| - |(FAST-READER-METHOD CLASS DIRECT-SUPERCLASSES)| - |(FAST-READER-METHOD SLOT-OBJECT DIRECT-SUPERCLASSES)| - |(FAST-READER-METHOD CLASS DIRECT-SUBCLASSES)| + |(FAST-READER-METHOD SLOT-OBJECT SLOTS)| + |(FAST-READER-METHOD SLOT-CLASS SLOTS)| + |(FAST-READER-METHOD SLOT-OBJECT DIRECT-SLOTS)| + |(FAST-READER-METHOD SLOT-CLASS DIRECT-SLOTS)| + |(FAST-READER-METHOD SLOT-OBJECT METHODS)| + |(FAST-READER-METHOD STANDARD-GENERIC-FUNCTION METHODS)| + |(FAST-READER-METHOD SLOT-OBJECT OPTIONS)| + |(FAST-READER-METHOD STANDARD-METHOD-COMBINATION OPTIONS)| + |(FAST-READER-METHOD SLOT-OBJECT FROM-DEFCLASS-P)| |(FAST-READER-METHOD SLOT-OBJECT DIRECT-SUBCLASSES)| + |(FAST-READER-METHOD CLASS DIRECT-SUBCLASSES)| + |(FAST-READER-METHOD SLOT-OBJECT DIRECT-SUPERCLASSES)| + |(FAST-READER-METHOD CLASS DIRECT-SUPERCLASSES)| SLOT-DEFINITION-CLASS EQL-SPECIALIZER-OBJECT |PCL::DIRECT-SLOT-DEFINITION class predicate| CLASS-CONSTRUCTORS |(BOUNDP WRAPPER)| SLOTS-TO-INSPECT - |(FAST-BOUNDP-METHOD SLOT-OBJECT NAME)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT DFUN-STATE)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT SLOT-NAME)| |(FAST-BOUNDP-METHOD SLOT-OBJECT PREDICATE-NAME)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT SLOT-NAME)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT DFUN-STATE)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT NAME)| |(BOUNDP DEFSTRUCT-ACCESSOR-SYMBOL)| SPECIALIZER-DIRECT-GENERIC-FUNCTIONS |(BOUNDP CLASS-EQ-SPECIALIZER)| |(SETF SLOT-DEFINITION-NAME)| ADD-WRITER-METHOD - |(FAST-BOUNDP-METHOD SLOT-OBJECT METHOD-CLASS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT ACCESSOR-FLAGS)| |(FAST-BOUNDP-METHOD SLOT-OBJECT CLASS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT DOCUMENTATION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT METHOD-COMBINATION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT SLOT-DEFINITION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT GENERIC-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT FAST-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT LOCATION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT READER-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT WRITER-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT BOUNDP-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT INTERNAL-READER-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT INTERNAL-WRITER-FUNCTION)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT ALLOCATION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT ACCESSOR-FLAGS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT METHOD-CLASS)| |(FAST-BOUNDP-METHOD SLOT-OBJECT INITFUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT ALLOCATION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT INTERNAL-WRITER-FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT INTERNAL-READER-FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT BOUNDP-FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT WRITER-FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT READER-FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT LOCATION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT FAST-FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT GENERIC-FUNCTION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT SLOT-DEFINITION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT METHOD-COMBINATION)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT DOCUMENTATION)| |(BOUNDP OPERATOR)| |(BOUNDP ARG-INFO)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT SPECIALIZERS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT READERS)| |(FAST-BOUNDP-METHOD SLOT-OBJECT WRITERS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT OBJECT)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT TYPE)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT READERS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT SPECIALIZERS)| |(FAST-BOUNDP-METHOD SLOT-OBJECT PROTOTYPE)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT INITFORM)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT TYPE)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT OBJECT)| |(FAST-BOUNDP-METHOD SLOT-OBJECT DEFSTRUCT-FORM)| - |(SETF SLOT-DEFINITION-CLASS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT INITFORM)| |(SETF SLOT-VALUE-USING-CLASS)| - |(SETF SLOT-DEFINITION-LOCATION)| - |(SETF SLOT-DEFINITION-READER-FUNCTION)| - |(SETF SLOT-DEFINITION-WRITER-FUNCTION)| - |(SETF SLOT-DEFINITION-BOUNDP-FUNCTION)| - |(SETF SLOT-DEFINITION-INTERNAL-READER-FUNCTION)| - |(SETF SLOT-DEFINITION-INTERNAL-WRITER-FUNCTION)| - |(SETF SLOT-DEFINITION-ALLOCATION)| - |(SETF SLOT-DEFINITION-INITFUNCTION)| + |(SETF SLOT-DEFINITION-CLASS)| |(SETF SLOT-ACCESSOR-FUNCTION)| + |(SETF SLOT-DEFINITION-INITFUNCTION)| + |(SETF SLOT-DEFINITION-ALLOCATION)| + |(SETF SLOT-DEFINITION-INTERNAL-WRITER-FUNCTION)| + |(SETF SLOT-DEFINITION-INTERNAL-READER-FUNCTION)| + |(SETF SLOT-DEFINITION-BOUNDP-FUNCTION)| + |(SETF SLOT-DEFINITION-WRITER-FUNCTION)| + |(SETF SLOT-DEFINITION-READER-FUNCTION)| + |(SETF SLOT-DEFINITION-LOCATION)| |(BOUNDP DEFSTRUCT-CONSTRUCTOR)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT PRETTY-ARGLIST)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT LAMBDA-LIST)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT CLASS-PRECEDENCE-LIST)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT CAN-PRECEDE-LIST)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT INCOMPATIBLE-SUPERCLASS-LIST)| |(FAST-BOUNDP-METHOD SLOT-OBJECT PLIST)| - |(SETF SLOT-DEFINITION-READERS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT INCOMPATIBLE-SUPERCLASS-LIST)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT CAN-PRECEDE-LIST)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT CLASS-PRECEDENCE-LIST)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT LAMBDA-LIST)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT PRETTY-ARGLIST)| |(SETF SLOT-DEFINITION-WRITERS)| + |(SETF SLOT-DEFINITION-READERS)| |(SETF SLOT-DEFINITION-TYPE)| |(SETF SLOT-DEFINITION-INITFORM)| |(BOUNDP INITIALIZE-INFO)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT OPTIONS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT METHODS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT DIRECT-SLOTS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT SLOTS)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT DIRECT-METHODS)| |(FAST-BOUNDP-METHOD SLOT-OBJECT FROM-DEFCLASS-P)| - |(FAST-BOUNDP-METHOD SLOT-OBJECT DIRECT-SUPERCLASSES)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT DIRECT-METHODS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT SLOTS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT DIRECT-SLOTS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT METHODS)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT OPTIONS)| |(FAST-BOUNDP-METHOD SLOT-OBJECT DIRECT-SUBCLASSES)| + |(FAST-BOUNDP-METHOD SLOT-OBJECT DIRECT-SUPERCLASSES)| |(FAST-INTERNAL-READER-METHOD STANDARD-GENERIC-FUNCTION ARG-INFO)| |(BOUNDP INITARGS)| LONG-METHOD-COMBINATION-FUNCTION GENERIC-FUNCTION-P - |PCL::SLOT-DEFINITION class predicate| - |LISP::NULL class predicate| |(READER NAME)| - |(READER CLASS)| |(FAST-METHOD SLOT-MISSING (T T T T))| + |PCL::SLOT-DEFINITION class predicate| |(READER NAME)| + |(READER CLASS)| |(FAST-METHOD SLOT-UNBOUND (T T T))| |(FAST-METHOD (SETF DOCUMENTATION) (T T))| - |(FAST-METHOD WRITER-METHOD-CLASS (SLOT-CLASS T))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-ACCESSOR-METHOD T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STRUCTURE-SLOT-DEFINITION T))| - |(FAST-METHOD FIND-METHOD-COMBINATION (GENERIC-FUNCTION (EQL STANDARD) T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (DOCUMENTATION-MIXIN T))| - |(FAST-METHOD SLOT-UNBOUND (T T T))| - |(FAST-METHOD REMOVE-NAMED-METHOD (T T))| - |(FAST-METHOD (SETF SLOT-ACCESSOR-STD-P) (T EFFECTIVE-SLOT-DEFINITION T))| + |(FAST-METHOD SHARED-INITIALIZE :BEFORE (BUILT-IN-CLASS T))| |(FAST-METHOD COMPUTE-SLOT-ACCESSOR-INFO (EFFECTIVE-SLOT-DEFINITION T T))| |(FAST-METHOD SHARED-INITIALIZE :AFTER (STRUCTURE-CLASS T))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (BUILT-IN-CLASS T))| |(FAST-METHOD READER-METHOD-CLASS (SLOT-CLASS T))| + |(FAST-METHOD SHARED-INITIALIZE :AFTER (DOCUMENTATION-MIXIN T))| + |(FAST-METHOD WRITER-METHOD-CLASS (SLOT-CLASS T))| + |(FAST-METHOD SHARED-INITIALIZE :AFTER (STRUCTURE-SLOT-DEFINITION T))| + |(FAST-METHOD REMOVE-NAMED-METHOD (T T))| + |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-METHOD T))| |(FAST-METHOD SHARED-INITIALIZE :AFTER (STD-CLASS T))| + |(FAST-METHOD (SETF SLOT-ACCESSOR-STD-P) (T EFFECTIVE-SLOT-DEFINITION T))| |(FAST-METHOD COMPUTE-EFFECTIVE-METHOD (GENERIC-FUNCTION SHORT-METHOD-COMBINATION T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-METHOD T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (CLASS-EQ-SPECIALIZER T))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (CLASS T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-SLOT-DEFINITION T))| - |(FAST-METHOD (SETF CLASS-SLOT-VALUE) (T STD-CLASS T))| + |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-ACCESSOR-METHOD T))| + |(FAST-METHOD FIND-METHOD-COMBINATION (GENERIC-FUNCTION (EQL STANDARD) T))| + |(FAST-METHOD PRINT-OBJECT (STANDARD-ACCESSOR-METHOD T))| + |(FAST-METHOD COMPATIBLE-META-CLASS-CHANGE-P (T T))| + |(FAST-METHOD MAKE-READER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| + |(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STD-CLASS T))| + |(FAST-METHOD LEGAL-SLOT-NAME-P (STANDARD-METHOD T))| + |(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| + |(FAST-METHOD PRINT-OBJECT (CLASS T))| + |(FAST-METHOD COMPUTE-APPLICABLE-METHODS (GENERIC-FUNCTION T))| + |(FAST-METHOD PRINT-OBJECT (T T))| + |(FAST-METHOD ADD-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| + |(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD T))| + |(FAST-METHOD PRINT-OBJECT (GENERIC-FUNCTION T))| + |(FAST-METHOD MAP-DEPENDENTS (DEPENDENT-UPDATE-MIXIN T))| + |(FAST-METHOD REMOVE-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| + |(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| + |(FAST-METHOD REMOVE-READER-METHOD (SLOT-CLASS T))| + |(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STD-CLASS T))| + |(FAST-METHOD REMOVE-BOUNDP-METHOD (SLOT-CLASS T))| + |(FAST-METHOD REMOVE-WRITER-METHOD (SLOT-CLASS T))| + |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS (SLOT-CLASS T))| + |(FAST-METHOD SLOT-ACCESSOR-STD-P (EFFECTIVE-SLOT-DEFINITION T))| + |(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD-COMBINATION T))| + |(FAST-METHOD MAKE-BOUNDP-METHOD-FUNCTION (SLOT-CLASS T))| + |(FAST-METHOD PRINT-OBJECT (SLOT-DEFINITION T))| + |(FAST-METHOD UPDATE-GF-DFUN (STD-CLASS T))| + |(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STD-CLASS T))| + |(FAST-METHOD LEGAL-DOCUMENTATION-P (STANDARD-METHOD T))| + |(FAST-METHOD LEGAL-LAMBDA-LIST-P (STANDARD-METHOD T))| + |(FAST-METHOD LEGAL-SPECIALIZER-P (STANDARD-METHOD T))| + |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS :AROUND (STRUCTURE-CLASS T))| + |(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (SLOT-CLASS T))| + |(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STRUCTURE-CLASS T))| + |(FAST-METHOD LEGAL-QUALIFIER-P (STANDARD-METHOD T))| + |(FAST-METHOD LEGAL-METHOD-FUNCTION-P (STANDARD-METHOD T))| + |(FAST-METHOD MAKE-READER-METHOD-FUNCTION (SLOT-CLASS T))| + |(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| + |(FAST-METHOD ADD-WRITER-METHOD (SLOT-CLASS T T))| + |(FAST-METHOD COMPUTE-EFFECTIVE-METHOD (GENERIC-FUNCTION LONG-METHOD-COMBINATION T))| |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-METHOD T))| + |(FAST-METHOD SHARED-INITIALIZE :BEFORE (CLASS T))| |(FAST-METHOD (SETF SLOT-ACCESSOR-FUNCTION) (T EFFECTIVE-SLOT-DEFINITION T))| + |(FAST-METHOD ADD-READER-METHOD (SLOT-CLASS T T))| + |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-GENERIC-FUNCTION T))| + |(FAST-METHOD (SETF CLASS-SLOT-VALUE) (T STD-CLASS T))| + |(FAST-METHOD SHARED-INITIALIZE :AFTER (CLASS-EQ-SPECIALIZER T))| + |(FAST-METHOD SHARED-INITIALIZE (SLOT-OBJECT T))| + |(FAST-METHOD SHARED-INITIALIZE :AFTER (EQL-SPECIALIZER T))| + |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-SLOT-DEFINITION T))| |(FAST-METHOD SHARED-INITIALIZE :AFTER (STANDARD-ACCESSOR-METHOD T))| - |(FAST-METHOD COMPUTE-EFFECTIVE-METHOD (GENERIC-FUNCTION LONG-METHOD-COMBINATION T))| - |(FAST-METHOD ADD-WRITER-METHOD (SLOT-CLASS T T))| |(FAST-METHOD ADD-BOUNDP-METHOD (SLOT-CLASS T T))| - |(FAST-METHOD SHARED-INITIALIZE :AFTER (EQL-SPECIALIZER T))| - |(FAST-METHOD SHARED-INITIALIZE (SLOT-OBJECT T))| - |(FAST-METHOD SHARED-INITIALIZE :BEFORE (STANDARD-GENERIC-FUNCTION T))| - |(FAST-METHOD ADD-READER-METHOD (SLOT-CLASS T T))| - |(FAST-METHOD LEGAL-QUALIFIERS-P (STANDARD-METHOD T))| - |(FAST-METHOD DESCRIBE-OBJECT (T T))| - |(FAST-METHOD LEGAL-SPECIALIZERS-P (STANDARD-METHOD T))| - |(FAST-METHOD COMPUTE-APPLICABLE-METHODS-USING-CLASSES (GENERIC-FUNCTION T))| - |(FAST-METHOD DESCRIBE-OBJECT (STANDARD-GENERIC-FUNCTION T))| |(FAST-METHOD DESCRIBE-OBJECT (CLASS T))| + |(FAST-METHOD LEGAL-SPECIALIZERS-P (STANDARD-METHOD T))| + |(FAST-METHOD LEGAL-QUALIFIERS-P (STANDARD-METHOD T))| |(FAST-METHOD DEFAULT-INITARGS (SLOT-CLASS T))| + |(FAST-METHOD DESCRIBE-OBJECT (T T))| |(FAST-METHOD CLASS-SLOT-VALUE (STD-CLASS T))| |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION (SLOT-CLASS T))| |(FAST-METHOD DESCRIBE-OBJECT (SLOT-OBJECT T))| + |(FAST-METHOD DESCRIBE-OBJECT (STANDARD-GENERIC-FUNCTION T))| + |(FAST-METHOD COMPUTE-APPLICABLE-METHODS-USING-CLASSES (GENERIC-FUNCTION T))| |(FAST-METHOD SLOT-ACCESSOR-FUNCTION (EFFECTIVE-SLOT-DEFINITION T))| + |(FAST-METHOD SLOT-MISSING (T T T T))| |(FAST-METHOD UPDATE-INSTANCE-FOR-REDEFINED-CLASS (STANDARD-OBJECT T T T))| - |(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| - |(FAST-METHOD COMPUTE-APPLICABLE-METHODS (GENERIC-FUNCTION T))| - |(FAST-METHOD REMOVE-BOUNDP-METHOD (SLOT-CLASS T))| - |(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STD-CLASS T))| - |(FAST-METHOD PRINT-OBJECT (T T))| - |(FAST-METHOD MAP-DEPENDENTS (DEPENDENT-UPDATE-MIXIN T))| - |(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STRUCTURE-CLASS T))| - |(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| - |(FAST-METHOD SLOT-ACCESSOR-STD-P (EFFECTIVE-SLOT-DEFINITION T))| - |(FAST-METHOD MAKE-READER-METHOD-FUNCTION (SLOT-CLASS T))| - |(FAST-METHOD EFFECTIVE-SLOT-DEFINITION-CLASS (STD-CLASS T))| - |(FAST-METHOD PRINT-OBJECT (CLASS T))| - |(FAST-METHOD REMOVE-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| - |(FAST-METHOD UPDATE-GF-DFUN (STD-CLASS T))| - |(FAST-METHOD PRINT-OBJECT (SLOT-DEFINITION T))| - |(FAST-METHOD COMPATIBLE-META-CLASS-CHANGE-P (T T))| - |(FAST-METHOD MAKE-WRITER-METHOD-FUNCTION (SLOT-CLASS T))| - |(FAST-METHOD LEGAL-QUALIFIER-P (STANDARD-METHOD T))| - |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS (SLOT-CLASS T))| - |(FAST-METHOD LEGAL-LAMBDA-LIST-P (STANDARD-METHOD T))| - |(FAST-METHOD LEGAL-SLOT-NAME-P (STANDARD-METHOD T))| - |(FAST-METHOD PRINT-OBJECT (STANDARD-ACCESSOR-METHOD T))| - |(FAST-METHOD COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS :AROUND (STRUCTURE-CLASS T))| - |(FAST-METHOD ADD-DEPENDENT (DEPENDENT-UPDATE-MIXIN T))| - |(FAST-METHOD MAKE-BOUNDP-METHOD-FUNCTION (SLOT-CLASS T))| - |(FAST-METHOD LEGAL-DOCUMENTATION-P (STANDARD-METHOD T))| - |(FAST-METHOD LEGAL-SPECIALIZER-P (STANDARD-METHOD T))| - |(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD T))| - |(FAST-METHOD PRINT-OBJECT (GENERIC-FUNCTION T))| - |(FAST-METHOD PRINT-OBJECT (STANDARD-METHOD-COMBINATION T))| - |(FAST-METHOD DIRECT-SLOT-DEFINITION-CLASS (STD-CLASS T))| - |(FAST-METHOD LEGAL-METHOD-FUNCTION-P (STANDARD-METHOD T))| - |(FAST-METHOD REMOVE-WRITER-METHOD (SLOT-CLASS T))| - |(FAST-METHOD INFORM-TYPE-SYSTEM-ABOUT-CLASS (STRUCTURE-CLASS T))| - |(FAST-METHOD REMOVE-READER-METHOD (SLOT-CLASS T))| - |(FAST-METHOD MAKE-READER-METHOD-FUNCTION (FUNCALLABLE-STANDARD-CLASS T))| - LEGAL-SLOT-NAME-P |(READER OBJECT)| |(READER TYPE)| + LEGAL-SLOT-NAME-P |(READER TYPE)| |(READER OBJECT)| CLASS-WRAPPER |(READER PLIST)| - |(FAST-METHOD NO-APPLICABLE-METHOD (T))| - |(FAST-METHOD DOCUMENTATION (T))| |(FAST-METHOD CLASS-PREDICATE-NAME (T))| + |(FAST-METHOD DOCUMENTATION (T))| + |(FAST-METHOD NO-APPLICABLE-METHOD (T))| |(READER SLOTS)| |(WRITER NAME)| DEFINITION-SOURCE |PCL::SLOT-OBJECT class predicate| DEFAULT-INITARGS - |(WRITER CLASS)| CLASS-SLOT-VALUE |(WRITER OBJECT)| - |(WRITER TYPE)| + |(WRITER CLASS)| CLASS-SLOT-VALUE |(WRITER TYPE)| + |(WRITER OBJECT)| |(FAST-METHOD ENSURE-CLASS-USING-CLASS (T NULL))| |(WRITER PLIST)| |(WRITER SLOTS)| |PCL::DOCUMENTATION-MIXIN class predicate| @@ -1309,37 +1563,55 @@ LEGAL-QUALIFIER-P METHOD-P |PCL::SPECIALIZER-WITH-OBJECT class predicate| CLASS-SLOT-CELLS - |(COMBINED-METHOD REINITIALIZE-INSTANCE)| |(COMBINED-METHOD INITIALIZE-INSTANCE)| + |(COMBINED-METHOD REINITIALIZE-INSTANCE)| STANDARD-ACCESSOR-METHOD-P |(SETF CLASS-NAME)| - STANDARD-METHOD-P STANDARD-READER-METHOD-P - STANDARD-GENERIC-FUNCTION-P |(READER WRAPPER)| + STANDARD-GENERIC-FUNCTION-P STANDARD-READER-METHOD-P + STANDARD-METHOD-P |(READER WRAPPER)| |(READER DEFSTRUCT-ACCESSOR-SYMBOL)| |(READER CLASS-EQ-SPECIALIZER)| - COMPUTE-DEFAULT-INITARGS COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS - |(SETF CLASS-DEFSTRUCT-FORM)| + COMPUTE-DEFAULT-INITARGS |(SETF CLASS-DEFSTRUCT-FORM)| |(CALL REAL-MAKE-METHOD-LAMBDA)| |(SETF CLASS-INCOMPATIBLE-SUPERCLASS-LIST)| - |SETF PCL CLASS-SLOT-VALUE| |(SETF CLASS-DIRECT-SLOTS)| - |(SETF CLASS-SLOTS)| DO-STANDARD-DEFSETF-1 - |(READER OPERATOR)| |(CALL REAL-ADD-METHOD)| - |(CALL REAL-REMOVE-METHOD)| |(CALL REAL-GET-METHOD)| + |COMMON-LISP::NULL class predicate| + |COMMON-LISP::SYMBOL class predicate| + |COMMON-LISP::CHARACTER class predicate| + |COMMON-LISP::BIT-VECTOR class predicate| + |COMMON-LISP::STRING class predicate| + |COMMON-LISP::VECTOR class predicate| + |COMMON-LISP::ARRAY class predicate| + |COMMON-LISP::CONS class predicate| + |COMMON-LISP::LIST class predicate| + |COMMON-LISP::SEQUENCE class predicate| + |COMMON-LISP::RATIO class predicate| + |COMMON-LISP::INTEGER class predicate| + |COMMON-LISP::RATIONAL class predicate| + |COMMON-LISP::FLOAT class predicate| + |COMMON-LISP::COMPLEX class predicate| + |COMMON-LISP::NUMBER class predicate| + |COMMON-LISP::T class predicate| + |COMMON-LISP::STRUCTURE-OBJECT class predicate| + |COMMON-LISP::STANDARD-OBJECT class predicate| + |COMMON-LISP::BUILT-IN-CLASS class predicate| + |SETF PCL CLASS-SLOT-VALUE| |(SETF CLASS-SLOTS)| + |(SETF CLASS-DIRECT-SLOTS)| DO-STANDARD-DEFSETF-1 + |(READER OPERATOR)| |(CALL REAL-GET-METHOD)| + |(CALL REAL-REMOVE-METHOD)| |(CALL REAL-ADD-METHOD)| |(READER ARG-INFO)| METHOD-COMBINATION-TYPE |(READER DEFSTRUCT-CONSTRUCTOR)| |(INTERNAL-READER-METHOD STANDARD-GENERIC-FUNCTION ARG-INFO)| |(READER INITIALIZE-INFO)| |(WRITER WRAPPER)| - STANDARD-CLASS-P |LISP::NUMBER class predicate| - LEGAL-SPECIALIZER-P + STANDARD-CLASS-P LEGAL-SPECIALIZER-P |PCL::LONG-METHOD-COMBINATION class predicate| |(WRITER DEFSTRUCT-ACCESSOR-SYMBOL)| COMPUTE-SLOT-ACCESSOR-INFO |(READER INITARGS)| |(WRITER CLASS-EQ-SPECIALIZER)| STANDARD-BOUNDP-METHOD-P FDEFINE-CAREFULLY |(SETF DOCUMENTATION)| RAW-INSTANCE-ALLOCATOR - |SETF PCL CLASS-INITIALIZE-INFO| |SETF PCL SLOT-DEFINITION-DEFSTRUCT-ACCESSOR-SYMBOL| - |(WRITER OPERATOR)| |(WRITER ARG-INFO)| + |SETF PCL CLASS-INITIALIZE-INFO| |(WRITER OPERATOR)| + |(WRITER ARG-INFO)| COMPUTE-DISCRIMINATING-FUNCTION-ARGLIST-INFO STANDARD-WRITER-METHOD-P CLASS-INCOMPATIBLE-SUPERCLASS-LIST @@ -1349,78 +1621,77 @@ METHOD-COMBINATION-DOCUMENTATION |SETF PCL SLOT-DEFINITION-INITARGS| REMOVE-BOUNDP-METHOD ADD-NAMED-METHOD - |(WRITER INITARGS)| |SETF PCL CLASS-DEFSTRUCT-CONSTRUCTOR| - |LISP::CONS class predicate| |(BOUNDP METHOD)| - |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION NAME)| - |(FAST-WRITER-METHOD SLOT-OBJECT NAME)| - |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION DFUN-STATE)| - |(FAST-WRITER-METHOD SLOT-OBJECT DFUN-STATE)| - |(FAST-WRITER-METHOD SLOT-OBJECT SLOT-NAME)| - |(FAST-WRITER-METHOD SLOT-DEFINITION NAME)| - |(FAST-WRITER-METHOD CLASS NAME)| + |(WRITER INITARGS)| |(BOUNDP METHOD)| |(FAST-WRITER-METHOD SLOT-OBJECT PREDICATE-NAME)| + |(FAST-WRITER-METHOD CLASS NAME)| + |(FAST-WRITER-METHOD SLOT-DEFINITION NAME)| + |(FAST-WRITER-METHOD SLOT-OBJECT SLOT-NAME)| + |(FAST-WRITER-METHOD SLOT-OBJECT DFUN-STATE)| + |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION DFUN-STATE)| + |(FAST-WRITER-METHOD SLOT-OBJECT NAME)| + |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION NAME)| |(BOUNDP SOURCE)| |(SETF GF-DFUN-STATE)| SHORT-COMBINATION-OPERATOR - |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION METHOD-CLASS)| - |(FAST-WRITER-METHOD SLOT-OBJECT METHOD-CLASS)| - |(FAST-WRITER-METHOD SLOT-OBJECT ACCESSOR-FLAGS)| - |(FAST-WRITER-METHOD SLOT-DEFINITION CLASS)| |(FAST-WRITER-METHOD SLOT-OBJECT CLASS)| - |(FAST-WRITER-METHOD SLOT-OBJECT DOCUMENTATION)| - |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION METHOD-COMBINATION)| - |(FAST-WRITER-METHOD SLOT-OBJECT METHOD-COMBINATION)| - |(FAST-WRITER-METHOD SLOT-OBJECT SLOT-DEFINITION)| - |(FAST-WRITER-METHOD STANDARD-METHOD GENERIC-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT GENERIC-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT FAST-FUNCTION)| - |(FAST-WRITER-METHOD STANDARD-EFFECTIVE-SLOT-DEFINITION LOCATION)| - |(FAST-WRITER-METHOD SLOT-OBJECT LOCATION)| - |(FAST-WRITER-METHOD EFFECTIVE-SLOT-DEFINITION READER-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT READER-FUNCTION)| - |(FAST-WRITER-METHOD EFFECTIVE-SLOT-DEFINITION WRITER-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT WRITER-FUNCTION)| - |(FAST-WRITER-METHOD EFFECTIVE-SLOT-DEFINITION BOUNDP-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT BOUNDP-FUNCTION)| - |(FAST-WRITER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-READER-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT INTERNAL-READER-FUNCTION)| - |(FAST-WRITER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-WRITER-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT INTERNAL-WRITER-FUNCTION)| - |(FAST-WRITER-METHOD STANDARD-SLOT-DEFINITION ALLOCATION)| - |(FAST-WRITER-METHOD SLOT-OBJECT ALLOCATION)| - |(FAST-WRITER-METHOD SLOT-DEFINITION INITFUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT INITFUNCTION)| + |(FAST-WRITER-METHOD SLOT-DEFINITION CLASS)| + |(FAST-WRITER-METHOD SLOT-OBJECT ACCESSOR-FLAGS)| + |(FAST-WRITER-METHOD SLOT-OBJECT METHOD-CLASS)| + |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION METHOD-CLASS)| |(FAST-WRITER-METHOD TRACED-METHOD GENERIC-FUNCTION)| - |(FAST-WRITER-METHOD SLOT-OBJECT SPECIALIZERS)| - |(FAST-WRITER-METHOD SLOT-DEFINITION READERS)| - |(FAST-WRITER-METHOD SLOT-OBJECT READERS)| - |(FAST-WRITER-METHOD SLOT-DEFINITION WRITERS)| + |(FAST-WRITER-METHOD SLOT-OBJECT INITFUNCTION)| + |(FAST-WRITER-METHOD SLOT-DEFINITION INITFUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT ALLOCATION)| + |(FAST-WRITER-METHOD STANDARD-SLOT-DEFINITION ALLOCATION)| + |(FAST-WRITER-METHOD SLOT-OBJECT INTERNAL-WRITER-FUNCTION)| + |(FAST-WRITER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-WRITER-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT INTERNAL-READER-FUNCTION)| + |(FAST-WRITER-METHOD STRUCTURE-SLOT-DEFINITION INTERNAL-READER-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT BOUNDP-FUNCTION)| + |(FAST-WRITER-METHOD EFFECTIVE-SLOT-DEFINITION BOUNDP-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT WRITER-FUNCTION)| + |(FAST-WRITER-METHOD EFFECTIVE-SLOT-DEFINITION WRITER-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT READER-FUNCTION)| + |(FAST-WRITER-METHOD EFFECTIVE-SLOT-DEFINITION READER-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT LOCATION)| + |(FAST-WRITER-METHOD STANDARD-EFFECTIVE-SLOT-DEFINITION LOCATION)| + |(FAST-WRITER-METHOD SLOT-OBJECT FAST-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT GENERIC-FUNCTION)| + |(FAST-WRITER-METHOD STANDARD-METHOD GENERIC-FUNCTION)| + |(FAST-WRITER-METHOD SLOT-OBJECT SLOT-DEFINITION)| + |(FAST-WRITER-METHOD SLOT-OBJECT METHOD-COMBINATION)| + |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION METHOD-COMBINATION)| + |(FAST-WRITER-METHOD SLOT-OBJECT DOCUMENTATION)| |(FAST-WRITER-METHOD SLOT-OBJECT WRITERS)| - |(FAST-WRITER-METHOD SLOT-OBJECT OBJECT)| - |(FAST-WRITER-METHOD SLOT-OBJECT IDENTITY-WITH-ONE-ARGUMENT)| - |(FAST-WRITER-METHOD SLOT-OBJECT TYPE)| - |(FAST-WRITER-METHOD SLOT-DEFINITION TYPE)| + |(FAST-WRITER-METHOD SLOT-DEFINITION WRITERS)| + |(FAST-WRITER-METHOD SLOT-OBJECT READERS)| + |(FAST-WRITER-METHOD SLOT-DEFINITION READERS)| + |(FAST-WRITER-METHOD SLOT-OBJECT SPECIALIZERS)| |(FAST-WRITER-METHOD SLOT-OBJECT PROTOTYPE)| + |(FAST-WRITER-METHOD SLOT-DEFINITION TYPE)| + |(FAST-WRITER-METHOD SLOT-OBJECT TYPE)| + |(FAST-WRITER-METHOD SLOT-OBJECT IDENTITY-WITH-ONE-ARGUMENT)| + |(FAST-WRITER-METHOD SLOT-OBJECT OBJECT)| REMOVE-NAMED-METHOD - |(FAST-WRITER-METHOD SLOT-DEFINITION INITFORM)| - |(FAST-WRITER-METHOD SLOT-OBJECT INITFORM)| - |(FAST-WRITER-METHOD STRUCTURE-CLASS DEFSTRUCT-FORM)| |(FAST-WRITER-METHOD SLOT-OBJECT DEFSTRUCT-FORM)| - |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION PRETTY-ARGLIST)| - |(FAST-WRITER-METHOD SLOT-OBJECT PRETTY-ARGLIST)| - |(FAST-WRITER-METHOD SLOT-OBJECT LAMBDA-LIST)| - |(FAST-WRITER-METHOD SLOT-OBJECT CLASS-PRECEDENCE-LIST)| - |(FAST-WRITER-METHOD SLOT-OBJECT CAN-PRECEDE-LIST)| - |(FAST-WRITER-METHOD PCL-CLASS INCOMPATIBLE-SUPERCLASS-LIST)| - |(FAST-WRITER-METHOD SLOT-OBJECT INCOMPATIBLE-SUPERCLASS-LIST)| - |(FAST-WRITER-METHOD PLIST-MIXIN PLIST)| + |(FAST-WRITER-METHOD STRUCTURE-CLASS DEFSTRUCT-FORM)| + |(FAST-WRITER-METHOD SLOT-OBJECT INITFORM)| + |(FAST-WRITER-METHOD SLOT-DEFINITION INITFORM)| |(FAST-WRITER-METHOD SLOT-OBJECT PLIST)| + |(FAST-WRITER-METHOD PLIST-MIXIN PLIST)| + |(FAST-WRITER-METHOD SLOT-OBJECT INCOMPATIBLE-SUPERCLASS-LIST)| + |(FAST-WRITER-METHOD PCL-CLASS INCOMPATIBLE-SUPERCLASS-LIST)| + |(FAST-WRITER-METHOD SLOT-OBJECT CAN-PRECEDE-LIST)| + |(FAST-WRITER-METHOD SLOT-OBJECT CLASS-PRECEDENCE-LIST)| + |(FAST-WRITER-METHOD SLOT-OBJECT LAMBDA-LIST)| + |(FAST-WRITER-METHOD SLOT-OBJECT PRETTY-ARGLIST)| + |(FAST-WRITER-METHOD STANDARD-GENERIC-FUNCTION PRETTY-ARGLIST)| LEGAL-DOCUMENTATION-P CLASS-DIRECT-SUPERCLASSES CLASS-DIRECT-SUBCLASSES CLASS-DIRECT-DEFAULT-INITARGS SLOT-DEFINITION-READERS SLOT-VALUE-USING-CLASS - COMPUTE-APPLICABLE-METHODS CLASS-NAME CLASSP - CLASS-PROTOTYPE READER-METHOD-CLASS REMOVE-METHOD + COMPUTE-APPLICABLE-METHODS CLASS-NAME CLASS-PROTOTYPE + CLASSP READER-METHOD-CLASS REMOVE-METHOD SLOT-DEFINITION-INITFORM UPDATE-INSTANCE-FOR-REDEFINED-CLASS UPDATE-INSTANCE-FOR-DIFFERENT-CLASS CHANGE-CLASS @@ -1454,5 +1725,6 @@ ENSURE-CLASS-USING-CLASS NO-APPLICABLE-METHOD SLOT-DEFINITION-WRITERS COMPUTE-APPLICABLE-METHODS-USING-CLASSES - CLASS-PRECEDENCE-LIST)) + CLASS-PRECEDENCE-LIST DISASSEMBLE DESCRIBE-OBJECT + COMPILE)) (SETF (GET V 'SYSTEM::PROCLAIMED-CLOSURE) T)) --- gcl-2.6.12.orig/unixport/makefile +++ gcl-2.6.12/unixport/makefile @@ -69,42 +69,7 @@ $(LSPDIR)/auto_new.lsp: $(LSPDIR)/auto.l [ "$(RL_OBJS)" = "" ] || \ echo "(AUTOLOAD 'init-readline '|readline|)" >>$@ -init_gcl.lsp.tmp: init_gcl.lsp.in - cp $< $@ - -init_pre_gcl.lsp.tmp: init_pre_gcl.lsp.in - cp $< $@ - -init_mod_gcl.lsp.tmp: init_mod_gcl.lsp.in - cp $< $@ - -init_xgcl.lsp.tmp: init_gcl.lsp.tmp - ln -snf $< $@ - -init_pcl_gcl.lsp.tmp: init_pcl_gcl.lsp.in ../cmpnew/gcl_cmpmain.lsp \ - ../pcl/sys-package.lisp ../clcs/package.lisp \ - $(shell find ../clcs/ -name "clcs_*.lisp") - - awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} {if (i==0) print}' $< >$@ -# cat ../cmpnew/gcl_cmpmain.lsp >>$@ - cat ../pcl/sys-package.lisp >>$@ - awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} {if (i==1) print}' $< >>$@ - -init_ansi_gcl.lsp.tmp: init_ansi_gcl.lsp.in ../cmpnew/gcl_cmpmain.lsp \ - ../pcl/sys-package.lisp ../clcs/package.lisp - - awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} \ - /^ *@LI-CLCS-PACKAGE@/{i=2;next} {if (i==0) print}' $< >$@ -# cat ../cmpnew/gcl_cmpmain.lsp >>$@ - cat ../pcl/sys-package.lisp >>$@ - awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} \ - /^ *@LI-CLCS-PACKAGE@/{i=2;next} {if (i==1) print}' $< >>$@ - cat ../clcs/package.lisp >>$@ - awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} \ - /^ *@LI-CLCS-PACKAGE@/{i=2;next} {if (i==2) print}' $< >>$@ - - -init_%.lsp: init_%.lsp.tmp +sys_init.lsp: sys_init.lsp.in cat $< | sed \ -e "s#@LI-VERS@#(`cat ../majvers`.`cat ../minvers`) `date`#1" \ @@ -118,14 +83,14 @@ init_%.lsp: init_%.lsp.tmp -e "s#@LI-OPT-TWO@#\"$(O2FLAGS)\"#1" \ -e "s#@LI-INIT-LSP@#\"$@\"#1" >$@ -saved_%:raw_% $(RSYM) init_%.lsp raw_%_map msys \ +saved_%:raw_% $(RSYM) sys_init.lsp raw_%_map msys \ $(CMPDIR)/gcl_cmpmain.lsp \ $(CMPDIR)/gcl_lfun_list.lsp \ $(CMPDIR)/gcl_cmpopt.lsp $(HDIR)/cmpinclude.h \ $(LSPDIR)/gcl_auto_new.lsp - cp init_$*.lsp foo - echo " (in-package \"USER\")(system:save-system \"$@\")" >>foo + cp sys_init.lsp foo + echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"$@\"))" >>foo ar x lib$*.a $$(ar t lib$*.a |grep ^gcl_) $(PORTDIR)/raw_$*$(EXE) $(PORTDIR)/ -libdir $(GCLDIR)/ < foo # check that saved image can be prelinked @@ -194,7 +159,7 @@ map_%: clean: rm -rf saved_*$(EXE) raw_*$(EXE) *.o core a.out $(RSYM) \ $(LSPDIR)/auto_new.lsp foo *maxima* init_*.lsp lib*.a gmp* bfd* *.lsp.tmp \ - gazonk*.lsp plt*h *_map saved_* lib* raw_* msys out* log* tmp* gcl.script + gazonk*.lsp plt*h *_map saved_* lib* raw_* msys out* log* tmp* gcl.script sys_init.lsp .INTERMEDIATE: init_ansi_gcl.lsp.tmp init_gcl.lsp.tmp raw_gcl raw_ansi_gcl .PRECIOUS: init_pre_gcl.lsp init_gcl.lsp init_ansi_gcl.lsp --- gcl-2.6.12.orig/unixport/sys_ansi_gcl.c +++ gcl-2.6.12/unixport/sys_ansi_gcl.c @@ -7,6 +7,10 @@ void gcl_init_init() { + object features; + features=find_symbol(make_simple_string("*FEATURES*"),system_package); + features->s.s_dbind=make_cons(make_keyword("ANSI-CL"),make_cons(make_keyword("COMMON-LISP"),features->s.s_dbind)); + build_symbol_table(); lsp_init("../lsp/gcl_export.lsp"); @@ -86,7 +90,7 @@ gcl_init_system(object no_init) ar_check_init(gcl_cmpmain,no_init); #ifdef HAVE_XGCL - lsp_init("../xgcl-2/sysdef.lisp"); + lsp_init("../xgcl-2/package.lisp"); ar_check_init(gcl_Xlib,no_init); ar_check_init(gcl_Xutil,no_init); ar_check_init(gcl_X,no_init); --- gcl-2.6.12.orig/unixport/sys_gcl.c +++ gcl-2.6.12/unixport/sys_gcl.c @@ -83,7 +83,7 @@ gcl_init_system(object no_init) { ar_check_init(gcl_cmpmain,no_init); #ifdef HAVE_XGCL - lsp_init("../xgcl-2/sysdef.lisp"); + lsp_init("../xgcl-2/package.lisp"); ar_check_init(gcl_Xlib,no_init); ar_check_init(gcl_Xutil,no_init); ar_check_init(gcl_X,no_init); --- /dev/null +++ gcl-2.6.12/unixport/sys_init.lsp.in @@ -0,0 +1,82 @@ +(make-package :compiler :use '(:lisp :si)) +(make-package :sloop :use '(:lisp)) +(make-package :ansi-loop :use'(:lisp)) +(make-package :defpackage :use '(:lisp)) +(make-package :tk :use '(:lisp :sloop)) +(make-package :fpe :use '(:lisp)) +(make-package :cltl1-compat) + +(in-package :system) +(use-package :fpe) + +#+(or pcl ansi-cl)(load "../pcl/package.lisp") +#+ansi-cl(load "../clcs/package.lisp") + +(init-system) +(in-package :si) +(gbc t) + +(unless *link-array* + (setq *link-array* (make-array (ash 1 11) :element-type 'character :fill-pointer 0))) +(use-fast-links t) + +(let* ((x (append (pathname-directory *system-directory*) (list :parent))) + (lsp (append x (list "lsp"))) + (cmpnew (append x (list "cmpnew"))) + (h (append x (list "h"))) + (xgcl-2 (append x (list "xgcl-2"))) + (pcl (append x (list "pcl"))) + (clcs (append x (list "clcs"))) + (gtk (append x (list "gcl-tk")))) + (dolist (d (list lsp cmpnew #-pre-gcl xgcl-2 #+(or pcl ansi-cl) pcl #+ansi-cl clcs)) + (load (make-pathname :name "sys-proclaim" :type "lisp" :directory d))) + (load (make-pathname :name "tk-package" :type "lsp" :directory gtk)) + (load (make-pathname :name "gcl_lfun_list" :type "lsp" :directory cmpnew)) + (load (make-pathname :name "gcl_cmpopt" :type "lsp" :directory cmpnew)) + (load (make-pathname :name "gcl_auto_new" :type "lsp" :directory lsp)) + + (gbc t)) + +(setf (symbol-function 'clear-compiler-properties) + (symbol-function 'compiler::compiler-clear-compiler-properties)) + +(terpri) +(setq *inhibit-macro-special* t) +(gbc t) +(reset-gbc-count) + +(defun top-level nil (gcl-top-level)) + +(set-up-top-level) + +(setq *gcl-extra-version* @LI-EXTVERS@ + *gcl-minor-version* @LI-MINVERS@ + *gcl-major-version* @LI-MAJVERS@) + +(defvar *system-banner* (default-system-banner)) +(setq *optimize-maximum-pages* t) + +(fmakunbound 'init-cmp-anon) +(when (fboundp 'user-init) (user-init)) +(in-package :compiler) +(setq *cc* @LI-CC@ + *ld* @LI-LD@ + *ld-libs* @LI-LD-LIBS@ + *opt-three* @LI-OPT-THREE@ + *opt-two* @LI-OPT-TWO@ + *init-lsp* @LI-INIT-LSP@) + +(import 'si::(clines defentry defcfun object void int double + quit bye gbc system commonp + *break-on-warnings* + make-char char-bits char-font char-bit set-char-bit string-char-p int-char + char-font-limit char-bits-limit char-control-bit + char-meta-bit char-super-bit char-hyper-bit compiler-let) :cltl1-compat) +(deftype cltl1-compat::string-char nil 'character) +(do-symbols (s :cltl1-compat) (export s :cltl1-compat)) + +#-ansi-cl(use-package :cltl1-compat :lisp) +#-ansi-cl(do-symbols (s :cltl1-compat) (export s :lisp))) +(export '*load-pathname* :si);For maxima, at least as of 5.34.1 + +#+ansi-cl (use-package :pcl :user) --- gcl-2.6.12.orig/unixport/sys_pcl_gcl.c +++ gcl-2.6.12/unixport/sys_pcl_gcl.c @@ -7,6 +7,10 @@ void gcl_init_init() { + object features; + features=find_symbol(make_simple_string("*FEATURES*"),system_package); + features->s.s_dbind=make_cons(make_keyword("PCL"),features->s.s_dbind); + build_symbol_table(); lsp_init("../lsp/gcl_export.lsp"); @@ -86,7 +90,7 @@ gcl_init_system(object no_init) ar_check_init(gcl_cmpmain,no_init); #ifdef HAVE_XGCL - lsp_init("../xgcl-2/sysdef.lisp"); + lsp_init("../xgcl-2/package.lisp"); ar_check_init(gcl_Xlib,no_init); ar_check_init(gcl_Xutil,no_init); ar_check_init(gcl_X,no_init); --- gcl-2.6.12.orig/unixport/sys_pre_gcl.c +++ gcl-2.6.12/unixport/sys_pre_gcl.c @@ -4,6 +4,10 @@ void gcl_init_init() { + object features; + features=find_symbol(make_simple_string("*FEATURES*"),system_package); + features->s.s_dbind=make_cons(make_keyword("PRE-GCL"),features->s.s_dbind); + build_symbol_table(); lsp_init("../lsp/gcl_export.lsp"); @@ -80,6 +84,7 @@ gcl_init_system(object no_init) lsp_init("../cmpnew/gcl_cmpvar.lsp"); lsp_init("../cmpnew/gcl_cmpvs.lsp"); lsp_init("../cmpnew/gcl_cmpwt.lsp"); + lsp_init("../cmpnew/gcl_cmpmain.lsp"); } --- gcl-2.6.12.orig/xgcl-2/gcl_init_xgcl.lsp +++ gcl-2.6.12/xgcl-2/gcl_init_xgcl.lsp @@ -36,8 +36,8 @@ (progn (allocate 'cons 100) (allocate 'string 40) (system:init-system) (gbc t) (si::multiply-bignum-stack 25) - (or lisp::*link-array* - (setq lisp::*link-array* + (or si::*link-array* + (setq si::*link-array* (make-array 500 :element-type 'fixnum :fill-pointer 0))) (use-fast-links t) (setq compiler::*cmpinclude* "") (load #"../cmpnew/cmpmain.lsp") (gbc t) (load #"../cmpnew/lfun_list.lsp") --- gcl-2.6.12.orig/xgcl-2/makefile +++ gcl-2.6.12/xgcl-2/makefile @@ -4,10 +4,13 @@ all: objects #docs objects: $(LISP) - echo '(load "sysdef.lisp")(xlib::compile-xgcl)' | $(LISP) + echo '(load "sysdef.lisp")(load "sys-proclaim.lisp")(xlib::compile-xgcl)' | $(LISP) saved_xgcl: $(LISP) - echo '(load "sysdef.lisp")(xlib::compile-xgcl)(xlib::save-xgcl "$@")' | $(LISP) + echo '(load "sysdef.lisp")(load "sys-proclaim.lisp")(xlib::compile-xgcl)(xlib::save-xgcl "$@")' | $(LISP) + +sys-proclaim.lisp: + echo '(load "sysdef.lisp")(compiler::emit-fn t)(xlib::compile-xgcl)(compiler::make-all-proclaims "*.fn")' | $(LISP) docs: dwdoc/dwdoccontents.html dwdoc.pdf @@ -22,7 +25,7 @@ dwdoc.pdf: dwdoc.tex clean: rm -f *.o *.data saved_* cmpinclude.h dwdoc.aux dwdoc.log gmon.out - rm -f gcl*c gcl*h gcl*data gcl_xrecompile* user-init* + rm -f gcl*c gcl*h gcl*data gcl_xrecompile* user-init* *fn clean-docs: rm -rf dwdoc dwdoc.pdf --- /dev/null +++ gcl-2.6.12/xgcl-2/package.lisp @@ -0,0 +1 @@ +(make-package :XLIB :use '(:lisp :system)) --- /dev/null +++ gcl-2.6.12/xgcl-2/sys-proclaim.lisp @@ -0,0 +1,287 @@ + +(COMMON-LISP::IN-PACKAGE "COMMON-LISP-USER") +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::*) + XLIB::WINDOW-UNSET XLIB::WINDOW-GET-GEOMETRY + XLIB::WINDOW-SET-INVERT XLIB::WINDOW-FONT-INFO + XLIB::GET-ST-POINT XLIB::EDITMENU-YANK + XLIB::WINDOW-INIT-MOUSE-POLL XLIB::WINDOW-SET-XOR + XLIB::WINDOW-TOP-NEG-Y XLIB::WINDOW-LEFT + XLIB::WINDOW-QUERY-POINTER XLIB::TEXTMENU-DRAW + XLIB::EDITMENU-CARAT XLIB::EDITMENU-DRAW + XLIB::WINDOW-STD-LINE-ATTR XLIB::WINDOW-UNMAP + XLIB::WINDOW-QUERY-POINTER-B XLIB::WINDOW-BACKGROUND + XLIB::EDITMENU-DELETE XLIB::WINDOW-MOVE XLIB::DOWINDOWCOM + XLIB::WINDOW-SYNC XLIB::PICMENU-DRAW XLIB::WINDOW-MAP + XLIB::WINDOW-RESET-COLOR XLIB::EDITMENU-KILL + XLIB::BARMENU-DRAW XLIB::WINDOW-GET-GEOMETRY-B + XLIB::MENU-CLEAR XLIB::WINDOW-RESET XLIB::WINDOW-WFUNCTION + XLIB::MENU-DRAW XLIB::WINDOW-FOREGROUND XLIB::WINDOW-CLEAR + XLIB::EDITMENU-BACKSPACE XLIB::WINDOW-DRAW-BORDER + XLIB::LISP-STRING XLIB::WINDOW-SET-ERASE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::T) + XLIB::OPEN-WINDOW)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + XLIB::WINDOW-GET-ELLIPSE XLIB::EDITMENU-SELECT + XLIB::WINDOW-SET-XCOLOR XLIB::TEXTMENU-SELECT + XLIB::PICMENU-SELECT XLIB::MAKECONT XLIB::WINDOW-GET-CIRCLE + XLIB::MENU XLIB::WINDOW-GET-REGION XLIB::TEXTMENU-SET-TEXT + XLIB::MENU-SELECT XLIB::BARMENU-SELECT + XLIB::PICMENU-CREATE-FROM-SPEC XLIB::PRINTINDEX + XLIB::EDITMENU-EDIT XLIB::MENU-CREATE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + XLIB::BARMENU-UPDATE-VALUE XLIB::WINDOW-FONT-STRING-WIDTH + XLIB::MENU-FIND-ITEM-WIDTH XLIB::WINDOW-STRING-WIDTH + XLIB::PICMENU-BOX-ITEM XLIB::WINDOW-SET-FOREGROUND + XLIB::WINDOW-INVERTAREA XLIB::PICMENU-UNBOX-ITEM + XLIB::PICMENU-DRAW-NAMED-BUTTON XLIB::WINDOW-SET-CURSOR + XLIB::WINDOW-SET-LINE-WIDTH XLIB::PICMENU-DELETE-NAMED-BUTTON + XLIB::EDITMENU-ERASE XLIB::PICMENU-DRAW-BUTTON + XLIB::WINDOW-SET-BACKGROUND)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::*) + XLIB::XINIT XLIB::WINDOW-SCREEN-HEIGHT)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + (COMMON-LISP::VALUES COMMON-LISP::T COMMON-LISP::T)) + XLIB::WINDOW-CIRCLE-RADIUS)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + XLIB::WINDOW-XOR-BOX-XY XLIB::WINDOW-DRAW-BOX-CORNERS + XLIB::WINDOW-DRAW-LINE-XY XLIB::WINDOW-DRAW-ARROW2-XY + XLIB::WINDOW-DRAW-ARROW-XY XLIB::WINDOW-DRAW-ELLIPSE-XY + XLIB::WINDOW-ERASE-BOX-XY XLIB::WINDOW-DRAW-BOX-XY + XLIB::WINDOW-DRAW-ARROWHEAD-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::*) + XLIB::WINDOW-COPY-AREA-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + XLIB::WINDOW-PRETTYPRINTAT XLIB::MENU-UNBOX-ITEM + XLIB::WINDOW-PRINTAT XLIB::WINDOW-DRAW-CROSSHAIRS-XY + XLIB::WINDOW-MOVETO-XY XLIB::WINDOW-INVERT-AREA + XLIB::WINDOW-DRAW-DOT-XY XLIB::WINDOW-DRAW-CARAT + XLIB::WINDOW-ERASE-AREA XLIB::MENU-BOX-ITEM + XLIB::WINDOW-DRAW-CROSS-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + XLIB::WINDOW-DRAW-CIRCLE-XY XLIB::WINDOW-PRINT-LINE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T) + COMMON-LISP::*) + XLIB::WINDOW-PRETTYPRINTAT-XY XLIB::WINDOW-DRAW-CIRCLE-PT + XLIB::EDITMENU-DISPLAY XLIB::WINDOW-PRINTAT-XY + XLIB::WINDOW-PROCESS-CHAR-EVENT XLIB::MENU-DISPLAY-ITEM)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + XLIB::WINDOW-ADJ-BOX-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + XLIB::WINDOW-DRAW-ARC-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + XLIB::WINDOW-DRAW-ELLIPSE-PT XLIB::WINDOW-ERASE-AREA-XY + XLIB::WINDOW-INVERT-AREA-XY XLIB::WINDOW-DRAW-VECTOR-PT)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::*) + XLIB::WINDOW-DRAW-LINE XLIB::WINDOW-DRAW-BOX + XLIB::WINDOW-DRAW-CIRCLE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::*) + XLIB::WINDOW-DRAW-RCBOX-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + XLIB::WINDOW-DRAW-LATEX-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + XLIB::WINDOW-SET-LINE-ATTR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::*) + XLIB::WINDOW-DRAW-BOX-LINE-XY)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + XLIB::WINDOW-POSITIVE-Y XLIB::WINDOW-STRING-EXTENTS + XLIB::MENU-CHOOSE XLIB::WINDOW-SET-FONT XLIB::PUSHFONT + XLIB::WINDOW-STRING-HEIGHT XLIB::WORDLIST< + XLIB::EDITMENU-LINE-Y XLIB::MENU-ITEM-Y + XLIB::MENU-FIND-ITEM-HEIGHT XLIB::XFERCHARS + XLIB::WINDOW-CENTEROFFSET XLIB::MENU-FIND-ITEM-Y + XLIB::EDITMENU-CHAR XLIB::MENU-ITEM-VALUE + XLIB::MENU-FIND-ITEM)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::*) + XLIB::WINDOW-FREE-COLOR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::T) + XLIB::SEARCHFORALPHA XLIB::SAFE-CHAR XLIB::WINDOW-XINIT + XLIB::WINDOW-MENU XLIB::WINDOW-INIT-KEYMAP XLIB::PARSE-INT + XLIB::WINDOW-DESTROY-SELECTED-WINDOW + XLIB::WINDOW-GET-MOUSE-POSITION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION COMMON-LISP::NIL COMMON-LISP::FIXNUM) + XLIB::FLUSHLINE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + XLIB::PICMENU-BUTTON-CONTAINSXY? XLIB::MENU-MOVETO-XY + XLIB::WINDOW-GET-BOX-SIZE XLIB::PRINTINDEXN + XLIB::WINDOW-GET-LINE-POSITION + XLIB::PICMENU-SET-NAMED-BUTTON-COLOR XLIB::EDITMENU-SETXY + XLIB::MENU-SELECT-B XLIB::MENU-REPOSITION-LINE + XLIB::WINDOW-GET-VECTOR-END)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + XLIB::WINDOW-CREATE XLIB::WINDOW-TRACK-MOUSE + XLIB::PICMENU-ITEM-POSITION XLIB::WINDOW-GET-CHARS + XLIB::TEXTMENU-CREATE XLIB::EDITMENU-CREATE XLIB::TOHTML + XLIB::WINDOW-SET-COLOR XLIB::MENU-ITEM-POSITION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + XLIB::WINDOW-INPUT-STRING XLIB::PICMENU-CREATE-SPEC + XLIB::WINDOW-SET-COLOR-RGB XLIB::WINDOW-PRINT-LINES + XLIB::PICMENU-CREATE)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::*) + COMMON-LISP::T) + XLIB::WINDOW-GET-ICON-POSITION XLIB::BARMENU-CREATE + XLIB::WINDOW-GET-LATEX-POSITION XLIB::WINDOW-GET-BOX-POSITION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + XLIB::WINDOW-EDIT XLIB::WINDOW-TRACK-MOUSE-IN-REGION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T) + COMMON-LISP::T) + XLIB::WINDOW-ADJUST-BOX-SIDE XLIB::EDITMENU-EDIT-FN)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION + (COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::T COMMON-LISP::T + COMMON-LISP::T COMMON-LISP::*) + COMMON-LISP::T) + XLIB::WINDOW-GET-BOX-LINE-POSITION)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::T) COMMON-LISP::T) + XLIB::WINDOW-DESTROY XLIB::EDITMENU-CALCULATE-SIZE + XLIB::STRINGIFY XLIB::DOLINE XLIB::PUSHENV + XLIB::WINDOW-POLL-MOUSE XLIB::WINDOW-FONT XLIB::WINDOW-SIZE + XLIB::EDITMENU-END XLIB::WINDOW-PAINT XLIB::WINDOW-GEOMETRY + XLIB::MENU-DESTROY XLIB::WINDOW-LABEL + XLIB::PICMENU-CALCULATE-SIZE XLIB::POPENV XLIB::WINDOW-PARENT + XLIB::WINDOW-WAIT-UNMAP XLIB::EDITMENU-INIT + XLIB::WINDOW-GET-POINT XLIB::MENU-SELECT! + XLIB::MENU-CALCULATE-SIZE XLIB::BARMENU-INIT XLIB::DOCOMMAND + XLIB::MENU-INIT XLIB::WINDOW-OPEN XLIB::EDITMENU-META-B + XLIB::WINDOW-GET-RAW-CHAR XLIB::WINDOW-DRAWABLE-HEIGHT + XLIB::MENU-REPOSITION XLIB::WINDOW-YPOSITION + XLIB::EDITMENU-ALPHANUMBERICP XLIB::EDITMENU-NEXT + XLIB::MENU-SIZE XLIB::EDITMENU-PREVIOUS XLIB::EDITMENU-FORWARD + XLIB::EDITMENU-BEGINNING XLIB::PICMENU-DESTROY + XLIB::WINDOW-RESET-GEOMETRY XLIB::WINDOW-GCONTEXT + XLIB::EDITMENU-BACKWARD XLIB::TERMLINE + XLIB::WINDOW-DRAWABLE-WIDTH XLIB::WINDOW-GET-CROSSHAIRS + XLIB::BARMENU-CALCULATE-SIZE XLIB::WINDOW-CHAR-DECODE + XLIB::DOTABULAR XLIB::PICMENU-INIT XLIB::WINDOW-WAIT-EXPOSURE + XLIB::PARSE-WORD XLIB::TEXTMENU-INIT XLIB::SEARCHFOR + XLIB::MENU-OFFSET XLIB::MENU-ADJUST-OFFSET + XLIB::WINDOW-SET-COPY XLIB::TEXTMENU-CALCULATE-SIZE + XLIB::WINDOW-GET-CROSS XLIB::EDITMENU-META-F + XLIB::WINDOW-GET-CLICK XLIB::EDITMENU-CURRENT-CHAR + XLIB::DOHTML XLIB::WINDOW-CLOSE XLIB::EDITMENU-RETURN + XLIB::WINDOW-CODE-CHAR)) +(COMMON-LISP::PROCLAIM + '(COMMON-LISP::FTYPE + (COMMON-LISP::FUNCTION (COMMON-LISP::*) COMMON-LISP::*) + XLIB::WINDOW-FORCE-OUTPUT)) \ No newline at end of file --- gcl-2.6.12.orig/xgcl-2/sysdef.lisp +++ gcl-2.6.12/xgcl-2/sysdef.lisp @@ -19,9 +19,8 @@ ; Some of the files that interface to the Xlib are adapted from DEC/MIT files. ; See the file dec.copyright for details. -(make-package :XLIB) +(load "package.lisp") (in-package :XLIB) -(sys::use-package '(:lisp :system :sys)) (defvar *files* '( "gcl_Xlib" "gcl_Xutil"