Update of /cvsroot/sbcl/sbcl/src/compiler
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv22077/src/compiler
Modified Files:
aliencomp.lisp
Log Message:
1.0.3.16: experimental x86-64/darwin suport
* fix sb-posix time structs to match headers on darwin
* comment out mtime sb-posix test as this isn't working ATM
* add UD2A trap stuff to x86-64 and corresponding word-imm support
* remove bogus extern-alien-name in boxed_region fixups
* add compiler parameters for Darwin
* add x86-64 darwin config file
* some type safety fixes (proper types) in darwin-dlshim.c
* use setpgid on Darwin
* add signal context support x86-64/darwin
* report trap instead of si_code for trap_Error/trap_Cerror
* unsigned -> unsigned long in purify.c
* add mach exception handler support for x86-64/darwin
* x86-64 assembly hacks to make darwin's assembler happy
* update x86-64-bsd-os.c to suppot darwin and mach exceptions
* add x86-64-darwin-os.c/h
* update LDSO stubs for x86-64 darwin
Index: aliencomp.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/aliencomp.lisp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- aliencomp.lisp 2 Mar 2007 04:36:03 -0000 1.28
+++ aliencomp.lisp 3 Mar 2007 00:42:02 -0000 1.29
@@ -700,11 +700,11 @@
(error "Something is broken.")))
(lvar (node-lvar call))
(args args)
- #!+(or (and x86 darwin) win32) (stack-pointer (make-stack-pointer-tn)))
+ #!+(or (and (or x86 x86-64) darwin) win32) (stack-pointer (make-stack-pointer-tn)))
(multiple-value-bind (nsp stack-frame-size arg-tns result-tns)
(make-call-out-tns type)
#!+x86 (vop set-fpu-word-for-c call block)
- #!+(or (and x86 darwin) win32) (vop current-stack-pointer call block stack-pointer)
+ #!+(or (and (or x86 x86-64) darwin) win32) (vop current-stack-pointer call block stack-pointer)
(vop alloc-number-stack-space call block stack-frame-size nsp)
(dolist (tn arg-tns)
;; On PPC, TN might be a list. This is used to indicate
@@ -759,7 +759,7 @@
((lvar-tn call block function)
(reference-tn-list arg-tns nil))
((reference-tn-list result-tns t))))
- #!-(or (and darwin x86) win32) (vop dealloc-number-stack-space call block stack-frame-size)
- #!+(or (and darwin x86) win32) (vop reset-stack-pointer call block stack-pointer)
+ #!-(or (and darwin (or x86 x86-64)) win32) (vop dealloc-number-stack-space call block stack-frame-size)
+ #!+(or (and darwin (or x86 x86-64)) win32) (vop reset-stack-pointer call block stack-pointer)
#!+x86 (vop set-fpu-word-for-lisp call block)
(move-lvar-result call block result-tns lvar))))
|