picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

commit 8d85494781b75f5c69e0c85a6029335b726fe642
parent d57a1f04854ce1e4f7e555685c31088e18eede90
Author: Alexander Burger <abu@software-lab.de>
Date:   Tue, 11 Jun 2013 17:44:48 +0200

cutLocalCX, joinLocalCX inline simplified
Diffstat:
Mlib/map | 22+++++++++++-----------
Msrc64/flow.l | 18++++++------------
Msrc64/tags | 34+++++++++++++++++-----------------
3 files changed, 34 insertions(+), 40 deletions(-)

diff --git a/lib/map b/lib/map @@ -1,5 +1,5 @@ -! (2892 . "@src64/flow.l") -$ (2994 . "@src64/flow.l") +! (2886 . "@src64/flow.l") +$ (2988 . "@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 (3442 . "@src64/flow.l") +bye (3436 . "@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 (3094 . "@src64/flow.l") +call (3088 . "@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 (3154 . "@src64/main.l") dm (545 . "@src64/flow.l") do (2141 . "@src64/flow.l") -e (2955 . "@src64/flow.l") +e (2949 . "@src64/flow.l") echo (4434 . "@src64/io.l") env (609 . "@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 (3268 . "@src64/flow.l") +fork (3262 . "@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 (3056 . "@src64/main.l") intern (1007 . "@src64/sym.l") -ipid (3213 . "@src64/flow.l") +ipid (3207 . "@src64/flow.l") isa (967 . "@src64/flow.l") job (1429 . "@src64/flow.l") journal (971 . "@src64/db.l") key (3401 . "@src64/io.l") -kill (3245 . "@src64/flow.l") +kill (3239 . "@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 (3229 . "@src64/flow.l") +opid (3223 . "@src64/flow.l") opt (3345 . "@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 (3181 . "@src64/flow.l") +tick (3175 . "@src64/flow.l") till (3635 . "@src64/io.l") time (2861 . "@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 (2744 . "@src64/flow.l") +yield (2741 . "@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 @@ -2581,13 +2581,12 @@ ld (StkLimit) A load (EnvCo) (EnvMid) (Y (pack -II "-(EnvMid-EnvCo)")) # Restore environment ld X Catch # Pointer to catch frames - ld C (Z (pack III "+(Catch-EnvCo)")) # Local catch frames do null (X) # More locals? while nz # Yes ld X (X) # Next frame pointer loop - ld (X) C # Join + ld (X) (Z (pack III "+(Catch-EnvCo)")) # Join ld X (EnvBind) # Reversed bindings ld C (Z (pack III "+(EnvBind-EnvCo)")) # Main bindings do @@ -2610,21 +2609,19 @@ loop ld (EnvBind) C # Set local bindings ld X EnvInFrames # Pointer to input frames - ld C (Z (pack III "+(EnvInFrames-EnvCo)")) # Local input frames do null (X) # More locals? while nz # Yes ld X (X) # Next frame pointer loop - ld (X) C # Join + ld (X) (Z (pack III "+(EnvInFrames-EnvCo)")) # Join ld X EnvOutFrames # Pointer to output frames - ld C (Z (pack III "+(EnvOutFrames-EnvCo)")) # Local output frames do null (X) # More locals? while nz # Yes ld X (X) # Next frame pointer loop - ld (X) C # Join + ld (X) (Z (pack III "+(EnvOutFrames-EnvCo)")) # Join ld X EnvApply # Local apply stack do null (X) # Any? @@ -2808,17 +2805,15 @@ loop ld (X) 0 # Cut off ld X EnvOutFrames # Pointer to output frames - ld C (Z (pack III "+(EnvOutFrames-EnvCo)")) # Local output frames do - cmp C (X) # More locals? + cmp (X) (Z (pack III "+(EnvOutFrames-EnvCo)")) # More locals? while ne # Yes ld X (X) # Next frame pointer loop ld (X) 0 # Cut off ld X EnvInFrames # Pointer to input frames - ld C (Z (pack III "+(EnvInFrames-EnvCo)")) # Local input frames do - cmp C (X) # More locals? + cmp (X) (Z (pack III "+(EnvInFrames-EnvCo)")) # More locals? while ne # Yes ld X (X) # Next frame pointer loop @@ -2848,9 +2843,8 @@ end ld (EnvBind) C # Store back link in coroutine's env ld X Catch # Pointer to catch frames - ld C (Z (pack III "+(Catch-EnvCo)")) # Local catch frames do - cmp C (X) # More locals? + cmp (X) (Z (pack III "+(Catch-EnvCo)")) # More locals? while ne # Yes ld X (X) # Next frame pointer loop diff --git a/src64/tags b/src64/tags @@ -1108,23 +1108,23 @@ sys/x86-64.linux.defs.l,1959 doFinally2524,58583 doCo2548,59123 resumeCoroutine2576,60042 -doYield2744,65712 -closeCoFilesC2878,69327 -doBreak2892,69590 -brkLoadE_E2900,69742 -doE2955,71342 -doTrace2994,72108 -traceCY3066,74023 -doCall3094,74511 -doTick3181,76703 -doIpid3213,77700 -doOpid3229,77988 -doKill3245,78283 -doFork3268,78718 -forkLispX_FE3281,78939 -doBye3442,83499 -byeE3454,83671 -finishE3466,83982 +doYield2741,65579 +closeCoFilesC2872,69097 +doBreak2886,69360 +brkLoadE_E2894,69512 +doE2949,71112 +doTrace2988,71878 +traceCY3060,73793 +doCall3088,74281 +doTick3175,76473 +doIpid3207,77470 +doOpid3223,77758 +doKill3239,78053 +doFork3262,78488 +forkLispX_FE3275,78709 +doBye3436,83269 +byeE3448,83441 +finishE3460,83752 ./subr.l,2147 doCar5,71