projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4 release
[unix-history]
/
usr
/
src
/
cmd
/
lisp
/
inewint.s
diff --git
a/usr/src/cmd/lisp/inewint.s
b/usr/src/cmd/lisp/inewint.s
index
24406a5
..
eeb83a4
100644
(file)
--- a/
usr/src/cmd/lisp/inewint.s
+++ b/
usr/src/cmd/lisp/inewint.s
@@
-1,11
+1,32
@@
+ .asciz "@(#)inewint.s 34.2 10/9/80"
.globl _inewint
.globl _inewint
+ .globl _blzero
+ .data 0
+cntloc: .long 0
+ .text
_inewint:.word 0
_inewint:.word 0
- cvtlb 4(ap),r0
- bvs nofit
- ashl $2,4(ap),r0
- addl2 $1024,r0
+# movab cntloc,r0 # used when profiling
+# jsb mcount
+ movl 4(ap),r0
+# cvtlb r0,r0
+# bvs nottiny
+# moval Fixzero[r0],r0
+# ret
+# nottiny:
+ cmpl r0,$1024
+ jgeq alloc
+ cmpl r0,$-1024
+ jlss alloc
+ moval Fixzero[r0],r0
ret
ret
-
nofit
:
+
alloc
:
calls $0,_newint
movl 4(ap),0(r0)
ret
calls $0,_newint
movl 4(ap),0(r0)
ret
+_blzero: # blzero(where,howmuch)
+ # char *where;
+ # zeroes a block of length howmuch
+ # beginning at where.
+ .word 0
+ movc5 $0,*4(ap),$0,8(ap),*4(ap)
+ ret