[movitz-cvs] CVS update: movitz/losp/muerte/primitive-functions.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Tue Jul 20 23:51:20 UTC 2004


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 at 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.





More information about the Movitz-cvs mailing list