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 fa5488c4e90b1efaa95c753e09f47e8b03e2ec05
parent d72293f7a47c406f0b5653fe608c724d4ba667e5
Author: Alexander Burger <abu@software-lab.de>
Date:   Tue, 17 Apr 2012 08:54:47 +0200

double/float in 'native' structures
Diffstat:
MCHANGES | 1+
Mdoc/refN.html | 12+++++++++---
Mdoc64/asm | 11+++++++----
Mersatz/picolisp.jar | 0
Mlib/map | 36++++++++++++++++++------------------
Msrc/vers.h | 2+-
Msrc64/arch/ppc64.l | 17+++++++++++++----
Msrc64/arch/x86-64.l | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
Msrc64/lib/asm.l | 11+++++++----
Msrc64/main.l | 137+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
Msrc64/tags | 132++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc64/version.l | 4++--
12 files changed, 260 insertions(+), 165 deletions(-)

diff --git a/CHANGES b/CHANGES @@ -1,4 +1,5 @@ * DDmmm12 picoLisp-3.1.1 + double/float in 'native' structures Allow 'zap' protected symbols outside 'pico' namespace (64-bit) Bug in 'who' diff --git a/doc/refN.html b/doc/refN.html @@ -165,10 +165,10 @@ structures, e.g. <p>Arguments can be <ul> <li>integers (up to 64-bit) or pointers, passed as numbers +<li>strings, passed as symbols <li>fixpoint numbers, passed as cons pairs consisting of a the value and the - scale. If the scale is positive, the number is passed as a - <code>double</code>, otherwise as a <code>float</code>. -<li>strings, passed as symbols, or + scale (if the scale is positive, the number is passed as a + <code>double</code>, otherwise as a <code>float</code>) <li>structures, passed as lists with <ul> <li>a variable in the CAR (to recieve the returned structure data, ignored @@ -185,6 +185,12 @@ structures, e.g. a field of '<code>cnt</code>' bytes <li>a pair <code>(sym . cnt)</code> where '<code>sym</code>' is stored as a null-terminated string in a field of '<code>cnt</code>' bytes + <li>a list <code>(1.0 num ...)</code> where the '<code>num</code>' + elements (scaled fixpoint numbers) are stored as a sequence of double + precision floating point numbers + <li>a list <code>(-1.0 num ...)</code> where the '<code>num</code>' + elements (scaled fixpoint numbers) are stored as a sequence of single + precision floating point numbers </ul> If the last CDR of the initialization sequence is a number, it is used as a fill-byte value for the remaining space in the structure. diff --git a/doc64/asm b/doc64/asm @@ -1,4 +1,4 @@ -# 08apr12abu +# 16apr12abu # (c) Software Lab. Alexander Burger @@ -164,9 +164,12 @@ call adr # Call 'adr' cc adr(src ..) # C-Call to 'adr' with 'src' arguments cc adr reg # C-Call to 'adr' with end of stacked args in 'reg' - dval # Set up double value pointed to by 'C' - fval # Set up float value pointed to by 'C' - fnum # Convert double with scale 'E' to fixnum in 'E' + ldd # Load double value pointed to by 'C' + ldf # Load float value pointed to by 'C' + fixnum # Convert double with scale 'E' to fixnum in 'E' + float # Convert fixnum with scale 'A' pointed to by 'X' + std # Store double value at address 'Z' + stf # Store float value at address 'Z' ret # Return begin # Called from foreign function diff --git a/ersatz/picolisp.jar b/ersatz/picolisp.jar Binary files differ. diff --git a/lib/map b/lib/map @@ -32,9 +32,9 @@ and (1613 . "@src64/flow.l") any (3965 . "@src64/io.l") append (1338 . "@src64/subr.l") apply (713 . "@src64/apply.l") -arg (2304 . "@src64/main.l") -args (2280 . "@src64/main.l") -argv (2924 . "@src64/main.l") +arg (2323 . "@src64/main.l") +args (2299 . "@src64/main.l") +argv (2943 . "@src64/main.l") as (139 . "@src64/flow.l") asoq (3008 . "@src64/subr.l") assoc (2973 . "@src64/subr.l") @@ -65,7 +65,7 @@ call (3079 . "@src64/flow.l") car (5 . "@src64/subr.l") case (1954 . "@src64/flow.l") catch (2456 . "@src64/flow.l") -cd (2679 . "@src64/main.l") +cd (2698 . "@src64/main.l") cdaaar (464 . "@src64/subr.l") cdaadr (487 . "@src64/subr.l") cdaar (179 . "@src64/subr.l") @@ -88,7 +88,7 @@ circ (816 . "@src64/subr.l") circ? (2402 . "@src64/subr.l") clip (1799 . "@src64/subr.l") close (4381 . "@src64/io.l") -cmd (2906 . "@src64/main.l") +cmd (2925 . "@src64/main.l") cnt (1413 . "@src64/apply.l") co (2537 . "@src64/flow.l") commit (1498 . "@src64/db.l") @@ -99,9 +99,9 @@ connect (224 . "@src64/net.l") cons (747 . "@src64/subr.l") copy (1225 . "@src64/subr.l") ctl (4254 . "@src64/io.l") -ctty (2704 . "@src64/main.l") +ctty (2723 . "@src64/main.l") cut (1922 . "@src64/sym.l") -date (2418 . "@src64/main.l") +date (2437 . "@src64/main.l") dbck (2113 . "@src64/db.l") de (532 . "@src64/flow.l") dec (2323 . "@src64/big.l") @@ -111,7 +111,7 @@ del (1977 . "@src64/sym.l") delete (1401 . "@src64/subr.l") delq (1452 . "@src64/subr.l") diff (2589 . "@src64/subr.l") -dir (2837 . "@src64/main.l") +dir (2856 . "@src64/main.l") dm (545 . "@src64/flow.l") do (2130 . "@src64/flow.l") e (2911 . "@src64/flow.l") @@ -128,7 +128,7 @@ extern (1023 . "@src64/sym.l") extra (1258 . "@src64/flow.l") extract (1218 . "@src64/apply.l") fifo (2088 . "@src64/sym.l") -file (2784 . "@src64/main.l") +file (2803 . "@src64/main.l") fill (3243 . "@src64/subr.l") filter (1161 . "@src64/apply.l") fin (2033 . "@src64/subr.l") @@ -166,7 +166,7 @@ ifn (1854 . "@src64/flow.l") in (4194 . "@src64/io.l") inc (2256 . "@src64/big.l") index (2637 . "@src64/subr.l") -info (2741 . "@src64/main.l") +info (2760 . "@src64/main.l") intern (998 . "@src64/sym.l") ipid (3198 . "@src64/flow.l") isa (961 . "@src64/flow.l") @@ -183,7 +183,7 @@ lieu (1157 . "@src64/db.l") line (3699 . "@src64/io.l") lines (3852 . "@src64/io.l") link (1172 . "@src64/subr.l") -lisp (1976 . "@src64/main.l") +lisp (1995 . "@src64/main.l") list (887 . "@src64/subr.l") listen (157 . "@src64/net.l") lit (150 . "@src64/flow.l") @@ -225,7 +225,7 @@ nand (1648 . "@src64/flow.l") native (1376 . "@src64/main.l") need (919 . "@src64/subr.l") new (835 . "@src64/flow.l") -next (2287 . "@src64/main.l") +next (2306 . "@src64/main.l") nil (1731 . "@src64/flow.l") nond (1931 . "@src64/flow.l") nor (1669 . "@src64/flow.l") @@ -239,7 +239,7 @@ onOff (1738 . "@src64/sym.l") one (1771 . "@src64/sym.l") open (4338 . "@src64/io.l") opid (3214 . "@src64/flow.l") -opt (3027 . "@src64/main.l") +opt (3046 . "@src64/main.l") or (1629 . "@src64/flow.l") out (4214 . "@src64/io.l") pack (1270 . "@src64/sym.l") @@ -272,7 +272,7 @@ push (1813 . "@src64/sym.l") push1 (1849 . "@src64/sym.l") put (2835 . "@src64/sym.l") putl (3113 . "@src64/sym.l") -pwd (2668 . "@src64/main.l") +pwd (2687 . "@src64/main.l") queue (2045 . "@src64/sym.l") quit (1083 . "@src64/main.l") quote (134 . "@src64/flow.l") @@ -283,7 +283,7 @@ raw (449 . "@src64/main.l") rd (5163 . "@src64/io.l") read (2656 . "@src64/io.l") replace (1499 . "@src64/subr.l") -rest (2333 . "@src64/main.l") +rest (2352 . "@src64/main.l") reverse (1678 . "@src64/subr.l") rewind (5129 . "@src64/io.l") rollback (1898 . "@src64/db.l") @@ -324,7 +324,7 @@ text (1398 . "@src64/sym.l") throw (2482 . "@src64/flow.l") tick (3166 . "@src64/flow.l") till (3610 . "@src64/io.l") -time (2551 . "@src64/main.l") +time (2570 . "@src64/main.l") touch (1172 . "@src64/sym.l") trim (1759 . "@src64/subr.l") try (1168 . "@src64/flow.l") @@ -337,9 +337,9 @@ up (691 . "@src64/main.l") upp? (3393 . "@src64/sym.l") uppc (3460 . "@src64/sym.l") use (1562 . "@src64/flow.l") -usec (2656 . "@src64/main.l") +usec (2675 . "@src64/main.l") val (1588 . "@src64/sym.l") -version (3041 . "@src64/main.l") +version (3060 . "@src64/main.l") wait (3150 . "@src64/io.l") when (1873 . "@src64/flow.l") while (2050 . "@src64/flow.l") diff --git a/src/vers.h b/src/vers.h @@ -1 +1 @@ -static byte Version[4] = {3,1,0,1}; +static byte Version[4] = {3,1,0,2}; diff --git a/src64/arch/ppc64.l b/src64/arch/ppc64.l @@ -1,4 +1,4 @@ -# 08apr12abu +# 16apr12abu # (c) Software Lab. Alexander Burger # Byte order @@ -1035,13 +1035,13 @@ (("bne" + "cr1" ".+12") ("beq" + ".+8") ("b" NIL @Lbl)) (("bne" + "cr1" ".+8") ("bnectr" NIL)) ) ) -(asm dval () +(asm ldd () (prinst "lfd" 1 "0(14)") ) -(asm fval () +(asm ldf () (prinst "lfs" 1 "0(14)") ) -(asm fnum () +(asm fixnum () (prinst "srdi" 0 15 4) # Normalize scale (ignore sign) (prinst "std" 0 "-8(1)") (prinst "lfd" 0 "-8(1)") # Get scale in f13 @@ -1072,6 +1072,15 @@ (prinst "ori" 15 15 2) (prinl "4:") ) +(asm float () + #{!}# ) + +(asm std () + (prinst "stfd" 1 "0(14)") ) + +(asm stf () + (prinst "stfs" 1 "0(14)") ) + (asm cc (Adr A Arg M) (let Reg (3 4 5 6 7 8 9 10) # Support only max. 8 parameters (if (lst? Arg) diff --git a/src64/arch/x86-64.l b/src64/arch/x86-64.l @@ -1,4 +1,4 @@ -# 08apr12abu +# 16apr12abu # (c) Software Lab. Alexander Burger # Byte order @@ -579,13 +579,13 @@ (asm jgt (Adr A) (_jmp "ja" "jbe") ) -(asm dval () +(asm ldd () (prinst "movsd" "(%rdx)" "%xmm0") ) -(asm fval () +(asm ldf () (prinst "movss" "(%rdx)" "%xmm0") ) -(asm fnum () +(asm fixnum () (prinst "shr" "$4" "%rbx") # Normalize scale (prinst "jc" "1f") # Jump if negative (prinst "cvtsi2sd" "%rbx" "%xmm7") # Mulitply double with scale @@ -616,6 +616,60 @@ (prinst "mov" "$TSym" "%rbx") # Load T (prinl "5:") ) +(asm float () + (prinst "mov" "%rax" "%r10") # Normalize scale + (prinst "shr" "$4" "%r10") # Negative? + (prinst "jc" "3f") # Yes: Skip + (prinst "testb" "$0x02" "(%r13)") # Short fixnum? + (prinst "jz" "2f") # No: Skip + (prinst "cvtsi2sd" "%r10" "%xmm7") # Convert scale + (prinst "mov" "(%r13)" "%r10") # Normalize fixnum + (prinst "shr" "$4" "%r10") # Negative? + (prinst "jnc" "1f") # No: Skip + (prinst "neg" "%r10") # Else negate + (prinl "1:") + (prinst "cvtsi2sd" "%r10" "%xmm0") # Convert fixnum to double + (prinst "divsd" "%xmm7" "%xmm0") # Divide by scale + (prinst "jmp" "4f") # Done + (prinl "2:") + (prinst "cmpq" "$Nil" "(%r13)") # Minus infinite? + (prinst "mov" "$0x7FF0000000000000" "%r10") + (prinst "jnz" "1f") # No: Skip + (prinst "mov" "$0xFFF0000000000000" "%r10") + (prinl "1:") + (prinst "push" "%r10") + (prinst "movsd" "(%rsp)" "%xmm0") + (prinst "add" "$8" "%rsp") + (prinst "jmp" "4f") # Done + (prinl "3:") + (prinst "testb" "$0x02" "(%r13)") # Short fixnum? + (prinst "jz" "2f") # No: Skip + (prinst "cvtsi2ss" "%r10" "%xmm7") # Convert scale + (prinst "mov" "(%r13)" "%r10") # Normalize fixnum + (prinst "shr" "$4" "%r10") # Negative? + (prinst "jnc" "1f") # No: Skip + (prinst "neg" "%r10") # Else negate + (prinl "1:") + (prinst "cvtsi2ss" "%r10" "%xmm0") # Convert fixnum to float + (prinst "divss" "%xmm7" "%xmm0") # Divide by scale + (prinst "jmp" "4f") # Done + (prinl "2:") + (prinst "cmpq" "$Nil" "(%r13)") # Minus infinite? + (prinst "mov" "$0x7F800000" "%r10") + (prinst "jnz" "1f") + (prinst "mov" "$0xFF800000" "%r10") + (prinl "1:") + (prinst "push" "%r10") + (prinst "movss" "(%rsp)" "%xmm0") + (prinst "add" "$8" "%rsp") + (prinl "4:") ) + +(asm std () + (prinst "movsd" "%xmm0" "(%r15)") ) + +(asm stf () + (prinst "movss" "%xmm0" "(%r15)") ) + (asm cc (Adr A Arg M) (unless (== 'cc (caar (seek '((L) (== (cadr L) *Statement)) *Program))) (prinst "mov" "%rdx" "%r12") ) diff --git a/src64/lib/asm.l b/src64/lib/asm.l @@ -1,4 +1,4 @@ -# 08apr12abu +# 16apr12abu # (c) Software Lab. Alexander Burger # *LittleEndian *AlignedCode *Registers optimize @@ -431,13 +431,12 @@ (dec (destination) "*Mode") (div (source) "*Mode") (drop) - (dval) (eval) (eval+) (eval/ret) (exec (reg (read))) - (fnum) - (fval) + (fixnum) + (float) (hx2 (read)) (inc (destination) "*Mode") (initCode) @@ -467,6 +466,8 @@ (ld2 (source) "*Mode") (ld4 (source) "*Mode") (ldc (destination) "*Mode" (source) "*Mode") + (ldd) + (ldf) (ldnc (destination) "*Mode" (source) "*Mode") (ldnz (destination) "*Mode" (source) "*Mode") (ldz (destination) "*Mode" (source) "*Mode") @@ -506,6 +507,8 @@ (slen (destination) "*Mode" (source) "*Mode") (st2 (destination) "*Mode") (st4 (destination) "*Mode") + (std) + (stf) (sub (destination) "*Mode" (source) "*Mode") (subc (destination) "*Mode" (source) "*Mode") (sym (source) "*Mode") diff --git a/src64/main.l b/src64/main.l @@ -1,4 +1,4 @@ -# 08apr12abu +# 16apr12abu # (c) Software Lab. Alexander Burger (code 'Code) @@ -1499,7 +1499,7 @@ if nz # Yes push (E) # Pass number or flag push C # as fixpoint value - else + else # Structure ld E C # Ignore variable ld C ((E)) # Get buffer size shr C 4 # Normalize @@ -1537,70 +1537,89 @@ add Z 4 # Size of unsigned sub C 4 # Buffer full? end - else - push C + else # (num|sym . cnt) or ([-]1.0 . lst) push X - push Y - ld Y Z # Y on buffer - ld C (A CDR) # Get length - shr C 4 # Normalize - add Z C # Size of buffer - push C # Save it - ld A (A) # 'num' or 'sym' - num A # (num . cnt)? + ld X (A CDR) # 'cnt' or 'lst' + ld A (A) # 'num', 'sym' or [-]1.0 + cnt X # 'cnt'? if nz # Yes - cnt A # Short? + push Y + ld Y Z # Y on buffer + shr X 4 # Normalize length + add Z X # Field width + sub C X # New buffer size + num A # (num . cnt)? if nz # Yes - shr A 4 # Normalize - if c # Sign? - neg A # Yes + cnt A # Short? + if nz # Yes + shr A 4 # Normalize + if c # Sign? + neg A # Yes + end + else + test A SIGN # Sign? + if z # No + ld A (A DIG) + else + ld A (A (- DIG SIGN)) + neg A # Negate + end end + ? *LittleEndian + do + ld (Y) B # Store byte + inc Y # Increment pointer + shr A 8 + dec X # Done? + until z # Yes + = + ? (not *LittleEndian) + ld Y Z + do + dec Y # Decrement pointer + ld (Y) B # Store byte + shr A 8 + dec X # Done? + until z # Yes + = else - test A SIGN # Sign? + sym A # (sym . cnt)? + if nz # Yes + push C + ld X (A TAIL) # Get name + call nameX_X + ld C 0 + do + call symByteCX_FACX # Next byte + while nz + ld (Y) B # Store it + inc Y # Increment pointer + loop + set (Y) 0 # Null byte + pop C + end + end + pop Y + else # ([-]1.0 . lst) + do + atom X # More fixpoint numbers? + while z # Yes + float # Convert to floating point + test A SIGN # Scale negative? if z # No - ld A (A DIG) + std # Store double value + add Z 8 # Size of double + sub C 8 # Decrement buffer size else - ld A (A (- DIG SIGN)) - neg A # Negate + stf # Store float value + add Z 4 # Size of float + sub C 4 # Decrement buffer size end - end - ? *LittleEndian - do - ld (Y) B # Store byte - inc Y # Increment pointer - shr A 8 - dec C # Done? - until z # Yes - = - ? (not *LittleEndian) - ld Y Z - do - dec Y # Decrement pointer - ld (Y) B # Store byte - shr A 8 - dec C # Done? - until z # Yes - = - else - sym A # (sym . cnt)? - if nz # Yes - ld X (A TAIL) # Get name - call nameX_X - ld C 0 - do - call symByteCX_FACX # Next byte - while nz - ld (Y) B # Store it - inc Y # Increment pointer - loop - set (Y) 0 # Null byte - end + ld X (X CDR) + loop end - pop A # 'cnt' - pop Y pop X - pop C - sub C A # Buffer full? + null C # Buffer full? end until z # Yes pop Z @@ -1668,14 +1687,14 @@ if nz # Yes test E SIGN # Negative? if z # No - dval # Get double value + ldd # Get double value add C 8 # Size of double else - fval # Get float value + ldf # Get float value add C 4 # Size of float end end - fnum # Get fixpoint number or flg + fixnum # Get fixpoint number or flg else cmp E ISym # 'I'? if eq # Yes diff --git a/src64/tags b/src64/tags @@ -425,12 +425,12 @@ badFdErrEX err.l 525 badInputErrB err.l 545 balanceCEY sym.l 910 balanceXY sym.l 892 -begString main.l 2242 +begString main.l 2261 binPrintEZ io.l 730 binReadZ_FE io.l 519 blkPeekCEZ db.l 392 blkPokeCEZ db.l 403 -boxE_E main.l 2210 +boxE_E main.l 2229 boxNumA_A gc.l 872 boxNumE_E gc.l 886 boxNum_A gc.l 824 @@ -446,31 +446,31 @@ byteNumBCX_CX io.l 463 byteSymBCX_CX io.l 1291 caseDataA_AC sym.l 3366 caught flow.l 2472 -cbl main.l 1845 -cbl1 main.l 1878 -cbl10 main.l 1914 -cbl11 main.l 1918 -cbl12 main.l 1922 -cbl13 main.l 1926 -cbl14 main.l 1930 -cbl15 main.l 1934 -cbl16 main.l 1938 -cbl17 main.l 1942 -cbl18 main.l 1946 -cbl19 main.l 1950 -cbl2 main.l 1882 -cbl20 main.l 1954 -cbl21 main.l 1958 -cbl22 main.l 1962 -cbl23 main.l 1966 -cbl24 main.l 1970 -cbl3 main.l 1886 -cbl4 main.l 1890 -cbl5 main.l 1894 -cbl6 main.l 1898 -cbl7 main.l 1902 -cbl8 main.l 1906 -cbl9 main.l 1910 +cbl main.l 1864 +cbl1 main.l 1897 +cbl10 main.l 1933 +cbl11 main.l 1937 +cbl12 main.l 1941 +cbl13 main.l 1945 +cbl14 main.l 1949 +cbl15 main.l 1953 +cbl16 main.l 1957 +cbl17 main.l 1961 +cbl18 main.l 1965 +cbl19 main.l 1969 +cbl2 main.l 1901 +cbl20 main.l 1973 +cbl21 main.l 1977 +cbl22 main.l 1981 +cbl23 main.l 1985 +cbl24 main.l 1989 +cbl3 main.l 1905 +cbl4 main.l 1909 +cbl5 main.l 1913 +cbl6 main.l 1917 +cbl7 main.l 1921 +cbl8 main.l 1925 +cbl9 main.l 1929 cellErrAX err.l 438 cellErrEX err.l 440 charSymACX_CX io.l 1256 @@ -534,7 +534,7 @@ ctOpenEXY io.l 1670 currFdX_C io.l 1333 currFd_C io.l 1337 cutLocalCX flow.l 2824 -dateXYZ_E main.l 2357 +dateXYZ_E main.l 2376 dbAEX db.l 1331 dbFetchEX db.l 1319 dbFileBlkY_AC db.l 246 @@ -564,9 +564,9 @@ doAnd flow.l 1613 doAny io.l 3965 doAppend subr.l 1338 doApply apply.l 713 -doArg main.l 2304 -doArgs main.l 2280 -doArgv main.l 2924 +doArg main.l 2323 +doArgs main.l 2299 +doArgv main.l 2943 doArrow subr.l 3916 doAs flow.l 139 doAsoq subr.l 3008 @@ -602,7 +602,7 @@ doCall flow.l 3079 doCar subr.l 5 doCase flow.l 1954 doCatch flow.l 2456 -doCd main.l 2679 +doCd main.l 2698 doCdaaar subr.l 464 doCdaadr subr.l 487 doCdaar subr.l 179 @@ -625,7 +625,7 @@ doCirc subr.l 816 doCircQ subr.l 2402 doClip subr.l 1799 doClose io.l 4381 -doCmd main.l 2906 +doCmd main.l 2925 doCnt apply.l 1413 doCo flow.l 2537 doCol sym.l 3051 @@ -637,9 +637,9 @@ doConnect net.l 224 doCons subr.l 747 doCopy subr.l 1225 doCtl io.l 4254 -doCtty main.l 2704 +doCtty main.l 2723 doCut sym.l 1922 -doDate main.l 2418 +doDate main.l 2437 doDbck db.l 2113 doDe flow.l 532 doDec big.l 2323 @@ -649,7 +649,7 @@ doDel sym.l 1977 doDelete subr.l 1401 doDelq subr.l 1452 doDiff subr.l 2589 -doDir main.l 2837 +doDir main.l 2856 doDiv big.l 2513 doDm flow.l 545 doDo flow.l 2130 @@ -671,7 +671,7 @@ doExtern sym.l 1023 doExtra flow.l 1258 doExtract apply.l 1218 doFifo sym.l 2088 -doFile main.l 2784 +doFile main.l 2803 doFill subr.l 3243 doFilter apply.l 1161 doFin subr.l 2033 @@ -712,7 +712,7 @@ doIfn flow.l 1854 doIn io.l 4194 doInc big.l 2256 doIndex subr.l 2637 -doInfo main.l 2741 +doInfo main.l 2760 doIntern sym.l 998 doIpid flow.l 3198 doIsa flow.l 961 @@ -730,7 +730,7 @@ doLieu db.l 1157 doLine io.l 3699 doLines io.l 3852 doLink subr.l 1172 -doLisp main.l 1976 +doLisp main.l 1995 doList subr.l 887 doListen net.l 157 doLit flow.l 150 @@ -776,7 +776,7 @@ doNand flow.l 1648 doNative main.l 1376 doNeed subr.l 919 doNew flow.l 835 -doNext main.l 2287 +doNext main.l 2306 doNil flow.l 1731 doNond flow.l 1931 doNor flow.l 1669 @@ -790,7 +790,7 @@ doOnOff sym.l 1738 doOne sym.l 1771 doOpen io.l 4338 doOpid flow.l 3214 -doOpt main.l 3027 +doOpt main.l 3046 doOr flow.l 1629 doOut io.l 4214 doPack sym.l 1270 @@ -824,7 +824,7 @@ doPush sym.l 1813 doPush1 sym.l 1849 doPut sym.l 2835 doPutl sym.l 3113 -doPwd main.l 2668 +doPwd main.l 2687 doQueue sym.l 2045 doQuit main.l 1083 doQuote flow.l 134 @@ -836,7 +836,7 @@ doRd io.l 5163 doRead io.l 2656 doRem big.l 2572 doReplace subr.l 1499 -doRest main.l 2333 +doRest main.l 2352 doReverse subr.l 1678 doRewind io.l 5129 doRollback db.l 1898 @@ -881,7 +881,7 @@ doText sym.l 1398 doThrow flow.l 2482 doTick flow.l 3166 doTill io.l 3610 -doTime main.l 2551 +doTime main.l 2570 doTouch sym.l 1172 doTrace flow.l 2950 doTrim subr.l 1759 @@ -895,9 +895,9 @@ doUp main.l 691 doUppQ sym.l 3393 doUppc sym.l 3460 doUse flow.l 1562 -doUsec main.l 2656 +doUsec main.l 2675 doVal sym.l 1588 -doVersion main.l 3041 +doVersion main.l 3060 doWait io.l 3150 doWhen flow.l 1873 doWhile flow.l 2050 @@ -910,7 +910,7 @@ doYield flow.l 2706 doYoke subr.l 1196 doZap sym.l 1186 doZero sym.l 1756 -endString_E main.l 2253 +endString_E main.l 2272 eofErr err.l 534 eolA_F io.l 3684 equalAE_F main.l 770 @@ -919,15 +919,15 @@ errEXYZ err.l 33 errnoC sys/x86-64.linux.code.l 10 errnoEXY err.l 24 errno_A sys/x86-64.linux.code.l 5 -evCntEX_FE main.l 2181 -evCntXY_FE main.l 2179 +evCntEX_FE main.l 2200 +evCntXY_FE main.l 2198 evExprCE_E main.l 1101 evListE_E main.l 1245 evMethodACXYZ_E flow.l 645 -evSymE_E main.l 2156 -evSymX_E main.l 2151 -evSymY_E main.l 2154 -execE main.l 2065 +evSymE_E main.l 2175 +evSymX_E main.l 2170 +evSymY_E main.l 2173 +execE main.l 2084 execErrS main.l 187 extErrEX err.l 434 extNmCE_X db.l 64 @@ -937,7 +937,7 @@ fdRdSetCZL io.l 2718 fdSetCL_X io.l 2706 fdSetC_Y io.l 3309 fdWrSetCZL io.l 2725 -fetchCharC_AC main.l 1810 +fetchCharC_AC main.l 1829 fileObjE_AC db.l 237 fileObjX_AC db.l 211 fillE_FE subr.l 3261 @@ -955,7 +955,7 @@ fmtWordACX_CX big.l 2046 forkErrX err.l 515 forkLispX_FE flow.l 3266 fsyncDB db.l 932 -funqE_FE main.l 2089 +funqE_FE main.l 2108 gc gc.l 65 getAdrZ_A db.l 6 getBinaryZ_FB io.l 447 @@ -997,7 +997,7 @@ isaCE_F flow.l 1012 jnlErrX err.l 618 jnlFileno_A db.l 344 joinLocalCX flow.l 2837 -lisp main.l 2019 +lisp main.l 2038 loadAllX_E main.l 162 loadBEX_E io.l 4072 lockErr err.l 607 @@ -1021,7 +1021,7 @@ methodEY_FCYZ flow.l 791 mkCharA_A sym.l 573 mkStrEZ_A sym.l 650 mkStrE_E sym.l 623 -msec_A main.l 2267 +msec_A main.l 2286 msgErrAX err.l 488 msgErrEX err.l 490 msgErrYX err.l 486 @@ -1030,7 +1030,7 @@ nameA_A sym.l 469 nameE_E sym.l 477 nameX_X sym.l 485 nameY_Y sym.l 493 -natRetACE_CE main.l 1662 +natRetACE_CE main.l 1681 needC gc.l 54 needSymAX err.l 323 needSymEX err.l 335 @@ -1086,7 +1086,7 @@ putACE sym.l 2491 putBlockBZ db.l 612 putSrcEC_E flow.l 25 putStdoutB io.l 4625 -putStringB main.l 2230 +putStringB main.l 2249 putTellBZ io.l 996 putUdpBZ net.l 377 rdAtomBY_E io.l 2117 @@ -1123,7 +1123,7 @@ retnc err.l 710 retnz err.l 716 retz err.l 713 rewindLog db.l 928 -runE_E main.l 2077 +runE_E main.l 2096 rwUnlockDbA db.l 269 s_isdirS_F sys/x86-64.linux.code.l 16 selectErrX err.l 558 @@ -1173,8 +1173,8 @@ tellErr err.l 646 tenfoldA_A big.l 157 testEscA_F io.l 2050 throwErrZX flow.l 2507 -tmDateC_E main.l 2347 -tmTimeY_E main.l 2534 +tmDateC_E main.l 2366 +tmTimeY_E main.l 2553 tokenCE_E io.l 2522 trSyncErrX err.l 602 traceCY flow.l 3022 @@ -1215,10 +1215,10 @@ wrOpenEXY io.l 1495 wrSetCL_F io.l 2737 wrSyncErrX err.l 575 wtermsigS_A sys/x86-64.linux.code.l 34 -xCntAX_FA main.l 2201 -xCntCX_FC main.l 2192 -xCntEX_FE main.l 2183 -xSymE_E main.l 2158 +xCntAX_FA main.l 2220 +xCntCX_FC main.l 2211 +xCntEX_FE main.l 2202 +xSymE_E main.l 2177 xoruAE_A big.l 465 yieldErrEX err.l 482 yieldErrX err.l 480 diff --git a/src64/version.l b/src64/version.l @@ -1,6 +1,6 @@ -# 10apr12abu +# 17apr12abu # (c) Software Lab. Alexander Burger -(de *Version 3 1 0 1) +(de *Version 3 1 0 2) # vi:et:ts=3:sw=3