Skip to content
Snippets Groups Projects
Commit 5edcfc7e authored by dtc's avatar dtc
Browse files

Fix two cases where one assembly routine was simple dropping through

to another.
parent ec2834d9
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/x86/array.lisp,v 1.5 1997/11/19 02:57:17 dtc Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/x86/array.lisp,v 1.6 1997/12/05 06:53:13 dtc Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -61,10 +61,7 @@
(:temp eax dword-reg eax-offset))
(declare (ignore result esi ecx eax))
(loadw length string vector-length-slot other-pointer-type)
;; zzzzz this appears to be busted
;; (inst jmp nil (make-fixup 'sxhash-simple-substring :assembly-routine))
;; just fall through???
)
(inst jmp (make-fixup 'sxhash-simple-substring :assembly-routine)))
(define-assembly-routine (sxhash-simple-substring
(:translate %sxhash-simple-substring)
......@@ -79,10 +76,9 @@
(:temp ecx dword-reg ecx-offset)
(:temp eax dword-reg eax-offset))
;; Compute a pointer to where we are going to be extracting the bits.
(inst lea esi
(make-ea :byte :base string
:disp (- (* vector-data-offset word-bytes)
other-pointer-type)))
(inst lea esi (make-ea :byte :base string
:disp (- (* vector-data-offset word-bytes)
other-pointer-type)))
;; Initialize the result.
(inst xor result result)
;; Get the count. If it's zero, blow out.
......
......@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/x86/assem-rtns.lisp,v 1.3 1997/11/21 12:26:48 dtc Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/x86/assem-rtns.lisp,v 1.4 1997/12/05 06:53:14 dtc Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -196,10 +196,9 @@
(pushw ebp-tn -2)
;; And away we go.
(inst jmp
(make-ea :byte :base eax :disp (- (* closure-function-slot word-bytes)
function-pointer-type)))
)
(inst jmp (make-ea :byte :base eax
:disp (- (* closure-function-slot word-bytes)
function-pointer-type))))
......@@ -227,13 +226,9 @@
(inst jmp loop)
EXIT
;; hear eax points to catch block containing symbol pointed to by edx
;; (inst jmp-near (make-fixup 'unwind :assembly-routine)) -- jrd
;;
;; fall into unwind
)
;; Hear EAX points to catch block containing symbol pointed to by EDX.
(inst jmp (make-fixup 'unwind :assembly-routine)))
;;;; Non-local exit noise.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment