The branch "master" has been updated in SBCL:
via c86681a2f572eb2181c0dd6d2e0b0d4486df1dff (commit)
from ae9741f992d37df9b5b05ddf79260ae29e9ebab9 (commit)
- Log -----------------------------------------------------------------
commit c86681a2f572eb2181c0dd6d2e0b0d4486df1dff
Author: Alastair Bridgewater <nyef@...>
Date: Tue Oct 25 18:39:29 2011 -0400
threads: Thread objects don't need a lowtag.
* It was a cute hack, in a way, to force the existing genesis
machinery to produce assembler symbols for thread structure slots.
But it's still a hack, and needs to die. And now it can.
---
src/compiler/generic/objdef.lisp | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/src/compiler/generic/objdef.lisp b/src/compiler/generic/objdef.lisp
index ccad11b..79c9051 100644
--- a/src/compiler/generic/objdef.lisp
+++ b/src/compiler/generic/objdef.lisp
@@ -376,9 +376,7 @@
;;; in c-land. However, we need sight of so many parts of it from Lisp that
;;; it makes sense to define it here anyway, so that the GENESIS machinery
;;; can take care of maintaining Lisp and C versions.
-;;; Hence the even-fixnum lowtag just so we don't get odd(sic) numbers
-;;; added to the slot offsets
-(define-primitive-object (thread :lowtag even-fixnum-lowtag)
+(define-primitive-object (thread)
;; no_tls_value_marker is borrowed very briefly at thread startup to
;; pass the address of initial-function into new_thread_trampoline.
;; tls[0] = NO_TLS_VALUE_MARKER_WIDETAG because a the tls index slot
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL
|