Skip to content
Snippets Groups Projects
Commit 66df5db5 authored by ram's avatar ram
Browse files

New structure hacks. named-types become built-in-classes. structure

becoms instances.
parent 89bdca7a
No related branches found
No related tags found
No related merge requests found
...@@ -7,12 +7,10 @@ ...@@ -7,12 +7,10 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/primtype.lisp,v 1.8 1992/12/05 22:11:35 wlott Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/primtype.lisp,v 1.8.1.1 1993/02/08 22:18:11 ram Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/primtype.lisp,v 1.8 1992/12/05 22:11:35 wlott Exp $
;;;
;;; This file contains the machine independent aspects of the object ;;; This file contains the machine independent aspects of the object
;;; representation and primitive types. ;;; representation and primitive types.
;;; ;;;
...@@ -60,7 +58,7 @@ ...@@ -60,7 +58,7 @@
;;; ;;;
(def-primitive-type function (descriptor-reg)) (def-primitive-type function (descriptor-reg))
(def-primitive-type list (descriptor-reg)) (def-primitive-type list (descriptor-reg))
(def-primitive-type structure (descriptor-reg)) (def-primitive-type instance (descriptor-reg))
;;; Primitive other-pointer number types. ;;; Primitive other-pointer number types.
;;; ;;;
...@@ -241,27 +239,26 @@ ...@@ -241,27 +239,26 @@
(unless (eq (primitive-type-of mem) res) (unless (eq (primitive-type-of mem) res)
(return (values *any-primitive-type* nil)))))) (return (values *any-primitive-type* nil))))))
(named-type (named-type
(case (named-type-name type) (ecase (named-type-name type)
((t bignum ratio complex function structure ((t *) (values *any-primitive-type* t))
system-area-pointer weak-pointer) ((nil) (values *any-primitive-type* nil))))
(values (primitive-type-or-lose (named-type-name type) *backend*) t)) (built-in-class
((character base-char string-char) (ecase (class-name type)
((complex function generic-function instance
system-area-pointer weak-pointer)
(values (primitive-type-or-lose (class-name type) *backend*) t))
(character
(exactly base-char)) (exactly base-char))
(standard-char
(part-of base-char))
(cons (cons
(part-of list)) (part-of list))
((dylan::dylan-function dylan::generic-function dylan::exit-function (symbol
dylan::next-method-func dylan::method dylan::defined-method
dylan::builtin-method dylan::slot-accessor-method
dylan::slot-setter-method dylan::slot-getter-method)
(part-of function))
(t
(any)))) (any))))
(function-type (function-type
(exactly function)) (exactly function))
(structure-type (class
(part-of structure)) (if (csubtypep type (specifier-type 'function))
(part-of function)
(part-of instance)))
(ctype (ctype
(any))))) (any)))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment