From ba9d0b77b9b1d880c13d37627749ea148f33df14 Mon Sep 17 00:00:00 2001 From: nilspolek Date: Sun, 28 Jan 2024 17:56:12 +0100 Subject: [PATCH] gc --- Makefile | 2 +- bigint/build/bin/testbip | Bin 72984 -> 72952 bytes bigint/build/lib/libbigint.a | Bin 27728 -> 27544 bytes bigint/src/bigint.o | Bin 27344 -> 27160 bytes bigint/src/libbigint.a | Bin 27728 -> 27544 bytes bigint/tst/support.o | Bin 3584 -> 3536 bytes bigint/tst/testbip | Bin 72984 -> 72952 bytes bigint/tst/testbip.o | Bin 44520 -> 44472 bytes njvm.c | 4 ++-- njvm.o | Bin 60016 -> 61408 bytes record.c | 5 +++-- stackslot.c | 5 +++-- 12 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index da38b3c..8c7a527 100644 --- a/Makefile +++ b/Makefile @@ -9,4 +9,4 @@ run: build ./njvm prog.bin debug: build - ./njvm --debug prog.bin + ./njvm --debug --heap 100000 --stack 1000 prog.bin diff --git a/bigint/build/bin/testbip b/bigint/build/bin/testbip index 5ed94466e561bf902b3165cd3afbdb31d324ffeb..4bc656af2617faf1e4edb012cd9c3e8c43c4bd93 100755 GIT binary patch delta 431 zcmbQSi{-~omJJJ-nSRJjUc~Ih$T0aWbG1O+)|0{Ca!s}7GG0IPhBK6Bas|r@Mu*Lc ztnL4$HZd_Uq%a`B9w0xBfssM7efuF6#%*j`U(pn(GNWqH2l62rrZ3`Vyrz|bCO-p> zzYs}14`Ue98|Ll5co>g!bLM5{6c^;@q-IY)FTrSt%9Wq4E6FH`DyA?!2SZGL`YH@D z>FG}-8AVa`N>5jkVzil_AjN3T>Y%{Hz%$v9Rc-nqDMlfMa>@0xHN} zO*wRDvBW?AzR;?gV(D1d=i9$XF+N~)**Sel%}v9+{RY=tl8)^O+_Jor`;YW@n>m?B v=2}+0ww&G0Dqy$ub)ox=pMI(*CM#KYyid{jn6oSP?rvvq<)6#dKp_qQYORHC delta 461 zcmeydlV!#(mJJJ-nIvQ89igi-(OmdIBncc)IAT*0z}F=4YJ zYx{qx?Mw^|DGUg35XetsU}Q*b+4Rq%%~ddfP9FC>5I4-uW8kw$!|pC z??O_~!x+ZI#j^bu594uezMRDL(%i(n#PrnM)Vz}E8zdQ}r$3co6vHYZFUcs1RU$$X zhmJ|ubr@hZg++?dX1bjeqa|yC0uuwzWJ6Z9>5HTog%o%ix&sz{eWLZ*CsJ=J&)wKb z|NhK+x$l9-)_U`c7cC;@Y`-GK_<+&HkaPWG_Gh=QoD*baW8WKdMfAwxt6~285;t9p v>q$KQvi6&Qze=07p5z-0XcP<#LYrwo6yK;d*9)kCh59E2?8QQ*$4&#axYww5t_`KrfG%p z_;9q59G%9Ira#JVQNM6gYHO_N&I`R%tKbodz*r_exA+-$F=+8| zVdAXC$2*wbOTb5+2Tuq%N>nq_Q=Rr9;wJFm5#Q?6J-q%p^bVVyhl`uUZl+1{2qu0Z z{$=o!Y=U#fc7Tr-ENGMz!WMLgh@IPE5_p1m&VuY@7GMjC0?|TACR;!Kb9aLAOqz4@ zY*J|nS||pf{Yjm>=Nm7jIg|6CYeD#Mt*7G(kVm1mt3Vq~)D`v}H_oIvyoC^M&?2>- zEl6Bz(qKTa<9lda60)!`RXv$9Rw-0PSj0)zxFY4({v&k73b9e36|iJc1 zG`qZ7^eq7`W4Ew2?zIr_rR2BBbzg53x1)7{X$*z3pE17CU*pz&Qpo-mKHc)OTO&^q}8g; z6&O%9<_ffvjaNIRMHPgYLx09l_f`!3O^Z%eo4;FTyA#s;W6A#Im+aqu$v#lX6O7On za)taCZIEmB&;CFX(q=c@5xT<`VPr(;?U<_h^}3pU72E3;s&%x(-;BR#J+hS%Ws7>CbA0j}gYDHN%4GGIB!(i5zZ zvsq=qa#;cu7A%_zHb}0u90^&3XPO!4 z2N~!C_^C#qj%);~*7s7O(^T4m>4Md2EFWPZfa{cxlBKbx6Bmu)?h|m*EuBQetb5GK zO+@ZdPI@-Ujp)_YMz~^(?2MSEL5xn6yF+Ps#9J_SQoA2n{Xd%BUbXYv=K8h zCwUjr3g~Z7$s=+=-zo};?x(`ny-XAlk8RUmv5OLm-}Z=DNqj$Swugyoi+?pjtS9~* z$agpdmPn4>nIv8#9`A_0J5}r@{tMW=o+jnXT%jUgpF`{?#M&G| zgT}?I6z!U3JjhxWx4dy(YfbBmDNomJu5-0`>RMA4x47Lk&9%!Lo9oJ3T3nlqzU=tG z=0?{hPm8Or$#*vUUA+udL_anVK!4QmHUTG7u4t%H;8jYG0|Y!Y0b0gz=>l(456w@^ zIJ2nOdyGU7r%^}4B?nxn9v)n8z|{)l0tP;*+~BnqtPaJ6Aa5Yc7iNGh79ybecpPKi4g-4V>oDS%d<$Fhi z@_Z9>XL7In2qJkt^=RtUMybOTWsv{@RUmbUP!mdojfV&YqXy#p1R~tP$_j-55$Z!( z4H1OsIQ0ZC{ZSjC4jDdQ)JT*ZL@3lqqSR1~5aEz1D;!gZ44RhmKd3~gLuG~UCs=ip zN{Qrqj}J)4cxE{4Fgt{+k|?$7)FFaO`SrR5hdC6TOQs~H)U>)E(&rT4_NDC+A68|C@>#yD`qP}p8h0C}^CZLB_!WKJ-)^ke F{ss2;>`edw delta 3287 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 JkJr_S{{VtJ97g~E diff --git a/bigint/src/libbigint.a b/bigint/src/libbigint.a index 29fe7165a04b83115033b3a25f716a4f0e6cb95b..2529ae1b59eac20f70f7def473d73f63546f6540 100644 GIT binary patch delta 3107 zcma)8dr*}{6yN>6yK;d*9)kCh59E2?8QQ*$4&#axYww5t_`KrfG%p z_;9q59G%9Ira#JVQNM6gYHO_N&I`R%tKbodz*r_exA+-$F=+8| zVdAXC$2*wbOTb5+2Tuq%N>nq_Q=Rr9;wJFm5#Q?6J-q%p^bVVyhl`uUZl+1{2qu0Z z{$=o!Y=U#fc7Tr-ENGMz!WMLgh@IPE5_p1m&VuY@7GMjC0?|TACR;!Kb9aLAOqz4@ zY*J|nS||pf{Yjm>=Nm7jIg|6CYeD#Mt*7G(kVm1mt3Vq~)D`v}H_oIvyoC^M&?2>- zEl6Bz(qKTa<9lda60)!`RXv$9Rw-0PSj0)zxFY4({v&k73b9e36|iJc1 zG`qZ7^eq7`W4Ew2?zIr_rR2BBbzg53x1)7{X$*z3pE17CU*pz&Qpo-mKHc)OTO&^q}8g; z6&O%9<_ffvjaNIRMHPgYLx09l_f`!3O^Z%eo4;FTyA#s;W6A#Im+aqu$v#lX6O7On za)taCZIEmB&;CFX(q=c@5xT<`VPr(;?U<_h^}3pU72E3;s&%x(-;BR#J+hS%Ws7>CbA0j}gYDHN%4GGIB!(i5zZ zvsq=qa#;cu7A%_zHb}0u90^&3XPO!4 z2N~!C_^C#qj%);~*7s7O(^T4m>4Md2EFWPZfa{cxlBKbx6Bmu)?h|m*EuBQetb5GK zO+@ZdPI@-Ujp)_YMz~^(?2MSEL5xn6yF+Ps#9J_SQoA2n{Xd%BUbXYv=K8h zCwUjr3g~Z7$s=+=-zo};?x(`ny-XAlk8RUmv5OLm-}Z=DNqj$Swugyoi+?pjtS9~* z$agpdmPn4>nIv8#9`A_0J5}r@{tMW=o+jnXT%jUgpF`{?#M&G| zgT}?I6z!U3JjhxWx4dy(YfbBmDNomJu5-0`>RMA4x47Lk&9%!Lo9oJ3T3nlqzU=tG z=0?{hPm8Or$#*vUUA+udL_anVK!4QmHUTG7u4t%H;8jYG0|Y!Y0b0gz=>l(456w@^ zIJ2nOdyGU7r%^}4B?nxn9v)n8z|{)l0tP;*+~BnqtPaJ6Aa5Yc7iNGh79ybecpPKi4g-4V>oDS%d<$Fhi z@_Z9>XL7In2qJkt^=RtUMybOTWsv{@RUmbUP!mdojfV&YqXy#p1R~tP$_j-55$Z!( z4H1OsIQ0ZC{ZSjC4jDdQ)JT*ZL@3lqqSR1~5aEz1D;!gZ44RhmKd3~gLuG~UCs=ip zN{Qrqj}J)4cxE{4Fgt{+k|?$7)FFaO`SrR5hdC6TOQs~H)U>)E(&rT4_NDC+A68|C@>#yD`qP}p8h0C}^CZLB_!WKJ-)^ke F{ss2;>`edw delta 3287 zcmb_feN2^A7(eH{_rL{%02R692MT_U0fO@37l|Qg@gewenYg$Df^sih@n+1dt7((W z1bj6t&2-L5ZMC^u&8DSm_J@fkttPEC-E3xUZLwCk-!smAp5JqxuXE0G z&U-j~gI^!y-4h&h3+5D@nVilQW3J#XBWG@|>EqS$_o|p`eGZEbm;<~*>{w$?5xIOY zR3joezixVrLcY#CVU)xdnHP1jk+B>S{1zIJ zcV-3;TVw2`rXc&KGA3>iQ$k(jMHz#7;s)sV)OngCg-?<#J?h-oV!n{=N^i$l8^Xtno(@4&_%#Yd0ByEVS6s9(FJ>nNx4~eO7%h6X zBXQ9ppg^$Waj1J0WN~r2dh%7QozN`9B95``%Cui+Jj}{9V#z=i&}3svwU6Uu&3&El zu_q`J?@Ej^c9&GSuM6V+l>By;e3#{@r$Z&*tx-Vb)}v8-8iE|?rC+l1&jK6;ZR?Og}M?Jsy{5$)v!?4fY`W>QI_*8BE0P#IDeLWJM)l0 zowWjeTE|*})1(s==f&947|ZlWnEF0|>5xcF*PGv|vi%6s2gAw!9hU4rVaYz!$Uh&U zZRB0}f3!)h*}uI}B&5x5o+Zp5=D32NB8oJU90^uN=cAC(B}mISibBn%oMSo!18R>d zI06#%t4*r3p|=nbSJ<#wZCaHL8&r0~uny@3#W1d20^?!0wivLQ4Fs=+eh3&!1dZk<W zYhgRnUj7CZZWykoI=ztRTJ{&>^^auRud=1kes$sW8@fQPSXb@jTW}wXYj*Mtv=Ni@ z#{_+}0><0p+ld@DUXt60_EO;+K_)RxY@4yeDR24o8HyUE@-^t_x#ys|yqA!ph8M>=H=@iEXp z+MUW`FwN+_^drUiw}`|Uwekc}wG8W+JZ-KnsF^rG5@UstN@j!5Eip2P{fSsdQuL5{ zwIEZ(80N!*Wo3)~e(%P5PhewP>y}J+eOp6ghR5&ET+-GWXlxB^$$YADYooW#-`Jj6 z>GcFQw6*)TWR`jAE2`ZYek~Z$F*nXjjrDq(p7VKHJxz^1@(?;S?_Hw`RY!lUFVd=H ze9M5-X>Mq!Y2a0Q90v~gas);h!zB&8Q-7EexY@m^JcvgG#M#u*a47;W*B>fehro3j z(3-2vx;S_5Tikn0^ENLV&TnhO3n*HTC8rT0}$I z|Lss-(I>+DEonH|5qReOL2L{Nj3LNinUD5#%r2hzh|k;R;wg{Z-8U)I(80V_I4S4R|nZ6}_|uQKXkbQo4s=l1)<(qhbX? z6p?nB{sC{j1PZzIBGS@B)r(ccgHZ6`sR#W71>d(jc<{m7?|t9*n4LE>&rW?FS)cOv z(;|-fRD%1_?JA8%Z+}xwMO2|BbwD@$1MO}kO`@oZvf>A3LeFaTo$ATTiC6!rKOOZ^ zUiJH0wkhd0Rl%qfwylKK^b(#cgu(T?S~kjsyx!cFc024MHr0+%cD6D?K&TBUbxS(! z*b<_r=B;silbJxQc_f>7H%UxFZFwwGJ}cMknbo*_j=_gvA|7&5YXr`P zM_gxR^yEg&Uh+35*StGmrN`_s%V1kH22XgH4Kd0|VG(_o^&0lVKbDh`sDqU=SVTBg z{+LzuK0SSUwz1f)cY71pg9kw~>;&D3YhkNZZ!gU@+QHp0Y_6y|`;60WG*>!dGq^u^ zYM1EJ4lf`%FLEw$BH{@c9sUy{9-Hx3%mlxbL+9%ioE;i);QF=nwS+U&QWd*piYc|U ftB!^W=P)n~OrQ;110-CPmgJ!19usY=V)pxAI^}8$ delta 782 zcmZ8fO=uHA6rMMm-Rx#JKPw&@>LIA$PiRdC@4sqiXiDhaEWUvWV34$i+>P7 z5J5__Og(s0@Zd>=oWz3)p7i3+!CoR>gkD7KsYL|e+Z_~q@aBC#kJ+~~^M3r+u0hS- zO0zf`siba2XX-E?J^BFy5kVE!#0NNOgPOQ&Nns1(0I%BjrMg$D-^Ddv-SPZC)y{~w z{FptGvJOf2v?wao;)a&63v!E^$(VxpmAI@_il^jo&!qbhU5a(_TB#UcEyhR~3?Vhg zjR&#C*kjSqCiQh>8fYW2qV4Z*A_3dDhb2RJ3@mdS>l@Ou%rtSPJA`w(Iga=p;e5fI zMEsF(VJA~nBplQdmUK$_f^zB{c}y*%qytWq#9>nX8j3KM<*Rz9AH&8z=NE=azv5kiva%%v2cD^fZYDQ$`unc_aWeCnk?mPQFVNp!VR PDi42UegkZXZR_(N5OICA diff --git a/bigint/tst/testbip b/bigint/tst/testbip index 5ed94466e561bf902b3165cd3afbdb31d324ffeb..4bc656af2617faf1e4edb012cd9c3e8c43c4bd93 100755 GIT binary patch delta 431 zcmbQSi{-~omJJJ-nSRJjUc~Ih$T0aWbG1O+)|0{Ca!s}7GG0IPhBK6Bas|r@Mu*Lc ztnL4$HZd_Uq%a`B9w0xBfssM7efuF6#%*j`U(pn(GNWqH2l62rrZ3`Vyrz|bCO-p> zzYs}14`Ue98|Ll5co>g!bLM5{6c^;@q-IY)FTrSt%9Wq4E6FH`DyA?!2SZGL`YH@D z>FG}-8AVa`N>5jkVzil_AjN3T>Y%{Hz%$v9Rc-nqDMlfMa>@0xHN} zO*wRDvBW?AzR;?gV(D1d=i9$XF+N~)**Sel%}v9+{RY=tl8)^O+_Jor`;YW@n>m?B v=2}+0ww&G0Dqy$ub)ox=pMI(*CM#KYyid{jn6oSP?rvvq<)6#dKp_qQYORHC delta 461 zcmeydlV!#(mJJJ-nIvQ89igi-(OmdIBncc)IAT*0z}F=4YJ zYx{qx?Mw^|DGUg35XetsU}Q*b+4Rq%%~ddfP9FC>5I4-uW8kw$!|pC z??O_~!x+ZI#j^bu594uezMRDL(%i(n#PrnM)Vz}E8zdQ}r$3co6vHYZFUcs1RU$$X zhmJ|ubr@hZg++?dX1bjeqa|yC0uuwzWJ6Z9>5HTog%o%ix&sz{eWLZ*CsJ=J&)wKb z|NhK+x$l9-)_U`c7cC;@Y`-GK_<+&HkaPWG_Gh=QoD*baW8WKdMfAwxt6~285;t9p v>q$KQvi6&Qze=07p5z-0XcP<#LYrwo^~i$EkR ziyzUbf#ytImbpQ6h9AR`)J!vn1~LuPL}wISvKeIfv4kHmHU42y-}gPIE%he!oacF; z_v5_xo^!ZyRr}9REOHp3C3Uv%drIx&Z_%DSHY)9KmVbV9tJ+5v*&=_;CTS( zp<1llf#mLdE#CDl&9H`ituJ?q&@G9KE6OGc19>qof)e*J)i48I2)EWC8Oj^TlEI6? z$gTBAo-feid#7>sX<`Lq1zMkX2GNDjB`TgpGBKWWAuL-&Ss_QuTYO_|x7lkRen5;9MZOZMyxEz6I;htn0s zGArs`TG2y{A4$f9lE6_y=2@FBV}1k!w}NPT7i0F!a&bqk+0uy2hl+veSrsPUMPVdl zo@;Iyria4pN2hUK1YxK<2Rk-0_;`TdkiMm?91c`kco zn9FvMTZhqUA?XPHfq`4+(5Xf@ql&$OwOFIb*6W_&CaE1F?L}lK^r8dMW&?E-IvyjC z@DOdAOO%k^#vYbl#i+Nw!rvdr1YcCwN_0%Ys9VBC+J5nfiEvUC-sde9zNe0sRJZQy zXzu9Vus!^IIMN;scWkI^x2)#2P<3ltxVF7La!`1KcRSizBL}1Hk?^w#fAD8bHVFzD z$&uC2aR$>D;i$xi+6Cj6%1$R6;A6^8hZ^8vg=zJG*FdTGl;gT!bjah1jlq0B{5=4F z&%jkNQvVi@(Xj=@ok}zgb9CAYeZz;&B^aMmcG^^c=d#fX0acPO6sCg+_=`$UTMn?x ziE75^RDrQj>SK(y7Z5v@fQ|^j2UI}XNq}EacDg43SE^Oh0Rp&R>FF~BJfigUb^-5I zU7?)oCU-y{$SlC|+s!J~pgayyDdV0CS4M zk6cl7YXXg%SsgM%N`-fZxCXgu^E|P-aHllOD1{9e<1KnWhg*vLKN-RYG zSfU1+vn`nDh7pxN<|L`li5ll4OcS%k*UUyXqgj@iWrCU*XVmZe&S|^er1zZP@BF^U z{q8;A>3iq2%jdMIdZ#tY=$g~zXpP3(9^~`!mycS#(~NBp6S_fN6;&ILAxY8xr3OTSt;uNrshcemsg<yecE>G%Zv(*dn4=cv)i}@BnRPvYY~6AXV7&vQGHV@BHtqyK z*CO1xc|VZc?b71W|7eCexU|W_EDia8B(m8E#ciUv%^7P!;Trd}Dwqvk2sb;C9B|HL zOXp><$ju%kPZVkK-3932gG4@KMcSm-foS1liOO7vK0F4YV6CL+dgLxf^bxKx_rfaj zZDY@%TQex;+uWN&IA6_+wRj)J@ba&~ZE-S4IsZXI8D$MeSFj3U#J_FE=20~Fq4@xr z*YlsHejVl5z^_VJK}p`5H1~pe>rNx~1e*7xqxWV;@5_uHNSe!sl#qGG9I|G|=&>g7 z{!}`nSY}4!*JpGW;}c1rkP;Y5$UN&@(&t++aPt8Ad6^+; zJW6gPWS;YG>1K@F97dy)yae1(bxx8I^Z1LT>L96RQ1x{(*pXdE>~&<$6GL`OsbExd z37O}#N4hy}1-W?~jebiTEoT}@$UHM;(r6ssD>vUpBfo|ZN|CxWc;DIZ!sF2bP1Lm; z%?so*}#mso18eHOrc#eFY5e*$hv9mbWbkD$@G9JAO z^8&KB>!~Ey>lsN($PB$k8iios<|Q<0(T%WTFJms|6=b`0kH1!G=ScepvWt4jJ}7f7 z>K1iuBM>k`+vXGnWH+$8rBxZ~&A;*fEiJ(p74@NE3Wl2`yhhtE9%@GTol1PtyG!^w z4{mP=heJdCfymIv@Mx94e`Fw783>1~8b^jB!QsegRa5Y>U}z*9++Woa3Pkpd>^DcN zwg>um?DSWL6_M76KRa*E4+Zu{2pd3G2VTM$EeK#ag!3Q zz#NV0pw4(vAA|7`wN7sy@UOYJ${1~37(Z8-8W-Ttl%BRIV22%Ua8Vb6u~_P3jJ6{X zTa2GjcuMJM9|E3Ndiojw?^aczodwuQRc&O9K1d+0 zsWQ_p0=!jW`ZNJMlmn+K>tR))GoqvCo7fU4ux@xHs{ah7N{E|6QFO|J0yn>EN_d*1 pA)d)fMTa@S-n0r&T~y(btW*ZFB>q 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 SDmtxlnu~lSg<@qN*Zd!S&w*tC delta 22306 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
Tb=84cQZHmG8^RyeE) z1yj**wkGx~&eYeJlahV45WRq|dAm*O2?K^+a41>968dVOa zp82IF7|c9Vt8%+0^ok}J%sX?L$|<$Ks0n^uFLR;F!Q?VO(u9JkW%!F9w)b{Y1AI?23g(qLUFA`=^O2Vo{;cw# zCJ;;%bAigSwX%u!X#&9{F$-0mq4r))AQ{XMQ=|&}TR6nnp$V+i3VA9A)4}l3lnDj* z4}V|-*v`SMSdElXCz$l=myD0whtf-PWFq|StT8Df-m8_)h%tRILuYKRsCNEnMc_bqFA8)2tH(QR(tTI}V)9*jik^r4@oN;cwOkf)C%{QhV@Qf=ji*;HLr0)Xw`=E{Cu(;owIjThy+< zGI97znN#ND&wsize = MSB; record->size = record->size + size; @@ -49,7 +50,7 @@ void setField(ObjRef arr, int point, ObjRef value){ else size = sizeof(*value) + (GET_ELEMENT_COUNT(value) * sizeof(void *)); } - if((GET_REFS_PTR(arr)[point] = malloc(size)) == NULL) perror("malloc"); + if((GET_REFS_PTR(arr)[point] = alloc(size)) == NULL) perror("alloc"); GET_REFS_PTR(arr)[point] ->size = size; * (ObjRef *)GET_REFS_PTR(arr)[point]->data = value; } diff --git a/stackslot.c b/stackslot.c index 8e59ee6..47df161 100644 --- a/stackslot.c +++ b/stackslot.c @@ -4,6 +4,7 @@ #include #include #include "objref.c" +#include "njvm.h" typedef int Object; @@ -19,8 +20,8 @@ typedef struct { ObjRef getIntObj(int val) { ObjRef intObject; unsigned int objSize = sizeof(ObjRef) + sizeof(int); - if ((intObject = malloc(objSize)) == NULL) { - perror("malloc"); + if ((intObject = alloc(objSize)) == NULL) { + perror("alloc"); } *(int *) intObject->data = val; intObject->size = objSize;