From cmucl-devel at common-lisp.net Mon Sep 3 21:31:38 2012 From: cmucl-devel at common-lisp.net (cmucl) Date: Mon, 03 Sep 2012 21:31:38 -0000 Subject: [cmucl-ticket] [cmucl] #56: Heap overflow checking fails on darwin/x86 In-Reply-To: <052.c393f2728e9de6709a4bbc68be096767@common-lisp.net> References: <052.c393f2728e9de6709a4bbc68be096767@common-lisp.net> Message-ID: <061.01922c1bf6fc8e6e50cae79cb8e256d3@common-lisp.net> #56: Heap overflow checking fails on darwin/x86 -------------------------+-------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: Core | Version: 2012-01 Resolution: worksforme | Keywords: -------------------------+-------------------------------------------------- Changes (by rtoy): * status: new => closed * resolution: => worksforme Comment: Not sure what's changed, but this works now on the 2012-08 snapshot. Closing (worksforme) for now. -- Ticket URL: cmucl Cmucl is a high-performance, free Common Lisp implementation. From cmucl-devel at common-lisp.net Tue Sep 4 02:50:03 2012 From: cmucl-devel at common-lisp.net (cmucl) Date: Tue, 04 Sep 2012 02:50:03 -0000 Subject: [cmucl-ticket] [cmucl] #62: mk:defsystem no longer loads correctly Message-ID: <052.3ce5e0bcf97fd9ccd07c022d6c819c66@common-lisp.net> #62: mk:defsystem no longer loads correctly --------------------+------------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2012-06 Keywords: | --------------------+------------------------------------------------------- {{{(require 'defsystem)}}} causes errors on loading. This is very likely related to the changes to {{{EXPORT}}} and friends which were treated specially by the compiler but should not have been. Snapshot 2012-05 works but 2012-06 does not. -- Ticket URL: cmucl Cmucl is a high-performance, free Common Lisp implementation. From cmucl-devel at common-lisp.net Tue Sep 4 03:49:59 2012 From: cmucl-devel at common-lisp.net (cmucl) Date: Tue, 04 Sep 2012 03:49:59 -0000 Subject: [cmucl-ticket] [cmucl] #62: mk:defsystem no longer loads correctly In-Reply-To: <052.3ce5e0bcf97fd9ccd07c022d6c819c66@common-lisp.net> References: <052.3ce5e0bcf97fd9ccd07c022d6c819c66@common-lisp.net> Message-ID: <061.f12fbb323d3930d93f9f2047c67ef63b@common-lisp.net> #62: mk:defsystem no longer loads correctly ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: Core | Version: 2012-06 Resolution: fixed | Keywords: ---------------------+------------------------------------------------------ Changes (by toy.raymond@?): * status: new => closed * resolution: => fixed Comment: commit 1a44615f74ceea56690f10c70bf00ccb8d5413f2 Author: Raymond Toy Date: Mon Sep 3 20:49:31 2012 -0700 Fix ticket:62: Needed an IN-PACKAGE. -- Ticket URL: cmucl Cmucl is a high-performance, free Common Lisp implementation. From cmucl-devel at common-lisp.net Wed Sep 26 04:06:57 2012 From: cmucl-devel at common-lisp.net (cmucl) Date: Wed, 26 Sep 2012 04:06:57 -0000 Subject: [cmucl-ticket] [cmucl] #63: {{{VM::READ-CYCLE-COUNTER}}} destroys live values in ebx and ecx Message-ID: <052.d5cf1cbac3072b7784cfae0df796c3b3@common-lisp.net> #63: {{{VM::READ-CYCLE-COUNTER}}} destroys live values in ebx and ecx --------------------+------------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2012-09 Keywords: | --------------------+------------------------------------------------------- Consider the following code: {{{ (eval-when (:compile-toplevel :execute) (defmacro with-cycle-counter (&body body) (let ((hi0 (gensym)) (hi1 (gensym)) (lo0 (gensym)) (lo1 (gensym))) `(multiple-value-bind (,lo0 ,hi0) (vm::read-cycle-counter) (values (locally , at body) (multiple-value-bind (,lo1 ,hi1) (vm::read-cycle-counter) (+ (ash (- ,hi1 ,hi0) 32) (- ,lo1 ,lo0))))))) ) (defun bar (x) (declare (type (and fixnum unsigned-byte) x) (optimize speed (safety 0))) (with-cycle-counter (let ((sum 0d0)) (declare (double-float sum)) (dotimes (k x) (declare (type (and fixnum unsigned-byte) k)) (incf sum k)) sum))) }}} When compiled, you get funny results like {{{ * (bar 1000000) 0.0d0 408 }}} This happens because {{{READ-CYCLE-COUNTER}}} uses the {{{CPUID}}} instruction that writes values to the eax, ebx, ecx, and edx registers, but the VOP for {{{READ-CYCLE-COUNTER}}} doesn't know that ebx and ecx are written. Thus the vop can cause any live values in the ebx and ecx registers to be destroyed, as happens in this example. -- Ticket URL: cmucl Cmucl is a high-performance, free Common Lisp implementation. From cmucl-devel at common-lisp.net Wed Sep 26 04:08:16 2012 From: cmucl-devel at common-lisp.net (cmucl) Date: Wed, 26 Sep 2012 04:08:16 -0000 Subject: [cmucl-ticket] [cmucl] #63: VM::READ-CYCLE-COUNTER destroys live values in ebx and ecx registers (was: {{{VM::READ-CYCLE-COUNTER}}} destroys live values in ebx and ecx) In-Reply-To: <052.d5cf1cbac3072b7784cfae0df796c3b3@common-lisp.net> References: <052.d5cf1cbac3072b7784cfae0df796c3b3@common-lisp.net> Message-ID: <061.c5ea8094edb3f92cd44551a916d1944d@common-lisp.net> #63: VM::READ-CYCLE-COUNTER destroys live values in ebx and ecx registers --------------------+------------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2012-09 Keywords: | --------------------+------------------------------------------------------- Comment(by rtoy): Clean up summary line. -- Ticket URL: cmucl Cmucl is a high-performance, free Common Lisp implementation. From cmucl-devel at common-lisp.net Wed Sep 26 04:10:53 2012 From: cmucl-devel at common-lisp.net (cmucl) Date: Wed, 26 Sep 2012 04:10:53 -0000 Subject: [cmucl-ticket] [cmucl] #63: VM::READ-CYCLE-COUNTER destroys live values in ebx and ecx registers In-Reply-To: <052.d5cf1cbac3072b7784cfae0df796c3b3@common-lisp.net> References: <052.d5cf1cbac3072b7784cfae0df796c3b3@common-lisp.net> Message-ID: <061.6f294b36ef017f741032c40faf985401@common-lisp.net> #63: VM::READ-CYCLE-COUNTER destroys live values in ebx and ecx registers ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: Core | Version: 2012-09 Resolution: fixed | Keywords: ---------------------+------------------------------------------------------ Changes (by toy.raymond@?): * status: new => closed * resolution: => fixed Comment: commit 3832e020b43c1270e0710097381fb718271e61bf Author: Raymond Toy Date: Tue Sep 25 21:09:46 2012 -0700 Fix ticket:63. -- Ticket URL: cmucl Cmucl is a high-performance, free Common Lisp implementation.