From c526c0fdb546b5b1a7fbf5a67efc52bc29cd19fb Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 18 Jul 2020 12:05:00 -0500 Subject: [PATCH] slight optimization --- onyx | Bin 254616 -> 254616 bytes progs/arrays.onyx | 13 ++----------- progs/print_funcs.onyx | 39 ++++++++++++++++++++++++++++++++++++++- src/onyxwasm.c | 6 ++++-- 4 files changed, 44 insertions(+), 14 deletions(-) diff --git a/onyx b/onyx index 0dd2270d77c0ac22e81e5a8033b1d8390916c712..c54562e335a7617c2e847d83a3e31385ae978865 100755 GIT binary patch delta 14285 zcmcJ0d3a4%7x!8F+#3lZLV`phxgwF65*iICWww|>nq0z?r4H#oc3!dSL^xib~>Szdan}Qch-Ebj!KW5{W_)zaqo!c_g<(dbx$kV`G~N( zdlc;~=-fz%%?Blq&T8$t9j9hm+3tUf;=gL8dsLxcwD=y8l)nhf*6H83GtpV+;C{sjIz}cppo!YLFQM?v9xB+!=b{U*jjsBy4KBemh*RSfRoqbT=M>}g%D z*wf#AXirPbx2K-5ryk3X*VcSDNR(`#d9R;AYqj+Cq2iPZ;=yR`+ykZAeyK?3N7J7}9#S7ZNco@k*L9{dut8 z%pPXfo|qj9QPE=g z;X$EHkXZHr{7~nhoW~?84}#F!#pRqZk7N1sv{k!b@0 zygvQ2>oh(LHQ@AlxP8lT`^Fi!+bzz)?Uw_btM>R3opEOFU1AmSy`j6gbM_&B5_fvy zxv_TX@L=DY$J`3-OYG@^KRVkUnGh7RDGLfe7VbEFv)Qe%+7>80lmNFI?+(E#J-^vM za0X~_#XWKop6zr_zokvPQ_eZ_=eur}@2FuLYk^J{lO9kmzvhiQ*<-+#-K z_u6>(Ld0oPA62m0)2#*fwZDIFNC{fKd#%Nb9onb&;;5;Xc`uAAX{YZE^>N;V*3`54 zyS3)`&(mdRz=INkar$(>=1HcKolI-sv~oo%vdq7gfBIjZS}U+KY1DEsahqZPg2# zcd*gHm=`vmg6r-vkFGl(y{JSq)an1vY>VYin6C3JI|VMzqKWhY#}FN%dHg5QLt5^- zB`AbMN(kRZ_2!jj$;%aIp$Vj32-bOJCyL-xR{BjG3vvs%ZhO&RBvzOImv|{3vI_c; z14__8l*Ile>34GQKP728rSMc=x-Ke};fF*uTysm&C8A(XE=}Eh+ocrcOHRg*G&SUw<>)4D za8)i(zA9DcxL~Rt-PcRk?^SgdrL@H3_S8#q4=n=`b>jIwKkOA^IGLitrN z{YY~;uOd~aT-VErREy|mt`SNH~I(ECsqd+Oase*TI1sh|CVY|Q7(Diq+zlOl!_UURI6i+a{MR##Ea zGRL~Hs0Y*&7i!uR^})Ora(| zex>b+3*pW+>6IG&=oJ?b22ZL*4d^6qt3{X9#}7?nW-K)jUq0llS`@^3EFC5nAC9Bg zP?xNQ=ZhJ0m*GeC!Ks9EH$8qim#$6!vCRJCm9CxZ7ZQ|bPd%8cl$K#=lC}%uzLV!= zy4Aro>R>l_;i$UQnws*6x>U!f#1X0USbis7UzeWKHP@PYREm6;_biIr7rZAP(p;d*zk8kTv91b{a*qd50bKWSc9k zEtMcz%iNBb+Ph-kp?Sqk;b!+P|F0Xx`ZO}TnXX#h$&aWBH|;?)kVA)h zP=nIjE+U80XZF)&sX3N^jEg5x47K5UNt9SU>m`_JGrLP>dY9E^S!$w7YU1;O_Ue{M zdCwka&A-fRlV~Ys-?S&yr`oRZJt=|$TYLgP)2uB438^Sxc{r&{x-xrFib}`0MnA|@ z=MMeoZSVIdx+ObsK|iG6`hHZ#JKP}I4ANyuDwyDwdc@($kn&0f>7YS6BuP$s%XJ|c zMVv}=){y3iP&{2{fX zy`1|YZF7W-LIy@>%h@+6EuVjv&#BgWc($ho#!E(pjyQOLwQn7BS znde@Dn6`HtAT525yAxkhveE*50c}&CORx6heq~Qzti00oY=s|uL@mXO5nN{oO$(S) z9Y;iaEXPAR7~gf$n>6NQL#P@x;zvVJ;hkJzC`C4FvP;gk_wy5n{KBSUvdUw>N-q++ zwNG#I$pEZF*S4vb61ucaeVWiYA@!dw_Vk*=LGIK(=B0i5eee8Hu9TrP*1Bsn#f3Un zcGUH{4R!qt+K@)NZh1@BSE0T2wys}98{JsfOEl5-b!Z7qb^SWp#Ado)rn#>+v(Ny=k0Ly zct_W3wb%9d_jUaQaNxUGN3><{>H0a)hIP<&ua0~zor2$;+F92Jch~ikaD46u#`9)8 zr=v;w|E;y{WXMb2DvZxHb==^D`E=RQXu7V;c5GTv^U(fp=#lgAWZ(1r|A3A{!*cMO z$|da;4E+CU$EF1tMnC*q*H@zDp;=%QX~nmXt3hmEK)*PCU##mp(Q?t`^Dz_Uv!|WI z^HsBd2RLD^u78d;A8i@hI<)O*N$apoXk*b*(B`6jiPmnTuD`t=vS?nLUTf7}BUm@Q z#?(jstAERNF@s!I$BYmpZ-Amq4%hWX!17hG-+;qnki?#W7^qI8SX^(w$!$U{4@ zFLG))@Ut$uz5uwmE0P-M-$U2002}nt^?!gB1|qr3Da!c|b-fj^&M@RH@H^m)a*9Lg zFkIKyf^Z9X7`SePuKxn$k%(`3McFY5hJk&?Kml;rSSSE490vu!lM^r==$wS{zfqJqXFblfeBfT7caWmo21Wz@ zvDkLtFyKePr@%SD_!$@voC!P*JPXVRR+)+M!HO~kSOb^=Y!6JBg~$QZfD0UWc!h^; zzzVamje&Woy8Z+>ajvchR78HI>3Th2Ft9VQ<2+p-2Rs8@1Pn_@=z)!Z7l7Z+$9SOs z7Z@L+D0_hQfbTEBc;E*a7!SM)bS%O{*@aL5d<%F1_&4wgFiL}hP(_&qtOxA62nv9k zfa8EZNZv)jfxsQWgTM>G&@V9__yI7W5@rsp2RsMt42)rn2ew+GJM<-Zc)CQ__W2RN%C=NQ%{X7>%v8A9x*j3mAr-qS){y5Eu?@jV;$4I1Jbi zxCb~DSbj6c1M`6Ufl-+l4}1tzDr4qbFdleiE0Pbm1Yb@E0_|ByUf_O*6WNQ0MLUqa zz)yD~dx5|1LiR=|N`VW>2mCx6$p^fdgX9Cgvm56Fa3OFr@X#JzKLwnUtLqPe7l5U! z;56H(>v6zY2XwsyuKL;s`Lw?O|>2t9DpS$H0ax^Nzz1Fr)I z0+mb1df;f+-sSXn$;vKo&=N|Oo+VoPdbOFSPPeF=yh|4IMi7;fzG&WjZ9P?{8~k!T zE;-%UwgE7k6D9n^LnKt^bP0nwOTsG5;l5t%vi< ztzgA%1*u9eycc0Ecb^^yVfKHgInVPx&(m zQ~4_ik9n_zOMF8@TYf2_8;52A`fw8oI`;;M;uAO}3qfkfUrFi<-YX%NZ%7!yFD0z! z(CvUO1 z*U#oY+bG!jDQfr=ZVM8X=OGdna;k(^yg|yTsr+gy+ydjXB7MF0>>wfbF-ud zaGG*kkSL#rNEpJYyWq_{&Xm0xd|JXDejp)$eO-X#TvNgVepkXZ9^t}(1DqjybvR4H zNY0Z)7eAG~n;e)8_><$aLHwM1$le~FETJMVl~9XwB<~vEkkF4Q2gJT?lkhnw!WVQaOJwHKZ#pTQ21l7fT&lf+(jw zv{<;*2`WiRu8Jq9O9m}l0DYan~CE2y$vhwj-kJTX?u@P5eSg z!fJ=DL^VA8YV~WPDvHQxu6TLpgySTZ|EQ;|B|Ad%oU(@cc?Kx7Le}4i=lFIFkyu0b z5=TU=G;+$?qMO8w1rA#V%Bp(0snthnQ8P9>Y&+uckXLBUc0UIF3m$>>j>zGI`YY;1 zt4{;CBOQ*a!+D>Iz>3$bR;P3+W19osjjoPIm*L$Irq4vhjxK9uL%`#R%UZY4k*;!* zId7Of=rOz5G<)b@W?f}CZ<+{j?6+EH;#f88R`td=R&}J+cT#C16a@w#BC9afh|5uK zc5OLAWY~>>jI_3tejv8SY)2VpMMf`UvZD>FBBP&D8Qj&NI##_qNtInnl>elNq~2cCXs!(yj@S-esM18Nu+%ktC|QE^}mYn-v9 zbIc{JVa!0ym})L*O+%rYvBF{d3n!l%>me+0M7Q)cf-*}nKL3G0C@O6A_+3U zNytmJsnyrWp7jpf=2{>mcnI#?$&rRi$r-~&^%91&`37JiW3YxsYL~LsHsX+`0^`o?GDeEIC*)4;K##;fDMswed2(!y!{+djyCKLUGQ$yd!E|T8 zIb(O+f{Wtzx5=OB;SU=$Sy3Tigb`cL9Yzq0FfPFql`4m1Qrx$=_wpleW2TL;|0NSM zzF0Wp`xbM?o;`HmV$RsJnIBl**vk(sp2}h5+GCG^XD>go6z$~|K8Eoi100GiQm)T4 zi*-#n(Ae8avcjDw<}pQ0L}R5@+~+ht53m+5maHttA}ZIkJJ-Ebiek&aTB#c>X5n_Yci$!H z=q$t0XTtC>w9wIyv7e32H|tGjXT9m{Y>zM7%!th`a(06(O6eW}gcO^xmZC25P&^fX zagqB`kRw6=c8tyRG33n?X28Fkuwt{TJq#zdDTWgZ3Y~ZeCnD0Z*&tE{HD$1S=Bw+u39*LK zRz@-G;aLxqVYe4aZ+MaPh8I2m<;50xF=%IaQA{Czf2Ig>w6oY2;rx@a-YP3rJ4-c> z#ZHENeWTwzqFGrtzuhu= zE2v=6E&nmXx!jCu12Aj@@!eikE!JLm%_47E(Kp|a>Mf<*1;)o>{m3n4SE48LmRTaG zho5I)2PL}ND?{%}Q~id*f#o~{yDQPhO{oE<)Y(F*P>)nUC8|1y&&Dwv?ot1df=G;m z@oG0@@?KF(%WL4I=Z2EqIK1VDR=kgJL`;zrzoN#smg$l)H6`MKznjqRhYFIgAjRgs zAYN4i+;_>0)hSBVb8?HVQ+@f7q3X63*wU>t3@l^ouTvWu=Prt+J0k1UcSgb~_o@0& z-oU<7OPzBYaXM^G<c#rNY<%b z)x1`qTAY`J{oH?!sA}n``i|lBIk*>fRBIW2Jx_@lJWx?Ps?Gbm-Flc}n^GAgx~S&i zh|_YOR53s;l~&1ZHTvuW!`e&J=x$8caIJfhYtfNhGF1c(`Pk#jBGZ@gYCz$=DC)qU zhK@vI_bRr1a9W$yR>O9q*!rl>1%{xljyze@RP%PU+7W%6=fhm$bhW~} zWx&e7bs?(4Lqq#{)6vLr*edf>pWaa7KJ+3@0sOUu`(yhLR-q71N)sWL zhXTLIO@Rgno{V(CWy-Ar1gS!PGm1DU%P_Ir5%Bn%#W$DS-ca_pEVD%Qi3 zXMY$I2Emx{!<2~Ic(E;IZL{bqq1N48}48`*OZ12cnH{*>yeS_ArB#ViD~7Cuo>~j zF7&fORbPhfFUA?%}0HMhQqddh3&i$H43uKA+I$Ou6L4;gNB zGWP+kh=}*N1NQ6gfbhCIAV~2dcd8V*lPGhuMxi@Vi@D<$B5+ugD8Cz32HRLBP!;Ut zs$*r5d_r_`ui?v5c^u$FE50uD1?<;-0in>BopPN(Ft(8=G*3D23lR|Vfyt^Rc&@ergd=1lfC2E87btyw4MN06q4Acb| zms==)z#G)t3q?qoPGp|Y*r4wH*xBW$iLPpyq;f_M>zxdJaqsh(cSR(xN)lGrnlHtw zO33?!o#JD>uiUv))Tb+af2U}Tcj(Qvu7hF-0u_Ep zGz787A(04!s}6}~F!A#t@jjv!dsy_vQhae3^F7D=4vS87o68;%pO*Nhv9W})UX6I! z5d`%lpE`p0SL1>s@O3elKMK&fiGHfuB^X`4RVryzAD0L;Fs5s z8e_TcHO#&be|Qabr`^M5$G|c_Y=zi)yRk7BA5) zz*P{fJ`BV7J9hQ$uEB$G`nNmX=6WG8te3jam@RokVYPDMl+y!Z~ zT0ZEPZHCNK^SbZ>%Ct~?m8)DEY+QfZZdSuktcGk>n_*jQ*sR6|y?LZvGso=14`5LF z=IQ&yWV_gwsrJRsO4BmcScE4_0`qMUYvYTu+m8)~H_8c|Xwr>0zs6rQ>CN%G7)*JY zZ&?b=VUJDrGhQRvZ@w)Gk{3>B&E-7Fe)A1nOOri`X)DQ@-xwd4NHQ(SS z8=fnRO!hcVmh2&A40@Q!-eR)naK={k3v3kIHg#gquC4}qBfeY{&IJ+@*tSb;)3!?mL%6vq9O-LVEK$dxH#F&WO?t37_jxA0l}S(KtX)Wi!<^uP z@>x8_g~@H=RP=%pqYPd6BJKWol`?F6hQk^D9;;=rubAx0Ci^y1Hj-+o&0u@J1}-$& z37nA)Q;qpRHX`>=tReNYsl@7M*tmxu0wMK;JLbTlSRNvK{dj4P+Bc|AMPrP4%~x{F zF$>xMd$?U9#$fj`RsLbJYjcn9k!cM%4^r6qv>TH+XC8~5Tp5R3n@q7XTwAiU>lwO| zOkE32_7F~%>?!8HYG6nyxh8unXY7WJ#e6_Y^)pj{kg23N?v&ETuUr5&4n3bem{m)2 z^+44# z*}w8M$xf|qu+5cI`k8D8XMv52+KGK|D31SG6JaL$5?n%bvK*N)|JnbNKtvBBxO)_=OG1(uxvJR@VgHdf7 m-B4qFu9zuu#Wm)JdQ8R9+~~I20GG2dw{ha#)`is)e?8VNg+uKjsCFd$E_HRfs%*5Zb~Pr1rZ}I+ zEGDX`Ev!D3RyuuZoTtzmw-v>na=@PQqdlb{A?12*6kM^VT(YP94RWEysm6{VTA_`u zHIbS)uh;rOP$g%-I{Un+P^;V|gyv|?nnchy&Y?|y5;R+D(L7A7(KXv|!P@xVUe1)} zu|CvE%k8k5GPM33w~$LK(Z)>G{>=%#s$rhD& zKJ3v*h-G`+t({uC-iN4$_C}xoiKoA6W&2j4(^|d05tQNV-?s^g8u@OqE}E;~Tro4x z-T2m-)c-n(7e8n%2d2@x&Qk-M69qfV4emj-(>Xk`Btgfxqy{uh`!*>QQ8}1YmDXr~ zBxQ(bms>*zZTs7^=_@UMNG-By?+uBjYTAk+J*blQaL79}(>Y*h7}0LcF{}Yy)?C9{ zlaKadSO|q{!NVI+GiT4?sWJ46c4K}Bm0Xa%jAGoc9i2a>+);U-UA)znP z91B|`I0qJnP=D>$g~O<})_zeJYN@SQ6pyL8x+uOht<^%m4io!UXs3?W*4l0N)n>CGFp{2<3+7WZffUclIpy(CXvJk z@4HD$mVji_V%Pg=Yrj1}1GF*U1y*X~ttfY<*;9L7u%~r=U{6gbw5Ob~ryMK{*H(Ww zO#D+{^IA8H7HDbff<>?TTKf8?;-~RiywfKBS)|2fN_9chPwTKgqGaZJMM+6Gq$Orl zpb6Ui_07az@46-Z4N1QZL4lJ>An8&QE~F|mpH}jn-NtO%QxdLgr!pFgW=4;J3*EY( zZ3r)a-JaT|7JMr}w{50x&+AA>oISp8Zw<}ArYJuoVrALW>ivF6Leq&qDN13<@w$#- z6=+%CmRGHX2b~wPekV%Mc5R6zf9=7Rt5jb*>5LU69xvE>Oq?FA?b_Mg>60C35tr|2 z1z)1=B+!q?8gxvPeAf1GeT*P{T=`3`k%-r+-782LMwSVfzG(A~nhbZ-+zOj)gu-+2x~_HF9wZjU zqr0D0`C3Px#bCf6clWu@53c=0)XLfOMm;JKxl7k?soI2}1DxxBUMeWf+49#2>iOw+ zin2{ssKTH&igFD8*WDofH_Vk@>ozw5LWR}ebO(1Ef-&8mQg%MDaHzeSB|;XJiPplq zjliFIcY6Q$0c`6^(azs~ix4zKD}8Gpop7GIRe>l+yLCHEsP{CVI}NG3*7{CsQ94`u z{7x-FC(#Wp=*fo_ zhR4c22?h4FE?)N3dVO!gT&lI7GxJG-2TQwS%D^AP*LWn+ghW|UqLQfWbPhZebZcMbFzG4#eKx77USqoL?$}0Uq^Ig6c zT2Jb4m2}SPPT_pjO23PX0d5i3;}Z0Y#Fh%ORofNnO;$l4aAYa^m&R~-X}V46T*ilH z(tKXvLzk(R>)kS>3Q@f*k1s=!ysRwM@))@(rSz zL=U-HFkK^?DPLTQ`8NS=jJ1dZp);nV>^8WT<-f{I&evej3%(yUg%z`Z@~ zDZf7QEtgQ3^2skq#X`=nLVk{$&LSsDBwNoHx2(z5!^JI2vUNvs3#vC2w_x_`;uc(5 zRMdjEDQMhzx5)YTi+Ixc;RA}BP}8@#1rr^LTQJ|exCPg07q{ScL~*NRvbCaYrCDEd z^2P{yi|X*h2ztXmVl=37S_2OzJVB+AA{99xlAJ!{-YHJExA|fu^`JPeS(Q?R>lt5- zq6%D4m1c#;JbfV(1~Ux}j6MB~3X zBnH!8Gn#yvqp2!g=lp0INS|_W4D~}kPmLiP^>i(Zp-iFne*8k)Q7edt*Ps{T%|~3T zJ0#L-QeDfHhc9%Fi=(r``p_Wni3NGx1A|j1?@1x^{NU9WQPdQ~z*^{S~l_6>RWe&Q2C%4NqYdSZpjnzDY8`h!L z)P)^&sJ3_TeyR3g;V}N84n3v2E@xdTLq3`Pi(|N&Pt-%dANf#y`qSrd-(t>A*O3NP zj%Y7mZb+B>3wsx{F5}%!1^RU!-1NRoq3BAi0ZonT2Z2)U-`qJfp*$JOZkAE&eI;( zmu;yOwg+C{j+h3y;@i`_l5~nsbfZKp+t}_jjUKu-cBk5c@?1B1Qan*x4)0Cfy)n#eW^j&J?Aj6 zwAqQetT_h@FLF>nil)BYx*sJ}+xuLOdUhYlOzXMItWTYFcPwNaiuS=BP z2eLE1iIR+5lIY*9m;M2oUYnnO) zlhLbf%K7-7ZBzb??-8H!Z%=z#jgLX@-XZ!q4l`bb4%g@J(0f*`izu5jo@xa<=5^I| zTSHynfu}c)Jdg0C;b;`qSl9RB8Pr7ApW#{9RM%sh>G}~o!a*1EnPPgYx9Z`DTEui^R7uIv72w{NFc(|>EH>oeNx zdQb;l5AUq&E?~Egx_%E&awlES1FdftU4PPrFQrkXj^ldhdXGN3o(spPb~E0W;r$~# zlKy{t8gw`0B`*#AGfW*vIsS9{(NT4#uFEHTM)BjJ{ol|d=i$k==l%Zy9Yuy^=U0_W z+Fcm<|Mg_g2r!KH{8ZQH;mODI2oF+=ZyZts*gl_raa>rW>)+tXz$4$YO_cARClBuj z&2|BB=o(!gkLP1N$#@pxS%t^`Ev5-iBAzjLrsA1}r{M-&k6s5^JWufcpC{(O4gK*e z0t43<3!iYEODC7r@m>&&`zgwZP#6YUt76pw`$p^fW#FTl7^1(TB-GOND!?_!Lp!h| za%v24bWdHM51iRc*S7+7uW$b0o(^%I9Atx0nQ$$>y`?N^7Xqg4D2ug3V?mzg9706iBJH{os9m#)l<zoMf2{R#R5%RA5?`1N%32Noh(k}EnCr2-~#9SEI)hk)+^3xVGQy#f^FBrpo7 z1MR@R$h48bo4{mX_$>4Xz7ISE+zBiMzCIiMD=ErIV0EAa*Z~;(86pS#065=)m%Dh$ z0+yJg>jl946igFv*j!!r3sjW*z`8)MROAD&`8-{p2;2c&2=qxq=z&#%XMx)1=nvF^ zenE<|;S2N!Hl2_Dz!vG~4?F{OEW`^ffC69?@GS5a@CndQgMwgu%>&j2wps`Uz@@;6 zz`ubDf!&bATY*`?v%pe|(I40X=of;K1M33wfIWZ}82y2@m*@_C30`h4L1hJoE=AG- zp922{_FRU7S6NYNEZ6lWz`4Kyz)>r(T7bKOD}YPCM1SBZ;AP;+uaLB%iZWy+k`LH= zm9Dn{t^y_k`+u$L(}C}p&l@6vd_}>wuxax>#l{fPI09zzx9Z zKx+p21M`8qfPR_i54;Lg!Z7lU=np)w3CRci4Bu6U0_$%^@&Y$HoXB3he7Y6c3w$RV z*$X_IgX|4glxr>|A8`COBp>itE|L$}XgjJ9a5^vpxOs=J9|Mle)Aa|yJ;1V6u+in~ zdM)6@-MZcd*lG_#54^um*Over`RvDf$4i$3Shqm^C_)b$eiEKXpe~$&=fEStp}+^{ zkoCYs*UshiztUlAy%bm}Q}#2_(x*h5dFo7yy40(5NiPIZDea>u|CHoQ>nMzl^7C~# z5hbu~Jzx?iNVv_TBm{7pgdV(E!bLtO;S4{MaFByH04j651RD>NaFtUeOybN9RGGH& zaS7ghPr?HB`5qv+hJEXXlb~>>gnN7(Af621``_cMp%43HfO?K=NGQ)8 z0pgz_JT3#wqnswGM>tbLeLkK6`+fMKY>nV@nE(gJN%)kzN?6VlB&_6g37dGcgj;+{ zLU(>B;e9T*5%3MiNjT13B?z9d5vuF*BD6%c(R?BYz8u>~UbLOhN!AU1CRugI@K>9_ zske;Y=xSGJW942a|%GbaPWq$Zif#`>KVQz;UIfwgSmJP z56YrS){jxcf9AFzk(EbDn9eB@?(%vm_b{1XY=T@6N_80DlAM9;odeF_b2)Fb)BsL( zZVM8f=TQ=Rb4m`p`H(YZs}diVuz~MM5bWauCtAiafB!YemaQL4y))Fal?U7>mM8;1IM1}L;b*5B}__`(g5SVQ*` zM|i9>a>V*pZ;9#i9kz6oRrP2ytGCpmre`>8TWjIvWRW%7-DtE=dj!@wBE}4RTT#zg zy&J$C>2PEypZZw%2VSsRozkWBEC;+BUk$I>hIhT0J`sUkv#nuuTddWe$ zUNO7NV>ZJyyZb+8*S^lDW(Yq=p4B=V+p1x=su!+s)iG9|;bo0bJTw3iS&5;B{}}0J z$H^Wd-EIVAjJ2io1F4{2}kL9>p8{>Mr43saPCMt|-ZLK1Q zR;01DwVp?#JHl-|8vED+Z$CX|?`pBw1uP z)~5-72PnTo$eoAZN=HCwj>CwYctwfaZEBifYO>9%0p6QdA0wT%Ic&ek^m)@7BndLW z{g9Vx6RVGrJ?k8{jG7=c_YmBt8Z4 z;&VkKzHKo_>{&y%E#`1|;;9@)u08Y!c-HbGOYvHs>unehFu4`l_?XJie^)6rPuzjaN^5BvyGU z&wsofQqnMPf?^B7=A@ptSTjSVv+Ep@nOrbK_y=9Gco)|QrOF{2*xAMaGMGL^1ye5Dvp%rA1{0h|a=!(xL-71WgB?vbym>n6k+ zN?RGlu(xMEP=?)J^m)aLKCgJu_di~2lm`R5;l-c2!kuS}0EgXTTZsKn#(I;iSawT{ z$6|LwzP{0J5#Ia_H^1F7xnIg-jl25VE&Yx9>|P>>WZNQ_jN;p_$c2beirUe`9e_hm zroz9^7G*3EmJ-wX*=!N$A7QC3%fCn;sf2Zs8;@csVdLn}MBqD$CplqxE-qfcN_Zr< z6;!aOxPOgsE;pmv01Vque79H0VjUo_TX4#XI`)dxKq=)eFeNS4k!~rw5;cN1ekKC? z`gl5aQKBloF!X+9s$XB!(a+Pdj}nz*N)0ikP8LZ8dZZGS$N&zVgKap(qkbfARJShlbDt&CS4~r@7RV*GM)jHf$WV2|3T)}tSs5&2>90{68v8Dar8^>P)b``xlzUfw zAWvXx)iMQcBTk2{nVcFY|2;K;e$m6$@MO8~@)n_oLCF5MwS*>aK^>kYF@S%#@S#9yQ+pP!FY#)Z9M|aiS z9I;!@lPZ$bGN~bMt5G}e8P=YgMz>?QhHJfwU5k2yOQ(o{Q4>7AEHr(2U-c_G7e#LR z!_bjntX{>IFDGldr_VfxO_!Bswpw{RimkWmoNox)YRjE9MKw=Hs~k}|{5i}e%up+K zd>yQG92X)>JTSDMF&&MVh@~=D^&SW%?oICvQvg4VRzpqNhfyr8h!I zq<67(e+}&zBg`Vbm93eq3)MVf-+|+gOv<`udQ?l_?l5Mip{GlW$lvc6ZjUhxDz?FL z4x91Mb1~TgDy}VjQbk~Gycw(C9v&&TEVTXO+*29--Y__cb|Bia_}He%DpZO4rHUZS zeSz<8A3}ozZ$`S{Fy&SOf>a^D8HMkWWf+9e+LC~?pj*cuBG~xq(85+h&eda4sva(j z5Q&J1?<(pOPqT}ylPr*biQ>apd$}(D66Ixulx4^^`d%pB%BcZ;Wa&xY;fSh-f-XPv z3{d`sGq!%xk*C6ElDpqlB!Ew$!S{$6B39KDktg#KUh}**%Uz*cFYrjb@Ap| zAI5+|Fb4c!TKElIY)jcIWu-TT(~JR6W+bHM0j*$#l71a)7a#A4dtxh+WzKFcZs}VPPlU<*S>f`X6k8XPnH@cha zfL4Up^SA@{%kF^ivO6G1@nUzvirq<&xfxUBPUKAP`i1ZxT}4#bjw*v?EEA{-R&v$% zWRZMCl)KaLWvSc_@Szo77x@DA%f5h6u)J}R|C2uQ?`WH*-{8ip)6v<@oP{Xn2ylk z?Paqd6q)Uc4pMegga4Wx;W67HDtXJxX6HfBFg>1p4AXWclASM084@2$3I01Bbzv=+ zUm%X)2KB}Q5ri|XxkF=ty4Pbjm#-#zsju718#%0ZH}uu+%o93_2wvGwSY4|ZiJInJbepHkDgBXY3c0_F#vG}1{pY5UzTwAqW)T9DF zxn0!2FA<(^7lG8A19pg>xZ!?x2UN%N;vFz_g!6ZZJry>ZKb%&gMq$a**Cnn0A{syQ zlAU59mEjtBfW^EgPt2f&+$tYF-QY?2B7%P7<@wO&#e4EaZCnWdnU9cUag$xpeT|3h z61|1~7U%5}^)R$2yAZvJJaV^~jr-;MyG2W^q1t;e>|9RSgOI$&IeWw?1S)i|Xb588 zy&?eySMC+fVdC0e(HT*T-6sZPD!$l<@#b;{Zg$QA@fPm*j~qafD7@&PSWn+_^FtyDSNE$A zA;hs<@vvBiyKm=VF+x0xemfvfS$=LbQdK$yRT^ zkCu2A#dQjxbPa!2Al^fwJSz|@5Y)w|#4P*)BJebL$vp0~7(z*W`ZW62;qqtPy5Bhi z;+K5ljF^f@w>b+K%)8Etb>eXtzjIDZp*j5XIq^MW{P}qVH;D5jtmOOW(Qzbq`%x?t ze`4Z(6pfI!Q5V46&wVanRx0zl3y>Mkr7w!*_yOX&i&!AJeC?tLrEZHaAvF@Y&Lxb# z1CO|b%)H1TM&K_8J1!wnzTjV_$ThC`lURfq+4z&Fghg}sClQaoDwMj6sW`)9FN?02 z!h8uWx!e`-a=H5zF%5$_eFZ+ma@bYTo=Wk!t8nZze)OxPqaCNE`KL}H+a7KZU#0dgg|i=Js1*WEXBjeon#Y4~D9b|eQ4Vq(*f{RA z%}^_&IE~6sn`0TQ&ro9nUfsejnSC(Dve&XLQyq*yBhAQEV-b$c5@z!a z5aaO0*!@{=fN~f+m~`XSukGhddQJQt45pr#R|^l#ZjVj&ue@5aU%ed)kOxd?&EQj# z{pyWdOOrjEX%pE0y*`xsN1N;bj+1OMZ)}r{)vPQu*>7`_WcPmEpyTg}?$1V(J(<%t zsb64W*s|0q0c(00><##0DL-%GI3qpm#GA9AWNcr9-O^Mt$Yf{n4apuXf9{UY2y^m2 zGua2Y+-6MPL5|+6{t>Y29Ye}Ia43N|j=T;V*EnvAItBT>ehVhz3%9gTC5rUQwEu?8jjSeT+%(VA6A&8T76uJ;|io_y(+D zg_PS0Xvy(gF{QB_>3uR=LukAM@iYLw!yA(3J`#Eo?EQ70ZO0JhNHi6TsBm$ zZ>V>8&EuYC(lb}XlFgQ*zay$zAO9cxHkGnH6< z4I3Bnhd)UD%w2QgP%w{@txmi&R~;PCA<*b!9_y7{v(I!c_XFI17GOg#hBKtJah4x~jZMyb2SycF+feetl$u~lh4G9XP_oH9a)q1h z6qAh#hThnJ%I#Et42T(NCQuY^*ZvI}0W=2N>MS($Hv7*Mypq0jv5j55a0aCR@p?S{G6 zsu*m|6D*TGk&`5QdwqlLXGZB;lYN@gC40E(WvRCa T)CQQS2{*9g-Q&$S)ZhOP{(e_Z diff --git a/progs/arrays.onyx b/progs/arrays.onyx index d0d56b65..ed01b721 100644 --- a/progs/arrays.onyx +++ b/progs/arrays.onyx @@ -39,14 +39,6 @@ sort :: proc (src: ^i32, len: i32) { } } -printarr :: proc (arr: ^i32, len: i32) { - i := 0; - while i < len { - print(arr[i]); - i += 1; - } -} - // Don't need to bind this function to a symbol proc #export "main" { print(min(10.0, 12.0)); @@ -60,11 +52,10 @@ proc #export "main" { i += 1; } - printarr(global_arr, len); + print(global_arr, len); sort(global_arr, len); print(1234567); - printarr(global_arr, len); + print(global_arr, len); } - diff --git a/progs/print_funcs.onyx b/progs/print_funcs.onyx index ac1e750e..5bffff33 100644 --- a/progs/print_funcs.onyx +++ b/progs/print_funcs.onyx @@ -4,10 +4,47 @@ print_f32 :: proc #foreign "host" "print" (value: f32) --- print_i64 :: proc #foreign "host" "print" (value: i64) --- print_f64 :: proc #foreign "host" "print" (value: f64) --- +print_i32arr :: proc (arr: ^i32, len: i32) { + i := 0; + while i < len { + print(arr[i]); + i += 1; + } +} + +print_i64arr :: proc (arr: ^i64, len: i32) { + i := 0; + while i < len { + print(arr[i]); + i += 1; + } +} + +print_f32arr :: proc (arr: ^f32, len: i32) { + i := 0; + while i < len { + print(arr[i]); + i += 1; + } +} + +print_f64arr :: proc (arr: ^f64, len: i32) { + i := 0; + while i < len { + print(arr[i]); + i += 1; + } +} + print :: proc #overloaded { print_bool, print_i32, print_f32, print_i64, - print_f64 + print_f64, + + print_i32arr, + print_i64arr, + print_f32arr, + print_f64arr, } diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 9ac75ced..fcb14543 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -326,9 +326,11 @@ COMPILE_FUNC(assignment, AstBinaryOp* assign) { } else if (lval->kind == Ast_Kind_Array_Access) { AstArrayAccess* aa = (AstArrayAccess *) lval; - WID(WI_I32_CONST, aa->elem_size); compile_expression(mod, &code, aa->expr); - WI(WI_I32_MUL); + if (aa->elem_size != 1) { + WID(WI_I32_CONST, aa->elem_size); + WI(WI_I32_MUL); + } compile_expression(mod, &code, aa->addr); WI(WI_I32_ADD); -- 2.25.1