summaryrefslogtreecommitdiff
path: root/SCM/setjump.mar
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-10-04 17:10:46 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-10-04 17:10:46 +0200
commitd5bcd08978bf3aec00226839db706811bf489c59 (patch)
tree26339ef10a0ac0f9c0075ee8c36df349b7354d39 /SCM/setjump.mar
parent881d313eb2688c7d6abefcbb7e060d9009842cca (diff)
Remove continuation support files from SCM 5e5.
Diffstat (limited to 'SCM/setjump.mar')
-rw-r--r--SCM/setjump.mar39
1 files changed, 0 insertions, 39 deletions
diff --git a/SCM/setjump.mar b/SCM/setjump.mar
deleted file mode 100644
index 3fc223c..0000000
--- a/SCM/setjump.mar
+++ /dev/null
@@ -1,39 +0,0 @@
- .title setjump and longjump
-
-; The VAX C runtime library uses the $unwind utility for
-; implementing longjmp. That fails if your program does not
-; follow normal stack decipline. This is a dirty implementation
-; of setjmp and longjmp that does not have that problem. The
-; names longjmp and setjmp are avoided so that the code can be
-; linked with the vax c runtime library without name clashes.
-
-; This code was contributed by an anonymous reviewer from
-; comp.sources.reviewed.
-
- .entry setjump,^M<IV>
- movl 4(ap),r0
- movq r2,(r0)+
- movq r4,(r0)+
- movq r6,(r0)+
- movq r8,(r0)+
- movq r10,(r0)+
- movl fp,(r0)+
- movo 4(fp),(r0)+
- movq 20(fp),(r0)
- clrl r0
- ret
-
- .entry longjump,^M<IV>
- movl 4(ap),r0
- movq (r0)+,r2
- movq (r0)+,r4
- movq (r0)+,r6
- movq (r0)+,r8
- movq (r0)+,r10
- movl (r0)+,r1
- movo (r0)+,4(r1)
- movq (r0),20(r1)
- movl 8(ap),r0
- movl r1,fp
- ret
- .end