commit 53148f0c2f8619bea016b22c2c8d203c2ba96fd0
parent 61095adc010303389ca8d3a95067a7ae1212b11c
Author: Alexander Burger <abu@software-lab.de>
Date: Thu, 23 May 2013 11:58:21 +0200
Don't handle err- and ctl-frames in coroutines
Diffstat:
3 files changed, 30 insertions(+), 42 deletions(-)
diff --git a/lib/map b/lib/map
@@ -1,5 +1,5 @@
-! (2884 . "@src64/flow.l")
-$ (2986 . "@src64/flow.l")
+! (2872 . "@src64/flow.l")
+$ (2974 . "@src64/flow.l")
% (2572 . "@src64/big.l")
& (2807 . "@src64/big.l")
* (2389 . "@src64/big.l")
@@ -46,7 +46,7 @@ bool (1724 . "@src64/flow.l")
box (828 . "@src64/flow.l")
box? (1131 . "@src64/sym.l")
by (1669 . "@src64/apply.l")
-bye (3434 . "@src64/flow.l")
+bye (3422 . "@src64/flow.l")
bytes (2973 . "@src64/subr.l")
caaaar (271 . "@src64/subr.l")
caaadr (288 . "@src64/subr.l")
@@ -62,7 +62,7 @@ caddar (409 . "@src64/subr.l")
cadddr (435 . "@src64/subr.l")
caddr (156 . "@src64/subr.l")
cadr (45 . "@src64/subr.l")
-call (3086 . "@src64/flow.l")
+call (3074 . "@src64/flow.l")
car (5 . "@src64/subr.l")
case (1965 . "@src64/flow.l")
catch (2467 . "@src64/flow.l")
@@ -115,7 +115,7 @@ diff (2590 . "@src64/subr.l")
dir (3153 . "@src64/main.l")
dm (545 . "@src64/flow.l")
do (2141 . "@src64/flow.l")
-e (2947 . "@src64/flow.l")
+e (2935 . "@src64/flow.l")
echo (4434 . "@src64/io.l")
env (608 . "@src64/main.l")
eof (3549 . "@src64/io.l")
@@ -141,7 +141,7 @@ flip (1700 . "@src64/subr.l")
flush (5143 . "@src64/io.l")
fold (3521 . "@src64/sym.l")
for (2230 . "@src64/flow.l")
-fork (3260 . "@src64/flow.l")
+fork (3248 . "@src64/flow.l")
format (2089 . "@src64/big.l")
free (1960 . "@src64/db.l")
from (3568 . "@src64/io.l")
@@ -169,12 +169,12 @@ inc (2256 . "@src64/big.l")
index (2638 . "@src64/subr.l")
info (3055 . "@src64/main.l")
intern (1007 . "@src64/sym.l")
-ipid (3205 . "@src64/flow.l")
+ipid (3193 . "@src64/flow.l")
isa (967 . "@src64/flow.l")
job (1429 . "@src64/flow.l")
journal (971 . "@src64/db.l")
key (3401 . "@src64/io.l")
-kill (3237 . "@src64/flow.l")
+kill (3225 . "@src64/flow.l")
last (2045 . "@src64/subr.l")
le0 (2693 . "@src64/big.l")
length (2742 . "@src64/subr.l")
@@ -239,7 +239,7 @@ on (1717 . "@src64/sym.l")
onOff (1747 . "@src64/sym.l")
one (1780 . "@src64/sym.l")
open (4360 . "@src64/io.l")
-opid (3221 . "@src64/flow.l")
+opid (3209 . "@src64/flow.l")
opt (3344 . "@src64/main.l")
or (1640 . "@src64/flow.l")
out (4236 . "@src64/io.l")
@@ -324,7 +324,7 @@ tail (1912 . "@src64/subr.l")
tell (3285 . "@src64/io.l")
text (1407 . "@src64/sym.l")
throw (2493 . "@src64/flow.l")
-tick (3173 . "@src64/flow.l")
+tick (3161 . "@src64/flow.l")
till (3635 . "@src64/io.l")
time (2860 . "@src64/main.l")
touch (1181 . "@src64/sym.l")
@@ -352,7 +352,7 @@ wr (5268 . "@src64/io.l")
xchg (1672 . "@src64/sym.l")
xor (1701 . "@src64/flow.l")
x| (2887 . "@src64/big.l")
-yield (2726 . "@src64/flow.l")
+yield (2720 . "@src64/flow.l")
yoke (1197 . "@src64/subr.l")
zap (1195 . "@src64/sym.l")
zero (1765 . "@src64/sym.l")
diff --git a/src64/flow.l b/src64/flow.l
@@ -2604,12 +2604,6 @@
ld X EnvOutFrames # Pointer to output frames
ld C (Z (pack III "+(EnvOutFrames-EnvCo)")) # Local output frames
call joinLocalCX # Join locals
- ld X EnvErrFrames # Pointer to error frames
- ld C (Z (pack III "+(EnvErrFrames-EnvCo)")) # Local error frames
- call joinLocalCX # Join locals
- ld X EnvCtlFrames # Pointer to control frames
- ld C (Z (pack III "+(EnvCtlFrames-EnvCo)")) # Local control frames
- call joinLocalCX # Join locals
ld X EnvApply # Local apply stack
do
null (X) # Any?
@@ -2788,12 +2782,6 @@
lea X ((A) I) # Get link
loop
ld (X) 0 # Cut off
- ld X EnvCtlFrames # Pointer to control frames
- ld C (Z (pack III "+(EnvCtlFrames-EnvCo)")) # Local control frames
- call cutLocalCX # Cut off locals
- ld X EnvErrFrames # Pointer to error frames
- ld C (Z (pack III "+(EnvErrFrames-EnvCo)")) # Local error frames
- call cutLocalCX # Cut off locals
ld X EnvOutFrames # Pointer to output frames
ld C (Z (pack III "+(EnvOutFrames-EnvCo)")) # Local output frames
call cutLocalCX # Cut off locals
diff --git a/src64/tags b/src64/tags
@@ -1108,25 +1108,25 @@ sys/x86-64.linux.defs.l,1959
doFinally2524,58583
doCo2548,59123
resumeCoroutine2573,59938
-doYield2726,65261
-cutLocalCX2847,68741
-joinLocalCX2860,68971
-closeCoFilesC2870,69134
-doBreak2884,69397
-brkLoadE_E2892,69549
-doE2947,71149
-doTrace2986,71915
-traceCY3058,73830
-doCall3086,74318
-doTick3173,76510
-doIpid3205,77507
-doOpid3221,77795
-doKill3237,78090
-doFork3260,78525
-forkLispX_FE3273,78746
-doBye3434,83306
-byeE3446,83478
-finishE3458,83789
+doYield2720,64881
+cutLocalCX2835,68049
+joinLocalCX2848,68279
+closeCoFilesC2858,68442
+doBreak2872,68705
+brkLoadE_E2880,68857
+doE2935,70457
+doTrace2974,71223
+traceCY3046,73138
+doCall3074,73626
+doTick3161,75818
+doIpid3193,76815
+doOpid3209,77103
+doKill3225,77398
+doFork3248,77833
+forkLispX_FE3261,78054
+doBye3422,82614
+byeE3434,82786
+finishE3446,83097
./subr.l,2147
doCar5,71