From 59b43f6ac2fb359fdf5597c0c3e2151ed7994d22 Mon Sep 17 00:00:00 2001 From: cwang <cwang> Date: Tue, 6 Jul 2004 20:18:42 +0000 Subject: [PATCH] Make allocation work for all 16 registers --- compiler/amd64/macros.lisp | 44 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/compiler/amd64/macros.lisp b/compiler/amd64/macros.lisp index a5376e9ae..53235f59e 100644 --- a/compiler/amd64/macros.lisp +++ b/compiler/amd64/macros.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/macros.lisp,v 1.2 2004/06/10 01:39:53 cwang Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/macros.lisp,v 1.3 2004/07/06 20:18:42 cwang Exp $") ;;; ;;; ********************************************************************** ;;; @@ -190,7 +190,15 @@ (#.rdx-offset "alloc_overflow_rdx") (#.rbx-offset "alloc_overflow_rbx") (#.rsi-offset "alloc_overflow_rsi") - (#.rdi-offset "alloc_overflow_rdi"))) + (#.rdi-offset "alloc_overflow_rdi") + (#.r8-offset "alloc_overflow_r8") + (#.r9-offset "alloc_overflow_r9") + (#.r10-offset "alloc_overflow_r10") + (#.r11-offset "alloc_overflow_r11") + (#.r12-offset "alloc_overflow_r12") + (#.r13-offset "alloc_overflow_r13") + (#.r14-offset "alloc_overflow_r14") + (#.r15-offset "alloc_overflow_r15"))) :foreign)) (inst call temp-tn) (emit-label ok) @@ -226,6 +234,38 @@ (#.rdi-offset (load-size alloc-tn rdi-tn size) (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_rdi") + :foreign))) + (#.r8-offset + (load-size alloc-tn r8-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r8") + :foreign))) + (#.r9-offset + (load-size alloc-tn r9-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r9") + :foreign))) + (#.r10-offset + (load-size alloc-tn r10-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r10") + :foreign))) + (#.r11-offset + (load-size alloc-tn r11-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r11") + :foreign))) + (#.r12-offset + (load-size alloc-tn r12-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r12") + :foreign))) + (#.r13-offset + (load-size alloc-tn r13-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r13") + :foreign))) + (#.r14-offset + (load-size alloc-tn r14-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r14") + :foreign))) + (#.r15-offset + (load-size alloc-tn r15-tn size) + (inst mov-imm temp-tn (make-fixup (extern-alien-name "alloc_to_r15") :foreign)))) (inst call temp-tn) (values)) -- GitLab