Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv26465
Modified Files: primitive-functions.lisp Log Message: Moved some macros to new files and changed the order files are loaded/compiled. The idea is to not compile function-calls before compiler-macros are defined, etc.
Date: Tue Jul 20 16:51:19 2004 Author: ffjeld
Index: movitz/losp/muerte/primitive-functions.lisp diff -u movitz/losp/muerte/primitive-functions.lisp:1.32 movitz/losp/muerte/primitive-functions.lisp:1.33 --- movitz/losp/muerte/primitive-functions.lisp:1.32 Tue Jul 20 06:00:00 2004 +++ movitz/losp/muerte/primitive-functions.lisp Tue Jul 20 16:51:19 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Tue Oct 2 21:02:18 2001 ;;;; -;;;; $Id: primitive-functions.lisp,v 1.32 2004/07/20 13:00:00 ffjeld Exp $ +;;;; $Id: primitive-functions.lisp,v 1.33 2004/07/20 23:51:19 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -19,13 +19,6 @@
(in-package muerte)
-(defmacro define-primitive-function (function-name lambda-list docstring &body body) - (declare (ignore lambda-list)) - (assert (stringp docstring) (docstring) - "Mandatory docstring for define-primitive-function.") - `(make-primitive-function ,function-name ,docstring - ,(cons 'cl:progn body))) - (define-primitive-function trampoline-funcall%1op () "Call a function with 1 argument" (with-inline-assembly (:returns :nothing) @@ -470,23 +463,13 @@ (:leal (:eax :ecx 6) :eax) (:ret)))
-(define-compiler-macro malloc-pointer-words (words) - `(with-inline-assembly (:returns :eax :type pointer) - (:compile-form (:result-mode :eax) ,words) - (:call-local-pf malloc-pointer-words))) - (defun malloc-pointer-words (words) (check-type words (integer 2 *)) - (malloc-pointer-words words)) - -(define-compiler-macro malloc-non-pointer-words (words) - `(with-inline-assembly (:returns :eax :type pointer) - (:compile-form (:result-mode :eax) ,words) - (:call-local-pf malloc-non-pointer-words))) + (compiler-macro-call malloc-pointer-words words))
(defun malloc-non-pointer-words (words) (check-type words (integer 2 *)) - (malloc-non-pointer-words words)) + (compiler-macro-call malloc-non-pointer-words words))
(define-primitive-function muerte::get-cons-pointer () "Return in EAX the next object location with space for EAX words, with tag 6.