[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