projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix "unable to read" compiler-error reporting during SBCL build
[sbcl.git]
/
src
/
compiler
/
ppc
/
static-fn.lisp
diff --git
a/src/compiler/ppc/static-fn.lisp
b/src/compiler/ppc/static-fn.lisp
index
2842087
..
2e8bf7b
100644
(file)
--- a/
src/compiler/ppc/static-fn.lisp
+++ b/
src/compiler/ppc/static-fn.lisp
@@
-19,6
+19,8
@@
(:temporary (:scs (non-descriptor-reg)) temp)
(:temporary (:scs (descriptor-reg)) move-temp)
(:temporary (:sc descriptor-reg :offset lra-offset) lra)
(:temporary (:scs (non-descriptor-reg)) temp)
(:temporary (:scs (descriptor-reg)) move-temp)
(:temporary (:sc descriptor-reg :offset lra-offset) lra)
+ (:temporary (:sc descriptor-reg :offset fdefn-offset) fdefn)
+ (:temporary (:scs (descriptor-reg)) function)
(:temporary (:sc interior-reg :offset lip-offset) entry-point)
(:temporary (:sc any-reg :offset nargs-offset) nargs)
(:temporary (:sc any-reg :offset ocfp-offset) old-fp)
(:temporary (:sc interior-reg :offset lip-offset) entry-point)
(:temporary (:sc any-reg :offset nargs-offset) nargs)
(:temporary (:sc any-reg :offset ocfp-offset) old-fp)
@@
-78,7
+80,9
@@
(let ((lra-label (gen-label))
(cur-nfp (current-nfp-tn vop)))
,@(moves (temp-names) (arg-names))
(let ((lra-label (gen-label))
(cur-nfp (current-nfp-tn vop)))
,@(moves (temp-names) (arg-names))
- (inst lwz entry-point null-tn (static-fun-offset symbol))
+ (inst addi fdefn null-tn (static-fdefn-offset symbol))
+ (loadw function fdefn fdefn-fun-slot other-pointer-lowtag)
+ (loadw entry-point fdefn fdefn-raw-addr-slot other-pointer-lowtag)
(inst lr nargs (fixnumize ,num-args))
(when cur-nfp
(store-stack-tn nfp-save cur-nfp))
(inst lr nargs (fixnumize ,num-args))
(when cur-nfp
(store-stack-tn nfp-save cur-nfp))