ref: f7b53020ad8d6fcde7e963958e00598522c8c8ca
parent: b6927437b4089386066a6dbe1b7e84fb4e20d638
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Thu Nov 28 01:44:29 EST 2024
remove unused "nop" opcode
--- a/flisp.boot
+++ b/flisp.boot
@@ -15,7 +15,7 @@
#fn("8000z0700}2:" #(div0))
#fn("6000n201l:" #()) #fn("6000n201m:" #()) 0 #fn("8000z0700}2:" #(vector))
#fn("7000n30182p:" #()) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0)
+ 0 0 0 0 0 0 0 0 0 0 0)
*empty-string* "" *interactive* #f *runestring-type* (array rune)
*string-type* (array byte) *syntax-environment*
#table(when #fn(";000z1200211POe4:" #(if begin)) with-output-to #fn("<000z12021e1220e2e1e12315163:" #(#fn(nconc)
@@ -49,7 +49,7 @@
length=) 1arg-lambda?)
<= #fn("6000n210L;IB0470051;380470151S:" #(nan?) <=) >
#fn("6000n210L:" #() >) >= #fn("6000n201L;IB0470051;380470151S:" #(nan?) >=)
- Instructions #table(call.l 81 trycatch 75 largc 79 loadg.l 68 box 90 cadr 36 argc 62 setg 71 load0 21 vector? 45 fixnum? 41 loadc0 17 loada0 0 div0 59 keyargs 89 call 5 loada.l 69 brt.l 50 pair? 18 sub2 78 add2 29 loadc.l 70 loadc 9 builtin? 43 set-car! 47 brt 25 ret 10 loadi8 66 tapply 77 loada1 1 shift 92 boolean? 39 atom? 24 cdr 13 brne.l 83 / 58 loadf 31 equal? 52 apply 54 dup 11 loadt 20 jmp.l 48 null? 38 not 35 = 60 set-cdr! 30 eq? 33 * 57 load1 27 dummy_t 94 bound? 42 brf 3 function? 44 box.l 91 < 28 brnn.l 84 jmp 16 loadv 2 for 76 lvargc 80 dummy_eof 96 + 55 dummy_f 93 brne 19 compare 61 neg 37 loadv.l 67 number? 40 vargc 74 brn 85 brbound 88 vector 63 loadc1 22 setg.l 72 aref 23 brf.l 49 symbol? 34 aset! 64 car 12 cons 32 tcall.l 82 - 56 brn.l 86 optargs 87 nop 46 closure 14 pop 4 eqv? 51 list 53 seta 15 seta.l 73 brnn 26 loadnil 65 loadg 7 loada 8 dummy_nil 95 tcall 6)
+ Instructions #table(call.l 81 trycatch 75 largc 79 loadg.l 68 box 90 cadr 36 argc 62 setg 71 load0 21 vector? 45 fixnum? 41 loadc0 17 loada0 0 div0 59 keyargs 89 call 5 loada.l 69 brt.l 50 pair? 18 sub2 78 add2 29 loadc.l 70 loadc 9 builtin? 43 set-car! 47 brt 25 ret 10 loadi8 66 tapply 77 loada1 1 shift 46 boolean? 39 atom? 24 cdr 13 brne.l 83 / 58 loadf 31 equal? 52 apply 54 dup 11 loadt 20 jmp.l 48 null? 38 not 35 = 60 set-cdr! 30 eq? 33 * 57 load1 27 dummy_t 93 bound? 42 brf 3 function? 44 box.l 91 < 28 brnn.l 84 jmp 16 loadv 2 for 76 lvargc 80 dummy_eof 95 + 55 dummy_f 92 brne 19 compare 61 neg 37 loadv.l 67 number? 40 vargc 74 brn 85 brbound 88 vector 63 loadc1 22 setg.l 72 brf.l 49 aref 23 symbol? 34 aset! 64 car 12 cons 32 tcall.l 82 - 56 brn.l 86 optargs 87 closure 14 pop 4 eqv? 51 list 53 seta 15 seta.l 73 brnn 26 loadnil 65 loadg 7 loada 8 dummy_nil 94 tcall 6)
__init_globals #fn("5000n020w1422w3474w5476w7478w9:" #("/"
*directory-separator*
"\n"
@@ -60,7 +60,7 @@
*input-stream*
*stderr*
*error-stream*) __init_globals)
- __rcscript #fn(":000n0708421c37022@U08423c3A0242526512752@>0242528512952\x8c12:84513907;8461:D:" #(*os-name*
+ __rcscript #fn(":000n0708421c37022@U08423c3A0242526512752@>0242528512952^12:84513907;8461:D:" #(*os-name*
unknown "" plan9 #fn(string) #fn(os-getenv) "home" "/lib/flisprc" "HOME" "/.flisprc"
#fn(path-exists?) load) __rcscript)
__script #fn("6000n1200>121{:" #(#fn("6000n070A61:" #(load))
@@ -82,7 +82,7 @@
bcode:nconst #fn(has?) #fn(get) #fn(put!)) bcode:indexfor)
bcode:nconst #fn("6000n10r2G:" #() bcode:nconst) bcode:sp
#fn("6000n10r4G:" #() bcode:sp) bcode:stack #fn("8000n20r40r4G1Mp:" #() bcode:stack)
- box-vars #fn("9000n2D\x8a68620086>2_486<\x8c1161:" #(#fn("9000n10B3Q00<T3B070A21720<5153@30D4F<0=61:D:" #(emit
+ box-vars #fn("9000n2D\x8a68620086>2_486<^1161:" #(#fn("9000n10B3Q00<T3B070A21720<5153@30D4F<0=61:D:" #(emit
box caddr))) box-vars)
bq-bracket #fn(";000n20H3=070710152e2:0<22CR01El380700=P:707324710=1K~52e3e2:0<25CS01El390260Te2:707027710T1K~52e3e2:0<28CO01El3500T:707029710T1K~52e3e2:70710152e2:" #(list
bq-process unquote cons 'unquote unquote-splicing copy-list 'unquote-splicing
@@ -89,7 +89,7 @@
unquote-nsplicing 'unquote-nsplicing) bq-bracket)
bq-bracket1 #fn(":000n20B;38040<20Q3K01El3500T:7122730=1K~52e3:730162:" #(unquote
cons 'unquote bq-process) bq-bracket1)
- bq-process #fn("<000n20R380200e2:0]3T0717205115286<73C907486=P:757486e3:0H3400:0<26CB07327710T1KM52e3:0<28CW01El;3:04790r2523500T:7:2;710=1K~52e3:7<7=052It07>0512?2@1>105286J807387P:87=JA07:87<7186152e3:2A7B87P7186152e162:D\x8a6862C186>2_486<\x8c10q62:" #(quote
+ bq-process #fn("<000n20R380200e2:0]3T0717205115286<73C907486=P:757486e3:0H3400:0<26CB07327710T1KM52e3:0<28CW01El;3:04790r2523500T:7:2;710=1K~52e3:7<7=052It07>0512?2@1>105286J807387P:87=JA07:87<7186152e3:2A7B87P7186152e162:D\x8a6862C186>2_486<^10q62:" #(quote
bq-process vector->list list vector apply quasiquote 'quasiquote unquote
length= cons 'unquote any splice-form? lastcdr #fn(map)
#fn("7000n1700A62:" #(bq-bracket1)) #fn(nconc) list* #fn("=000n20J;02071151P:0B3n00<22CW020731AEl3700=@C07425e2760=AK~52e252P:F<0=770<A521P62:2071760A521P51P:" #(nconc
@@ -182,12 +182,12 @@
bcode:nconst table-foreach #fn("7000n2A10p:" #()) bcode:ctable) const-to-idx-vec)
copy-tree #fn("7000n10H3400:700<51700=51P:" #(copy-tree) copy-tree)
count #fn("9000n2D\x8a6862086>1_486<01E63:" #(#fn("9000n31J5082:A<01=01<5139082KM@408263:" #() count-)) count)
- delete-duplicates #fn(":000n1700rD523O02150D\x8a686228586>2_486<\x8c10q62:0H3400:0<0=73858652390748661:85748651P:" #(length>
+ delete-duplicates #fn(":000n1700rD523O02150D\x8a686228586>2_486<^10q62:0H3400:0<0=73858652390748661:85748651P:" #(length>
#fn(table) #fn("8000n20H38070161:21A0<523:0F<0=162:22A0<D534F<0=0<1P62:" #(reverse!
#fn(has?) #fn(put!))) member delete-duplicates) delete-duplicates)
diff #fn("8000n20J40q:200<1523:0710=162:0<710=152P:" #(#fn(memq)
diff) diff)
- disassemble #fn("T000\x871000.///\x881000I60O?14z282JD07001E53471504D:@30D482<2205123051DD2487>1?:425187>2?;4r4268851\x8a<D8<<8=L3\x85242728888<>2O79537:8<<r4523907150@30D4E87K~2;|48<8<<KM_48>2<8?2=523[08;8>8<<r45348:897>888<<52G5148<8<<r4M_@\x1112<8?2?523V08;8>8<<K5348:89888<<GG5148<8<<KM_@\xe212<8?2@523W08;8>8<<K5347A2B888<<G515148<8<<KM_@\xb212<8?2C523\\08;8>8<<r45347A2B7>888<<52515148<8<<r4M_@}12<8?2D523\xb808;8>8<<r88>2EC70r4@30EM5347A2B7>888<<52512F5248<8<<r4M_47A2B7>888<<52515148<8<<r4M_48>2ECY07A2F5147A2B7>888<<52512F5248<8<<r4M_@30D@\xec08?2Gc3^08;8>8<<r45347A2B7>888<<52512F5248<8<<r4M_@\xb802<8?2H523e08;8>8<<r25347A2I7J8<<r,7K888<<52g3515248<8<<r2M_@z02<8?2L523e08;8>8<<r45347A2I7J8<<r,7>888<<52g3515248<8<<r4M_@<08;8>8<<E53\x8c1\x8c1@\xd6-:" #(disassemble
+ disassemble #fn("T000\x871000.///\x881000I60O?14z282JD07001E53471504D:@30D482<2205123051DD2487>1?:425187>2?;4r4268851\x8a<D8<<8=L3\x85242728888<>2O79537:8<<r4523907150@30D4E87K~2;|48<8<<KM_48>2<8?2=523[08;8>8<<r45348:897>888<<52G5148<8<<r4M_@\x1112<8?2?523V08;8>8<<K5348:89888<<GG5148<8<<KM_@\xe212<8?2@523W08;8>8<<K5347A2B888<<G515148<8<<KM_@\xb212<8?2C523\\08;8>8<<r45347A2B7>888<<52515148<8<<r4M_@}12<8?2D523\xb808;8>8<<r88>2EC70r4@30EM5347A2B7>888<<52512F5248<8<<r4M_47A2B7>888<<52515148<8<<r4M_48>2ECY07A2F5147A2B7>888<<52512F5248<8<<r4M_@30D@\xec08?2Gc3^08;8>8<<r45347A2B7>888<<52512F5248<8<<r4M_@\xb802<8?2H523e08;8>8<<r25347A2I7J8<<r,7K888<<52g3515248<8<<r2M_@z02<8?2L523e08;8>8<<r45347A2I7J8<<r,7>888<<52g3515248<8<<r4M_@<08;8>8<<E53^1^1@\xd6-:" #(disassemble
newline #fn(function:code) #fn(function:vals)
#fn("9000n10\\;36040[S3C07021514720OAKM63:73061:" #(princ "\n" disassemble
print) print-val)
@@ -202,7 +202,7 @@
keyargs " " brbound (jmp brf brt brne brnn brn) "@" hex5 ref-int16-LE (jmp.l
brf.l brt.l brne.l brnn.l brn.l)) disassemble)
div #fn("7000n201k0EL;3C041EL;3404K;I504r/;I404EM:" #() div) emit
- #fn("P000z282Jb0120Q;3C040EGB;3:040EG<21Q3;00EG22_@:00E10EGPp@\xb9123124523A075082<52e1?2@30D4261275287;3<047882<29523:087T?1@30D\x8c142612:5287;3<047882<29523:087T?1@30D\x8c1412;C\\0822<d3=02=?14q?2@F0822>d3=02??14q?2@30O@30D412@C\\0822<d3=02A?14q?2@F0822>d3=02B?14q?2@30O@30D40EGB3900EG<@30q0EG12CQ;3\x9f04872DQ;390488T2EQ3E00E82<2F7G8851PPp@x0872DCB00E82<2H88=PPp@a0872ICB00E82<2J88=PPp@J0872ECB00E82<2K88=PPp@30O;Ia0412HQ;3804872EQ3B00E82<2F88=PPp@?00E7L182P8852p\x8c240:" #(car
+ #fn("P000z282Jb0120Q;3C040EGB;3:040EG<21Q3;00EG22_@:00E10EGPp@\xb9123124523A075082<52e1?2@30D4261275287;3<047882<29523:087T?1@30D^142612:5287;3<047882<29523:087T?1@30D^1412;C\\0822<d3=02=?14q?2@F0822>d3=02??14q?2@30O@30D412@C\\0822<d3=02A?14q?2@F0822>d3=02B?14q?2@30O@30D40EGB3900EG<@30q0EG12CQ;3\x9f04872DQ;390488T2EQ3E00E82<2F7G8851PPp@x0872DCB00E82<2H88=PPp@a0872ICB00E82<2J88=PPp@J0872ECB00E82<2K88=PPp@30O;Ia0412HQ;3804872EQ3B00E82<2F88=PPp@?00E7L182P8852p^240:" #(car
cdr cadr #fn(memq) (loadv loadg setg) bcode:indexfor #fn(assq)
((loadv loadv.l) (loadg loadg.l) (setg setg.l) (loada loada.l) (seta seta.l)
(box box.l)) > 255 ((loadc loadc.l)) loada (0) loada0 (1)
@@ -210,7 +210,7 @@
emit-optional-arg-inits #fn("<000n582B3\x900700517102284534710238953474075176838452q53O7782515447102884534710295247:0895247;0182=8384KM65:D:" #(make-label
emit brbound brt compile-in extend-env list-head cadar seta pop mark-label
emit-optional-arg-inits) emit-optional-arg-inits)
- encode-byte-code #fn("S000n17005171855172238651r3238651r2ki2M2452238651E255025502650OO278<28524D8988L3\xd9148689G?=48=29CP02:8:8689KMG2;8<5153489r2M?9@\xa81278<2<2=7>873\x8308=8D2?C702@@p08D2AC702B@d08D2CC702D@X08D2EC702F@L08D2GC702H@@08D2IC702J@408=\x8c1@408=525152489KM?948988L3:08689G@30O?>42K8=2L523`02:8;2;8<518>534278<873707M@407NE5152489KM?9@\xeb08=2OCH0278<2P8>5152489KM?9@\xce08>X3\xc708=2K8?2Q523H0278<2P8>5152489KM?9@\x9f02K8?2R523\x810278<2P8>5152489KM?94278<2P8689G5152489KM?948=2SCK0278<2P8689G5152489KM?9@30D@E0278<2T8>5152489KM?9\x8c1@30O@\x83.47U2V8<878:>38;5242W8<61:" #(reverse!
+ encode-byte-code #fn("S000n17005171855172238651r3238651r2ki2M2452238651E255025502650OO278<28524D8988L3\xd9148689G?=48=29CP02:8:8689KMG2;8<5153489r2M?9@\xa81278<2<2=7>873\x8308=8D2?C702@@p08D2AC702B@d08D2CC702D@X08D2EC702F@L08D2GC702H@@08D2IC702J@408=^1@408=525152489KM?948988L3:08689G@30O?>42K8=2L523`02:8;2;8<518>534278<873707M@407NE5152489KM?9@\xeb08=2OCH0278<2P8>5152489KM?9@\xce08>X3\xc708=2K8?2Q523H0278<2P8>5152489KM?9@\x9f02K8?2R523\x810278<2P8>5152489KM?94278<2P8689G5152489KM?948=2SCK0278<2P8689G5152489KM?9@30D@E0278<2T8>5152489KM?9^1@30O@\x83.47U2V8<878:>38;5242W8<61:" #(reverse!
list->vector >= #fn(length) 65536 #fn(table)
#fn(buffer) #fn(io-write) #int32(0) label #fn(put!)
#fn(sizeof) #fn(byte) #fn(get) Instructions jmp jmp.l brt brt.l brf brf.l
@@ -225,7 +225,7 @@
even? #fn("7000n1200K52El:" #(#fn(logand)) even?) every
#fn("7000n21H;ID0401<51;3:047001=62:" #(every) every) expand #fn("F000n1DDDDDDDDDDD\x8a5\x8a6\x8a7\x8a8\x8a9\x8a:\x8a;\x8a<\x8a=\x8a>\x8a?8520_4862186>1_48722e1_4882385868?87>4_489248?89>2_48:258:>1_48;268:8988>3_48<278?8:8988>4_48=28888?>2_48>29_48?2:8?8>8;8<8=>5_48?<0q62:" #(#fn("7000n20Z;I904200152S:" #(#fn(assq)) top?)
#fn("8000n10H3400:020d3400:0<B;3;047105122Q3F023A<7405151A<0=5162:0<A<0=51P:" #(((begin))
- caar begin #fn(append) cdar) splice-begin) *expanded* #fn("A000n20H3400:A<201523:0F<051@300A<21152873;0728651@30q2324758852152\x8a987IA024269289>28662:D\x8a:8:278:928993>4_48:<\x8c186518:D8;B3c0493<788;51QIC08;92<8;<89<52_@;08;798;51_48;=?;@\xfb/48::" #(begin
+ caar begin #fn(append) cdar) splice-begin) *expanded* #fn("A000n20H3400:A<201523:0F<051@300A<21152873;0728651@30q2324758852152\x8a987IA024269289>28662:D\x8a:8:278:928993>4_48:<^186518:D8;B3c0493<788;51QIC08;92<8;<89<52_@;08;798;51_48;=?;@\xfb/48::" #(begin
define get-defined-vars #fn(nconc) #fn(map) list #fn("7000n1A<0F<62:" #())
#fn(";000n10H3400:0<B;3;042071051Q3<00<A<0=51P:F<0<92<52922223747585515292<52_493<85PA<0=51P:" #(define
caar #fn(nconc) #fn(map) list get-defined-vars)) caar cdar) expand-body)
@@ -240,7 +240,7 @@
#fn("9000n10<70A<0TF525150Fe3:" #(compile-thunk))) expand-let-syntax)
#fn("5000n20:" #() local-expansion-env)
#fn("<000n20H3400:0<208615221A10>387;370487=B3I0A<87T0=f2F<72875115262:87;I?0486RS;I60486Z3708860:73051893>0A<890=f2162:8624C400:8625C:092<0162:8625C:092<0162:8626C:093<0162:8627C:094<0162:8860:" #(#fn(assq)
- #fn(":000n0D\x8a48420AF84>3_484<\x8c19261:" #(#fn("8000n10H3400:0<H3700<@90A<0<F5292<0=51P:" #())))
+ #fn(":000n0D\x8a48420AF84>3_484<^19261:" #(#fn("8000n10H3400:0<H3700<@90A<0<F5292<0=51P:" #())))
caddr macrocall? quote λ define let-syntax) expand-in)) expand)
expand-define #fn("?000n10T70051B3:070051@L00TR3;07150e1@=07223740515285R3<0258586<e3:2585<2627e185=e128865185<54e3:" #(cddr
void error "compile error: invalid syntax " print-to-string set! #fn(nconc)
@@ -266,7 +266,7 @@
io-readline #fn("7000n12002162:" #(#fn(io-readuntil) #\newline) io-readline)
io-readlines #fn("7000n17071062:" #(read-all-of io-readline) io-readlines)
iota #fn("7000n17071062:" #(map-int identity) iota) is-lambda?
- #fn("6000n1020Q;I704020Q:" #(λ) is-lambda?) keyword->symbol #fn("<000n1200513O021220512386E742586515153\x8c161:0:" #(#fn(keyword?)
+ #fn("6000n1020Q;I704020Q:" #(λ) is-lambda?) keyword->symbol #fn("<000n1200513O021220512386E742586515153^161:0:" #(#fn(keyword?)
#fn(symbol) #fn(string) #fn(string-sub) 1- #fn(string-length)) keyword->symbol)
keyword-arg? #fn("6000n10B;3904200<61:" #(#fn(keyword?)) keyword-arg?)
lambda-vars #fn(":000n1D\x8a5852085>1_485<00OO54421227305162:" #(#fn(":000n40V;I5040R340D:0B;36040<R3T082;I504833<0702112263:A<0=1828364:0B;36040<B3\x890730<r252;390474051R360O@=070250<2615442774051513=0A<0=182D64:833<0702112863:A<0=1D8364:0B3>070290<26164:01C:07021162:7029026164:" #(error
@@ -285,7 +285,7 @@
list-ref #fn("7000n2700152<:" #(list-tail) list-ref) list-tail
#fn("8000n2701E523400:710=1K~62:" #(<= list-tail) list-tail) list?
#fn("6000n10V;I@040B;3904700=61:" #(list?) list?) load #fn("9000n120021522285>123850>2{:" #(#fn(file)
- :read #fn("9000n0D\x8a48420A84>2_484<\x8c1DDD63:" #(#fn("9000n320A51IB0F<21A5107215163:23A51472161:" #(#fn(io-eof?)
+ :read #fn("9000n0D\x8a48420A84>2_484<^1DDD63:" #(#fn("9000n320A51IB0F<21A5107215163:23A51472161:" #(#fn(io-eof?)
#fn(read) load-process #fn(io-close)))))
#fn("8000n120A5142122F0e361:" #(#fn(io-close)
#fn(raise) load-error))) load)
@@ -300,8 +300,8 @@
macroexpand-1 #fn("7000n10H3400:7005185390850=}2:0:" #(macrocall?) macroexpand-1)
make-code-emitter #fn("9000n0q2050EqEo5:" #(#fn(table)) make-code-emitter)
make-label #fn("5000n12060:" #(#fn(gensym)) make-label)
- make-perfect-hash-table #fn(";000n1D\x8a58520_4D\x8a6862185860>3_486<\x8c12205161:" #(#fn("8000n270712205151162:" #(mod0
- abs #fn(hash)) $hash-keyword) #fn("=000n120r20i2O52D\x8a68621A085F86>5_486<\x8c19261:" #(#fn(vector-alloc)
+ make-perfect-hash-table #fn(";000n1D\x8a58520_4D\x8a6862185860>3_486<^12205161:" #(#fn("8000n270712205151162:" #(mod0
+ abs #fn(hash)) $hash-keyword) #fn("=000n120r20i2O52D\x8a68621A085F86>5_486<^19261:" #(#fn(vector-alloc)
#fn(":000n10B3p070051r2A<85F52i29286G3;093<FKM61:928685p49286KM71051p494<0=61:92:" #(caar
cdar)))) #fn(length)) make-perfect-hash-table)
make-system-image #fn("<000n120021222354247576Dw54Dw64278788>2288685>22989>1{89504:" #(#fn(file)
@@ -310,7 +310,7 @@
*print-readably* *print-level*
*print-length* *os-name*) *print-pretty*
*print-readably* #fn("5000n0Aw04Fw1:" #(*print-pretty* *print-readably*))
- #fn("=000n07021A>1722350515224752677842678845253f2F52429F7:52\x8c142;F61:" #(filter
+ #fn("=000n07021A>1722350515224752677842678845253f2F52429F7:52^142;F61:" #(filter
#fn("8000n10Z;3u0420051S;3j0421051[S;IC0422051222105151dS;3I04230A52S;3=04242105151S:" #(#fn(constant?)
#fn(top-level-value) #fn(string) #fn(memq)
#fn(iostream?))) simple-sort #fn(environment)
@@ -337,7 +337,7 @@
#fn("7000n07071A62:" #(for-each
write)) #fn("6000n1A50420061:" #(#fn(raise)))) princ)
print #fn("9000z07071062:" #(for-each write) print) print-exception
- #fn("=000n10B;3D040<20Q;3:04710r3523I072230T24534757605151@ 00B;3D040<27Q;3:04710r3523I072287605129534750T51@\xee00B;3D040<2:Q;3:04710r2523?0722;0T2<53@\xc600B;38040<2=Q3B0722>514720=f2@\xa700B;38040<2?Q3G07@76051514722A0T52@\x8307B051;3:04710r2523c0750<514722C5140T2D8551;I60485R37072@40758551\x8c1@>0722E514750514727F61:" #(type-error
+ #fn("=000n10B;3D040<20Q;3:04710r3523I072230T24534757605151@ 00B;3D040<27Q;3:04710r3523I072287605129534750T51@\xee00B;3D040<2:Q;3:04710r2523?0722;0T2<53@\xc600B;38040<2=Q3B0722>514720=f2@\xa700B;38040<2?Q3G07@76051514722A0T52@\x8307B051;3:04710r2523c0750<514722C5140T2D8551;I60485R37072@40758551^1@>0722E514750514727F61:" #(type-error
length= princ "type error: expected " ", got " print caddr bounds-error "index "
" out of bounds for " unbound-error "eval: variable " " has no value" error
"error: " load-error print-exception "in file " list? ": " #fn(string?)
@@ -364,7 +364,7 @@
#fn("7000n1200513<0712250062:23500i2:" #(#fn(integer?) mod #fn(rand)
#fn(rand-double)) random)
read-all #fn("7000n17071062:" #(read-all-of read) read-all)
- read-all-of #fn(":000n2D\x8a686201860>3_486<\x8c1q015162:" #(#fn("8000n220A5138071061:F<10P92A5162:" #(#fn(io-eof?)
+ read-all-of #fn(":000n2D\x8a686201860>3_486<^1q015162:" #(#fn("8000n220A5138071061:F<10P92A5162:" #(#fn(io-eof?)
reverse!))) read-all-of)
ref-int16-LE #fn(":000n2202101EMGE522101KMGr852M61:" #(#fn(int16)
#fn(ash)) ref-int16-LE)
@@ -396,7 +396,7 @@
#fn(iostream->string)) string-join)
string-lpad #fn(":000n3207182122051~52062:" #(#fn(string)
string-rep #fn(string-length)) string-lpad)
- string-map #fn("=000n2205021151ED8887L3O0422860231885251524748851?8@\x0d/\x8c14258661:" #(#fn(buffer)
+ string-map #fn("=000n2205021151ED8887L3O0422860231885251524748851?8@\r/^14258661:" #(#fn(buffer)
#fn(string-length) #fn(io-putc) #fn(string-char) 1+ #fn(iostream->string)) string-map)
string-rep #fn(":000n21r4L3`0701E5235021:1Kl38022061:1r2l390220062:2200063:731513@02207401K~5262:742200521r2j262:" #(<=
"" #fn(string) odd? string-rep) string-rep)
@@ -429,7 +429,7 @@
*stderr* #fn("5000n0Aw0:" #(*output-stream*))
#fn("6000n070A51471225061:" #(print-exception
print-stack-trace #fn(stacktrace))) #fn("6000n1A50420061:" #(#fn(raise)))) top-level-exception-handler)
- trace #fn("A000n1200512150728551Ig0230742586262728290e286e3e22:e12;2985e286e3e4e35152@30D\x8c1\x8c142<:" #(#fn(top-level-value)
+ trace #fn("A000n1200512150728551Ig0230742586262728290e286e3e22:e12;2985e286e3e4e35152@30D^1^142<:" #(#fn(top-level-value)
#fn(gensym) traced? #fn(set-top-level-value!) eval λ begin write cons quote
newline apply ok) trace)
traced? #fn("7000n170051;3?042105121A<51d:" #(closure? #fn(function:code)) #((#fn("9000z020210P51472504230}2:" #(#fn(write)
--- a/flisp.c
+++ b/flisp.c
@@ -941,7 +941,6 @@
GOTO_OP_OFFSET(OP_BUILTINP),
GOTO_OP_OFFSET(OP_FUNCTIONP),
GOTO_OP_OFFSET(OP_VECTORP),
- GOTO_OP_OFFSET(OP_NOP),
GOTO_OP_OFFSET(OP_SETCAR),
GOTO_OP_OFFSET(OP_JMPL),
GOTO_OP_OFFSET(OP_BRFL),
@@ -1801,9 +1800,6 @@
FL(stack)[ipd] = (uintptr_t)ip;
nargs = process_keys(v, i, n, labs(s)-(i+n), bp, nargs, s<0);
ipd = FL(sp)-1;
- NEXT_OP;
-
- OP(OP_NOP)
NEXT_OP;
#if defined(COMPUTED_GOTO)
--- a/gen.lsp
+++ b/gen.lsp
@@ -46,7 +46,7 @@
OP_BUILTINP builtin? 1 (λ (x) (builtin? x))
OP_FUNCTIONP function? 1 (λ (x) (function? x))
OP_VECTORP vector? 1 (λ (x) (vector? x))
- OP_NOP nop #f 0
+ OP_SHIFT shift #f 0
OP_SETCAR set-car! 2 (λ (x y) (set-car! x y))
OP_JMPL jmp.l #f 0
OP_BRFL brf.l #f 0
@@ -92,7 +92,6 @@
OP_KEYARGS keyargs #f 0
OP_BOX box #f 0
OP_BOXL box.l #f 0
- OP_SHIFT shift #f 0
OP_BOOL_CONST_F dummy_f #f 0
OP_BOOL_CONST_T dummy_t #f 0
OP_THE_EMPTY_LIST dummy_nil #f 0
--- a/opcodes.h
+++ b/opcodes.h
@@ -45,7 +45,7 @@
OP_BUILTINP,
OP_FUNCTIONP,
OP_VECTORP,
- OP_NOP,
+ OP_SHIFT,
OP_SETCAR,
OP_JMPL,
OP_BRFL,
@@ -91,7 +91,6 @@
OP_KEYARGS,
OP_BOX,
OP_BOXL,
- OP_SHIFT,
OP_BOOL_CONST_F,
OP_BOOL_CONST_T,
OP_THE_EMPTY_LIST,