commit a17c69284e8338de4ee4e4a5c69e11b1384f1c19
parent 65a3e80886fb9d8f2166ff19e00024c4eb0f01c8
Author: Alexander Burger <abu@software-lab.de>
Date: Tue, 5 Apr 2011 13:41:00 +0200
Symmetric initData/initCode handling
Diffstat:
4 files changed, 37 insertions(+), 35 deletions(-)
diff --git a/lib/tags b/lib/tags
@@ -25,16 +25,16 @@ $ (2958 . "@src64/flow.l")
>> (2625 . "@src64/big.l")
abs (2729 . "@src64/big.l")
accept (139 . "@src64/net.l")
-adr (605 . "@src64/main.l")
-alarm (482 . "@src64/main.l")
+adr (606 . "@src64/main.l")
+alarm (483 . "@src64/main.l")
all (770 . "@src64/sym.l")
and (1620 . "@src64/flow.l")
any (3933 . "@src64/io.l")
append (1338 . "@src64/subr.l")
apply (713 . "@src64/apply.l")
-arg (2272 . "@src64/main.l")
-args (2248 . "@src64/main.l")
-argv (2893 . "@src64/main.l")
+arg (2273 . "@src64/main.l")
+args (2249 . "@src64/main.l")
+argv (2894 . "@src64/main.l")
as (146 . "@src64/flow.l")
asoq (3001 . "@src64/subr.l")
assoc (2966 . "@src64/subr.l")
@@ -65,7 +65,7 @@ call (3089 . "@src64/flow.l")
car (5 . "@src64/subr.l")
case (1961 . "@src64/flow.l")
catch (2463 . "@src64/flow.l")
-cd (2648 . "@src64/main.l")
+cd (2649 . "@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? (2398 . "@src64/subr.l")
clip (1795 . "@src64/subr.l")
close (4339 . "@src64/io.l")
-cmd (2875 . "@src64/main.l")
+cmd (2876 . "@src64/main.l")
cnt (1413 . "@src64/apply.l")
co (2545 . "@src64/flow.l")
commit (1496 . "@src64/db.l")
@@ -99,9 +99,9 @@ connect (201 . "@src64/net.l")
cons (747 . "@src64/subr.l")
copy (1225 . "@src64/subr.l")
ctl (4217 . "@src64/io.l")
-ctty (2673 . "@src64/main.l")
+ctty (2674 . "@src64/main.l")
cut (1795 . "@src64/sym.l")
-date (2387 . "@src64/main.l")
+date (2388 . "@src64/main.l")
dbck (2105 . "@src64/db.l")
de (531 . "@src64/flow.l")
dec (2323 . "@src64/big.l")
@@ -111,16 +111,16 @@ del (1850 . "@src64/sym.l")
delete (1401 . "@src64/subr.l")
delq (1452 . "@src64/subr.l")
diff (2585 . "@src64/subr.l")
-dir (2806 . "@src64/main.l")
+dir (2807 . "@src64/main.l")
dm (543 . "@src64/flow.l")
do (2137 . "@src64/flow.l")
e (2919 . "@src64/flow.l")
echo (4370 . "@src64/io.l")
-env (617 . "@src64/main.l")
+env (618 . "@src64/main.l")
eof (3492 . "@src64/io.l")
eol (3483 . "@src64/io.l")
err (4197 . "@src64/io.l")
-errno (1383 . "@src64/main.l")
+errno (1384 . "@src64/main.l")
eval (182 . "@src64/flow.l")
ext (5100 . "@src64/io.l")
ext? (1032 . "@src64/sym.l")
@@ -128,7 +128,7 @@ extern (898 . "@src64/sym.l")
extra (1262 . "@src64/flow.l")
extract (1218 . "@src64/apply.l")
fifo (1961 . "@src64/sym.l")
-file (2753 . "@src64/main.l")
+file (2754 . "@src64/main.l")
fill (3236 . "@src64/subr.l")
filter (1161 . "@src64/apply.l")
fin (2029 . "@src64/subr.l")
@@ -154,7 +154,7 @@ getl (3030 . "@src64/sym.l")
glue (1232 . "@src64/sym.l")
gt0 (2716 . "@src64/big.l")
head (1816 . "@src64/subr.l")
-heap (537 . "@src64/main.l")
+heap (538 . "@src64/main.l")
hear (3196 . "@src64/io.l")
host (184 . "@src64/net.l")
id (1027 . "@src64/db.l")
@@ -165,7 +165,7 @@ ifn (1861 . "@src64/flow.l")
in (4157 . "@src64/io.l")
inc (2256 . "@src64/big.l")
index (2633 . "@src64/subr.l")
-info (2710 . "@src64/main.l")
+info (2711 . "@src64/main.l")
intern (873 . "@src64/sym.l")
ipid (3208 . "@src64/flow.l")
isa (958 . "@src64/flow.l")
@@ -182,7 +182,7 @@ lieu (1156 . "@src64/db.l")
line (3667 . "@src64/io.l")
lines (3820 . "@src64/io.l")
link (1172 . "@src64/subr.l")
-lisp (1950 . "@src64/main.l")
+lisp (1951 . "@src64/main.l")
list (887 . "@src64/subr.l")
listen (151 . "@src64/net.l")
lit (157 . "@src64/flow.l")
@@ -221,10 +221,10 @@ n== (2083 . "@src64/subr.l")
nT (2194 . "@src64/subr.l")
name (497 . "@src64/sym.l")
nand (1655 . "@src64/flow.l")
-native (1391 . "@src64/main.l")
+native (1392 . "@src64/main.l")
need (919 . "@src64/subr.l")
new (832 . "@src64/flow.l")
-next (2255 . "@src64/main.l")
+next (2256 . "@src64/main.l")
nil (1738 . "@src64/flow.l")
nond (1938 . "@src64/flow.l")
nor (1676 . "@src64/flow.l")
@@ -238,7 +238,7 @@ onOff (1611 . "@src64/sym.l")
one (1644 . "@src64/sym.l")
open (4301 . "@src64/io.l")
opid (3224 . "@src64/flow.l")
-opt (2996 . "@src64/main.l")
+opt (2997 . "@src64/main.l")
or (1636 . "@src64/flow.l")
out (4177 . "@src64/io.l")
pack (1142 . "@src64/sym.l")
@@ -265,24 +265,24 @@ prog (1756 . "@src64/flow.l")
prog1 (1764 . "@src64/flow.l")
prog2 (1781 . "@src64/flow.l")
prop (2779 . "@src64/sym.l")
-protect (527 . "@src64/main.l")
+protect (528 . "@src64/main.l")
prove (3523 . "@src64/subr.l")
push (1686 . "@src64/sym.l")
push1 (1722 . "@src64/sym.l")
put (2696 . "@src64/sym.l")
putl (2948 . "@src64/sym.l")
-pwd (2637 . "@src64/main.l")
+pwd (2638 . "@src64/main.l")
queue (1918 . "@src64/sym.l")
-quit (1100 . "@src64/main.l")
+quit (1101 . "@src64/main.l")
quote (141 . "@src64/flow.l")
rand (2973 . "@src64/big.l")
range (997 . "@src64/subr.l")
rank (3029 . "@src64/subr.l")
-raw (460 . "@src64/main.l")
+raw (461 . "@src64/main.l")
rd (5117 . "@src64/io.l")
read (2627 . "@src64/io.l")
replace (1499 . "@src64/subr.l")
-rest (2301 . "@src64/main.l")
+rest (2302 . "@src64/main.l")
reverse (1674 . "@src64/subr.l")
rewind (5083 . "@src64/io.l")
rollback (1890 . "@src64/db.l")
@@ -295,14 +295,14 @@ send (1130 . "@src64/flow.l")
seq (1083 . "@src64/db.l")
set (1480 . "@src64/sym.l")
setq (1513 . "@src64/sym.l")
-sigio (498 . "@src64/main.l")
+sigio (499 . "@src64/main.l")
size (2802 . "@src64/subr.l")
skip (3469 . "@src64/io.l")
sort (3958 . "@src64/subr.l")
sp? (709 . "@src64/sym.l")
space (5017 . "@src64/io.l")
split (1588 . "@src64/subr.l")
-stack (566 . "@src64/main.l")
+stack (567 . "@src64/main.l")
state (2005 . "@src64/flow.l")
stem (1985 . "@src64/subr.l")
str (3987 . "@src64/io.l")
@@ -322,7 +322,7 @@ text (1270 . "@src64/sym.l")
throw (2489 . "@src64/flow.l")
tick (3176 . "@src64/flow.l")
till (3578 . "@src64/io.l")
-time (2520 . "@src64/main.l")
+time (2521 . "@src64/main.l")
touch (1047 . "@src64/sym.l")
trim (1755 . "@src64/subr.l")
try (1171 . "@src64/flow.l")
@@ -331,13 +331,13 @@ udp (268 . "@src64/net.l")
unify (3931 . "@src64/subr.l")
unless (1897 . "@src64/flow.l")
until (2081 . "@src64/flow.l")
-up (708 . "@src64/main.l")
+up (709 . "@src64/main.l")
upp? (3228 . "@src64/sym.l")
uppc (3292 . "@src64/sym.l")
use (1569 . "@src64/flow.l")
-usec (2625 . "@src64/main.l")
+usec (2626 . "@src64/main.l")
val (1461 . "@src64/sym.l")
-version (3010 . "@src64/main.l")
+version (3011 . "@src64/main.l")
wait (3118 . "@src64/io.l")
when (1880 . "@src64/flow.l")
while (2057 . "@src64/flow.l")
diff --git a/src64/glob.l b/src64/glob.l
@@ -1,6 +1,9 @@
# 05apr11abu
# (c) Software Lab. Alexander Burger
+(data 'Data 0)
+ initData
+
(data 'Globals 0)
:: AV word 0 # Command line argument vector
:: AV0 word 0 # Command name
@@ -1143,6 +1146,4 @@
hx2 ("0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0")
hx2 ("0" "0" "0" "0" "0" "0" "0")
-initData
-
# vi:et:ts=3:sw=3
diff --git a/src64/lib/asm.l b/src64/lib/asm.l
@@ -418,8 +418,8 @@
(inc (destination) "*Mode")
(initCode)
(initData)
- (initMain)
(initFun (read) (read) (operand (read)))
+ (initMain)
(initSym (read) (read) (operand (read)))
(jc (address) "*Mode")
(jcz (address) "*Mode")
diff --git a/src64/main.l b/src64/main.l
@@ -1,6 +1,9 @@
# 05apr11abu
# (c) Software Lab. Alexander Burger
+(code 'Code 0)
+ initCode
+
### Global return labels ###
(code 'Ret 0)
ret
@@ -26,8 +29,6 @@
ld E (E) # Get value or CAR
ret
-initCode
-
### Main entry point ###
(code 'main)
initMain