[movitz-cvs] CVS update: movitz/losp/muerte/more-macros.lisp

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


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv24960

Modified Files:
	more-macros.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:15 2004
Author: ffjeld

Index: movitz/losp/muerte/more-macros.lisp
diff -u movitz/losp/muerte/more-macros.lisp:1.15 movitz/losp/muerte/more-macros.lisp:1.16
--- movitz/losp/muerte/more-macros.lisp:1.15	Tue Jul 20 01:54:34 2004
+++ movitz/losp/muerte/more-macros.lisp	Tue Jul 20 16:51:15 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Fri Jun  7 15:05:57 2002
 ;;;;                
-;;;; $Id: more-macros.lisp,v 1.15 2004/07/20 08:54:34 ffjeld Exp $
+;;;; $Id: more-macros.lisp,v 1.16 2004/07/20 23:51:15 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -339,6 +339,27 @@
 	(movitz::lu32
 	 `(with-inline-assembly (:returns :untagged-fixnum-ecx)
 	    (:locally (:movl (:edi (:edi-offset ,slot-name)) :ecx))))))))
+
+(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)))
+
+(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)))
+
+(define-compiler-macro read-time-stamp-counter ()
+  `(with-inline-assembly-case ()
+     (do-case (:register :same)
+       (:std)
+       (:rdtsc)
+       (:movl :edi :edx)
+       (:leal ((:eax ,movitz:+movitz-fixnum-factor+)) (:result-register))
+       (:cld))
+     (do-case (t :multiple-values)
+       (:compile-form (:result-mode :multiple-values) (no-macro-call read-time-stamp-counter)))))
 
 ;;; Some macros that aren't implemented, and we want to give compiler errors.
 





More information about the Movitz-cvs mailing list