[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2012-09-4-g3832e02

Raymond Toy rtoy at common-lisp.net
Wed Sep 26 04:10:53 UTC 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".

The branch, master has been updated
       via  3832e020b43c1270e0710097381fb718271e61bf (commit)
      from  eb7aef5b50c77b2ada5ec883b446b18e18348012 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3832e020b43c1270e0710097381fb718271e61bf
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Tue Sep 25 21:09:46 2012 -0700

    Fix ticket:63.

diff --git a/src/compiler/x86/system.lisp b/src/compiler/x86/system.lisp
index edd4aad..bb32332 100644
--- a/src/compiler/x86/system.lisp
+++ b/src/compiler/x86/system.lisp
@@ -1,4 +1,4 @@
-;;; -*- Mode: LISP; Syntax: Common-Lisp; Base: 10; Package: x86 -*-
+4;;; -*- Mode: LISP; Syntax: Common-Lisp; Base: 10; Package: x86 -*-
 ;;;
 ;;; **********************************************************************
 ;;; This code was written as part of the CMU Common Lisp project at
@@ -598,11 +598,21 @@
   (:result-types unsigned-num unsigned-num)
   (:temporary (:sc unsigned-reg :offset eax-offset :target lo) eax)
   (:temporary (:sc unsigned-reg :offset edx-offset :target hi) edx)
+  ;; CPUID writes to eax, ebx, ecx, and edx.  We need temporaries for
+  ;; ebx and ecx so we don't destroy any live uses of ebx and ecx.
+  (:temporary (:sc unsigned-reg :offset ebx-offset
+		   :from (:eval 0) :to (:result 1))
+	      ebx)
+  (:temporary (:sc unsigned-reg :offset ecx-offset
+		   :from (:eval 0) :to (:result 2))
+	      ecx)
+  (:ignore ebx ecx)
   (:generator 1
-     (inst cpuid)
-     (inst rdtsc)
-     (move hi edx)
-     (move lo eax)))
+    (inst mov eax 0)
+    (inst cpuid)
+    (inst rdtsc)
+    (move hi edx)
+    (move lo eax)))
 
 #+pentium
 (defun read-cycle-counter ()

-----------------------------------------------------------------------

Summary of changes:
 src/compiler/x86/system.lisp |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
CMU Common Lisp




More information about the cmucl-cvs mailing list