projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
git: New file doc/internals/.gitignore.
[sbcl.git]
/
src
/
compiler
/
x86-64
/
subprim.lisp
diff --git
a/src/compiler/x86-64/subprim.lisp
b/src/compiler/x86-64/subprim.lisp
index
1f44f03
..
2079764
100644
(file)
--- a/
src/compiler/x86-64/subprim.lisp
+++ b/
src/compiler/x86-64/subprim.lisp
@@
-18,7
+18,7
@@
(:translate length)
(:args (object :scs (descriptor-reg control-stack) :target ptr))
(:arg-types list)
(:translate length)
(:args (object :scs (descriptor-reg control-stack) :target ptr))
(:arg-types list)
- (:temporary (:sc unsigned-reg :offset eax-offset) eax)
+ (:temporary (:sc dword-reg :offset eax-offset) eax)
(:temporary (:sc descriptor-reg :from (:argument 0)) ptr)
(:results (count :scs (any-reg)))
(:result-types positive-fixnum)
(:temporary (:sc descriptor-reg :from (:argument 0)) ptr)
(:results (count :scs (any-reg)))
(:result-types positive-fixnum)
@@
-43,7
+43,7
@@
(inst jmp :e DONE)
;; Otherwise, check to see whether we hit the end of a dotted list. If
;; not, loop back for more.
(inst jmp :e DONE)
;; Otherwise, check to see whether we hit the end of a dotted list. If
;; not, loop back for more.
- (move eax ptr)
+ (move eax (make-dword-tn ptr))
(inst and al-tn lowtag-mask)
(inst cmp al-tn list-pointer-lowtag)
(inst jmp :e LOOP)
(inst and al-tn lowtag-mask)
(inst cmp al-tn list-pointer-lowtag)
(inst jmp :e LOOP)
@@
-80,3
+80,5
@@
DONE))
(define-static-fun length (object) :translate length)
DONE))
(define-static-fun length (object) :translate length)
+(define-static-fun %coerce-callable-to-fun (callable)
+ :translate %coerce-callable-to-fun)