Skip to content

Commit

Permalink
Fix genesis regression due to rev. 68f1ca0
Browse files Browse the repository at this point in the history
  • Loading branch information
snuglas committed May 5, 2018
1 parent a4ad645 commit 155a688
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
4 changes: 2 additions & 2 deletions src/assembly/x86-64/tramps.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
())) ; result

(define-assembly-routine
(#!+immobile-code undefined-tramp-fdefn
(#!+immobile-code undefined-fdefn
#!-immobile-code undefined-tramp
(:return-style :none)
#!+immobile-code
Expand Down Expand Up @@ -108,7 +108,7 @@
;; supposed to return with the address from which this alien call was made
;; (a PC within that same function) since C convention does not arrange
;; for RBP to hold the new frame pointer prior to making a call.
;; This wouldn't matter much because the only restart availableis to throw
;; This wouldn't matter much because the only restart available is to throw
;; to toplevel, so a lost frame is not hugely important, but it's annoying.
(error-call nil 'undefined-alien-fun-error rbx-tn))

Expand Down
6 changes: 4 additions & 2 deletions src/compiler/generic/genesis.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -1827,8 +1827,10 @@ core and return a descriptor to it."
(unless leave-fn-raw
(write-wordindexed fdefn sb!vm:fdefn-fun-slot *nil-descriptor*)
(let ((tramp
(or (lookup-assembler-reference 'sb!vm::undefined-tramp
:direct core-file-name)
(or (lookup-assembler-reference
#!+(and x86-64 immobile-code) 'sb!vm::undefined-fdefn
#!-(and x86-64 immobile-code) 'sb!vm::undefined-tramp
:direct core-file-name)
;; Our preload for the tramps doesn't happen during host-1,
;; so substitute a usable value.
0)))
Expand Down
2 changes: 1 addition & 1 deletion src/compiler/x86-64/cell.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@
#!+immobile-code (:temporary (:sc unsigned-reg) temp)
(:generator 38
#!+immobile-code
(let ((tramp (make-fixup 'undefined-tramp-fdefn :assembly-routine)))
(let ((tramp (make-fixup 'undefined-fdefn :assembly-routine)))
(if (sb!c::code-immobile-p vop)
(inst lea temp (make-ea :qword :base rip-tn :disp tramp))
(inst mov temp tramp))
Expand Down

0 comments on commit 155a688

Please sign in to comment.