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(a)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.