From 817333381dfca63564f9cd66083fe0badfe872e2 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 19 Jun 2020 21:46:40 -0500 Subject: [PATCH] Bugfix with scratch allocator --- include/bh.h | 22 ++++++++++++++++++---- onyx | Bin 158352 -> 158400 bytes src/onyx.c | 2 +- src/onyxparser.c | 2 +- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/include/bh.h b/include/bh.h index 85ad7699..063989c8 100644 --- a/include/bh.h +++ b/include/bh.h @@ -924,10 +924,24 @@ BH_ALLOCATOR_PROC(bh_scratch_allocator_proc) { } } break; - case bh_allocator_action_free: - case bh_allocator_action_resize: - // Do nothing - break; + case bh_allocator_action_free: break; + + case bh_allocator_action_resize: { + if (size > scratch->end - scratch->memory) { + return NULL; + } + + retval = scratch->curr; + scratch->curr += size; + + if (scratch->curr >= scratch->end) { + scratch->curr = scratch->memory; + retval = scratch->curr; + } + + // HACK!!!!!: Using size instead of some kind of "old size" + memcpy(retval, prev_memory, size); + } break; } return retval; diff --git a/onyx b/onyx index 59fdd5b4cc20fbbebe03806ed8025a447c2791a6..ea67fa4bbb97ca42a50fc2e210a29caab902b2cb 100755 GIT binary patch delta 14837 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 Oy$GNFe99;q@P7dDZ85O` delta 14847 zcmZ`=30zf0+dnh+o_j%A#Enf^1W|!|0Tpq>Kt->mh8sd|xFMEl?pCi{*Fq5kM;%kj zecwd|mlP?N)ZDk0x9t7OD9dbnqfF2DpEKuPl<)W5U+4VK%=65%%`?x;IatL_&m#QS zl3p2E9Q|dTv@%8irIoSz#O@guFPmYk7dh#->JQm+BMYR*8hXzvTCsWc!j;1g&2SEk zi~8#37+Y{@6@5RX-j+j(;wbcv(;@lC{iQ3z@A;7M(%JFj2tBft-AkBCvx-WGv<@&4 zE1Q-WMvpFMD-+9zjrDC8NxxuhTDxdEriiU;x13&jhqX(J^|-+xvmmXS`L**eotqSB zsc(i+M?7$IEc(;2=uFjb^VqKBZgkJQ(qEE;C|x$E)H|iplkRk~tGzNw^U~<&dzy(S zo6!OzThaeEeKe(X;(&5OJC7}GIp{e;cV)8i8L>1k zlktqr^!8xZWpDufU@*%Z+?KvQm@OT=qSM0+-Lh?tMQPRZXKzyS{2YbJca|thxrkcT zRgll79T(5{8-Y^crj%u{;hDj7bq0GgGpWf)ov*^pm+t24nZYh)Mh66g!7ab8n`&nD zvI6N3gIG*fF#Ti@b7U3LE`!+ZtY}idl)mIa;B(y}G4$U9SoF@!pY)CKCfRUlI z>5Ber&d{YqE%hDNrw&ccV&UVvu#$1h$Rrjvz7u;n_Yln+TpB*UE}>Q9nEmCMw0aPD zT9saT`7xna2C#%#tysk*zf#XvTM{~s;F`B+?^HfI1_I5X?OnaMddcoanGo8`f&%2t-W^5pjSp2ML7~#vlm@$t$=WeZ< z8Dbs&lAlA+mycW<^xK{bY-3Ls_DzArHM`-(k!W$qAaYK7KLmqcNC5qg<@W3fU|oBry&X;Sl37fC zH0__v2Iq&8W^87D7$K#r@(W1+ciPLf;+S92URdO;Y1b3&57ON96w%&Y({3r+=FV<< zrfC1(iA`VJrOEX`;b7Xsf@$Z9hhG<4o6P#miqg^;u8mKgt5KyArajA3)zuqI1_>6kXG!;&!jZ*Amo z-@_?p-@{iR>53Ha83_0NMEitTKtkr(Htg*sne^2*?CT{#G$VmMUh)!+^Jn4j2GHo% zY~Sj}e($#i>->+x9EEAnceW~$tuD->S*`UEUE`VG($=(FV>Y)afObh>BbG)`vutVc z?ER(vC~w4mSsFl>#S3ZmEeX#`TN1~*6gOcnzSEhWiq}Q%u(R#&v?e>*oT5OwC64|1 z&TE0+#_29q6r`B-kdzxCu?i+a+3KQfx}<@w=WV;L=aKzcJ#%f)GmdVxv#rHVn-<0j zc?)N0npTi9O&7Vu5V^HJ`?@%QZm_XO#gTMLClJq3MMLHldqGA3|$EPJ>tuzm>C7@^)LLcJ-5 z1+!O41Y5*L(S9A-Pps+SuFzMIwoR9fw9zvox1Q)br}trw^uB@UgTC^DLCAnUSc7Rr zhO!r9{;z~6Hgb6&31@FE-%N7Y$Q6NfWHjr%B9efxA}}C48im@4oOvdnjz_a)D6ljR zhm|kW*50g;2Vf(d#GBA@dL!h&EfnSZ5{wfo2NlNyvH#JCMS{+fSOJ#%;{_e$lVDYH zd?!{^?ex|og{7)5*DFV5jnda_VGCAom4Aq*Pc0U?qv|Y~Em+#B0rW_7wtCeZzykPm#KSkMWSZPaLyG+iRuh&7EdaWmE|rc>&b(vp8!=y~tbIU5EL zc5VTk&e-Pl|}Cl|4iTUt5?7oiUa5!4`> zuRdSXBKc~vyQSo-3259;lB{Tkx@jrktY6cD6t$*h%2%u3(X~DRNTYuB^-HT-H2WLG zq>6cLZRorxIHV1heD!2aOU+jg)U?d`>gJjjB(JJzL2E%x3l`MkUvUhj2h%B0> zX&=kHnEzuKa--^OTD6`O1!+|U3R3dKw9;>OaY9EtESaZ0?~Rw8MJ#@u85Wzg3BXn^x^8 z7=*G9C>}0t zaMX{`*c=vh>{IWrJJe8amUD#b%vsLx*AK2W=BP1U8CT#GB1L^QD*zOOH2M!*l2S}VCs>e8DyqdQ}Jg2Eum)X3J-X`C% zI;TgIU)jXdV`$-L?8fOg>G~n8-Q3q5GnCMNcOb@}T|L`{rru(H=N8lHne4rD zQ)zrAtN-yo80&l9MjH-hp#}b|)rAOp=Q`_qA)Ku_-k`jhQ+z_n7JOYfWMroM=NWA@RtLaOyaenhZG*MeBl^^Wwd zKJ4Q4&UElaR_8_z`I$|=VGAEM5|d=Q4F3v~GsN?0@w`ZV1J8~{jouu|PTojs6d8_P zK;%%>lg~A+oZ#tu2MfHJ;a4zJ3|*+`o9Ef84a3-+n|8lh7xdnBPlT+qRjV$tlQ(1O zrn&5=n_+%|l6b`+cDTqwZguRP`Y(M*iXrIYY%z3U^<%v^-QfLmj;7%lif=YlaWc-9ZFJENf@e7rn&7&9VE2 zE)ZnpH{X!IQwR4hOb*6YlA6(L(XG@$y%znEIxuz7KZ6{FHZOD!=-ukEWB!jGRlXSP zIQ7^xEi~bC-_SXVQu^iXW*#iQ!QBIQH#cMzzc&=;g|Fbp4qTSDp9hgtpb(+%YmN*?*K!)Xj(OJFR+PKQ62+3TNS5L@SLU%MMo?q z_g}!IR81=Z{ti42+|o_cz5tHysc8yMA?JW$z@sl{T6f?D;27Z2bWK|TjPIvun}AAx zP5TJ=;Q&pm0^S*@X&#=65}cuFErERoV>&%CWs5Qq0d$mPX<9z;9VF8(;2z*bVCqnK z4m>^#p4Wj#z_!3whr@H=^lW$zY%&s_1CxN|z?r~1z^=LQ95@`u-+;P`@)NK<(0d9T zcjDpdR85-$Ovkpe4wyF`mIE&UzX5)=5SDu>$`ARP77P4#5vB?lwM5gV0l#|(ih<*c z5i#J@<(hUE_#dExqh7%ZL<|_bQqxj^eq7VCfz4MTrRLz_gLk1Acy5iRRRFiW2LV9K zS_r^FFl0Rh06*RU0l=z_5C9yt8HNMj-lA#SfQNzSfDeFGK){=qfaSnypyvgQ_g9oL7cm|f@(IQRM*?U0WBtcm zf&g?}1eOCET)}z=UI+dIoQUnDNr0lIKm2HtGe?A4R_cxD9w0 zX#Nbzi%%01fMGxmOaU(V9LWpJ_yWlr7^^6A@URXYkAM}xY5#@*;EzCakfOBw8p#J- z^)>tQ@94leQJNNq@}hLNBEu9V5?5PX0WADc3(|r0dK5}+E!iclF`M(qgT}VxK6Ocu zD!%k}XWJh|khj<;xQ}PQJPIYb%$({Zn4D;`IXA?ygA*RfCWJdr)d^9a`TNhqZb*5yeES-^%p z2_?aZAI$MwDbL_6a!GvY)hwaPNUwq2kz`>QnD6+RfWyGEpz9htfp2i|yi%6$vDi{A)!&+-I(s zj5}XZjCq0p8;s0JPB({*sA=P-Q89 z14t_PyMp?J9})0h{;7bu{4W7>c%T{Z8Sh{wEy!&?Qnc>zxdNW>^?-1Kn%V)ryW=rU zL<5xv*YDUwg80{hJA@MzVCUfia(SwNYkZ`DU-?`C&G>o&z4<8tbNSaQ{3_+D1+5*t zxqyy5O+W=7E1(r$C?JAwmbB9XIR93_Ij&ksXtT-^><~{|N6U2cgmszNF^0d#dsq>S z9q;iRAW7s4F^q0|pKlS}1#9^kflt=*dxGr6RSyVnz?%c;!FBvI9}>i~J&2i}T*q@f zz^bid!=E(fB_70s?p@Efh`w*u^D{tr_^lW>Yy-D=qI=B-9wqSB2Hr#9{S7<^Nb2x~ zp3u^YZwAm&8~GVe(u`(p;y(zyw~71I0hfu}>VSM~Gw+Kgt=`Nh3f#AaFBSOH7QRQ| zuC4r%z;Cwl2LemBiRBqW4{qc3x};h7QtUL#pNY^r?g%ZwdZ&DHT@va%y+hOR5xHiX z=^!`TM_|)HKPJxb?qzY92nG@8Z$Mv-4XWWY%f{EeY|PkqmSThY+4S`IA559Z;f4i(%2=VZsydz7cjmx@5kr^+cQFe3=@eTA`a9v2liKXn?yTnXr`YnEE zHL;n$v|7Bl=Nb~+n*G2SxhP|&bECWf%a{y=R>_cMzIgUj!Mp3{ltKPYtoiCB`Bn1 zRIsAN%ns98qMp%l-rCuv!>KE|P)o_hr<6R2frK+wRcL*1RZ53p`j3=saVt4v4U$T7 zr6Xso@lr{)65SkmO^#SCO^oq|tuS(QV=Pl?P}Ggcn4CKy)6w8D`d<9o=qLq_Ik zEu)Xs7#-JJM0uSwI*uPJA;Hdd)^I7_A?;gdO_JhLVqcpyRdA>NfuoG6xZD{(VbV;6 ztar&DXq$+G2if3iXG;AWUG1Uq(_Vc|A)BlXf7WLX4o??BTVu7DugE~fD16X+q<-Ty z)+R=fl;|yDI+t55C71c^_efCmayKpJU19!mYuqW6Eo6ccS1t^AMf#I+iJy9p1SY&< zjTzBY&~p=RHv{<%EBWq{F)2 z*(EU37A6!tXSHn918~Bb(54kSUc`QD_@&ri7pd!SRfUfJ=lSBbShN1t5F-H634d!V zsj|ED!Qa|J`cQ885ad#sD}89<@*y*Rf-ou6MbDNdHIpXM;ta+9P?)61sn7dZ#F<@?97f zF~eIZc=XVSRU~6`!J@~;RD95w;0qQbINOZiT(Y<)_@S7v%NBK&KEb_Yu&!E+2~SV> zTV&IJEW~_H$@|5!*rJ#va-+uRZ&zOfiN(p#|?3Y{k{ zdVPE43@==d2|j5F>l7|>F0=K_GrA&Wqy$A|c!kBtaGVM(9wHU&H^hS9FQx1}EqN=9 zA*AFGgvHDh<$S*-+*s5yUi&TWr6xyACH8R8yPYM7EiLZeI?+(AzX3s(P+k6%>gX6T zD~m0bF&{}yJrOqXBPH!o5MoD8nIgzdMS~VQajnqc5+;mbS)niTNMl!(z*G zXPuBE>Ot!ThTw2Ru$+)$i&qz2WTtR`Hxybtep0d6zZL6qw#D+{hq@WcdI_-Spxd6= zE_*ViJ+oc*43zfFhCS_|4)sSGG#du#?cP#*o~5qTo~zimivUcrScMIL;T*7$1WlOa zig1byz$A-ZkZUq>k|jw96d5TczUGpc9Y1;`3i%X^*L7VZ3cm=+H0h++#O?Ehi{s@y zAFkwgq0u?s5-3BQDdoNFk_QV93kwHI{(nx%cpP;roh71{&ftE<=^}tx& zrh%5$vYjq<40h?rZtYC3lmgQYx$*E}h{aQQjm-hc86lQUyfk8ch2+vtig+X?+d-8( zPP`>lCZ`d)c#BOKRTH{+OFLKSq*?Kn?q>(+!Q5vAGoi+?R}Ft(ml_peSE{9sVV7;G z2u)XuhxAKq7H7l?@wQmfEBFhWNl=WpCF*+^2Pa}~Nm7EW3}cXSTSdmL6UEWfVu|5J zn@Mn#r=^)|z-OXvds^BGHd+kU2I8>vM769v$*)3q;uF=)yHW5yQImdxq1b0)_R4mu z%d+T|qG2R;=aYwf*TWK3~T$0BcTr1pM2VGp5O4|j;dE7P<;5?#w$OA^Y()N#9BfrAP zc=&iyts|m_Dyp;|@qrZUTE>F@k&B)iKS3dKVjZvAWXDC1JljiRa$e!Xwv%vYcWEX+ zEX@?*5kFE=fCP|v)ZJz9Io;syE`uu!gS)#7K5iJ?T}=~mFz<%JX|)aR=`y&j%VLMi z;v0s=4wuDO@|3uS!s0H{)a1iFVF#8>7d1pqRHg`H7d2Xh5qnAO)G4DyyNxl8GWDL5 zsVl0a{iZkvBuZ&7iHyVVe0U*k)fx(p@#?WB3{m> zYPj?$SNEu?YL^~mOOHa_9`%qODfW9pW^?D$fqw`!Btrt8*vs~x4a4r#5A+gfpQ z!B58D*A@R<)PNE*YQSjWgIVgDyPtR7O#*_=YOv5{Dn>r(71*psO9$`?bPs9n{ioRa zo|yH@9?945Cczm`%#qR_nGa9Q39fwTBNn=5t|QcmS2%m3C_8`1(Y^P{c-4e$i_I0b zKg{9$_#P7LlPTiyvmEgAUfz2T32OhdIqYeDKbvjO=zI8-zF=YPJvrQ;zrTkBXWlb6 zl@7UQj{FbPK#A=egfr(%7TYTt7m^ z-$;1eUc6vdnmdb?BX+Bpzp(F+O7n|Sd6Cnm2j@d+EDEPHJ_j}7w7G#8FZLtF{h98~ZNHZqWuWX8D`$UbwjTa7MtpSh2i#YC}@>SFiTh_zi4dvlq~=WWpQiu8%L%aBsy(nE<&3Ymr>EwWIW{a_-**fF98rkk@qgZ8#Vzp7mXvQvS=W`MeBPAYo z>Sk>;H<5{)8>3f>jpml}_>~<~M}&E!xt%PKnaU{p=VI#CN});rN9aJe(6uf@4WVnz zEuIm&)|}`PYVRse3@gpPRhSFP|Jp}_JFYZG8H+1^tawA==6X7{I9HabRc7P#G(oXn z5DTVA#%b$L-giIZROC{hY5Q3mA&Xsc$yV%hg$s)%f3KY~Aj92pNl9?UWwBdEOb-!< z#pdQR*6C7a!BaAi35Eqy=7SwdH(lHix6lP{p$p8-49BF9g-;2&AuP?4LW*|q=mR9E zL!Q}HWnzf%Gtb=e86%uER33=i}khEr;Tpr>x&(DG( z*JYjfaw^8!ON3J+q;++-iw_X^W$SkkN~X4PnKzTsPEs|F57aIxEsQ_EF|<`Wc1x_QavU||B;e2ZY#3Pk;c-C%^4$x zB#+f+V~ngzS>`^nq~fJ=rI`ILa*>4cR}PZk=ewArja-UpC~8s{b8>Ti_&_SfzsUC|aQaIgK@}J)-JwcTd?Hhe<&0DU-ikCXSeGqNtoQ zg^Ewk?sHtF$!kCKc$(_DjGHT_=CsKoJj5y0c32EMW3ot{*>a;eXL7%8>aWS?d6zO0 z)^(3mzIc=LWr92S9h2Y-PRDypf%3&CQ<}5K6fVt4m%i-f>&i&u)(2|T>*7mI#`n2# zO583H<0U2{zK&knC^Z~c%BsqUPcpq*zpVOq^2ijvR<+Dm=>pYcs_#)>ZDe}Qu13yN zgXgK19JTH^wa!eQ{1@?8>2cMwW!ad&NTd(`>bl5EN0?MgLfKDN+QQD#simx8JKCAx zk21V}619_6d~Oo;Cs)eeO`N#k$x=eyDwbjB`T2_#9p zLpR#fxxPZ0Is|5mpNAFy4o2}-YJW%zF#2nM&}wP)*N$y_qd&bu7pwG>p!6~NjdLs4 zy3y32+Gm@U1`|HiztkQ6!ISQA0iXM?b*DWjzD)+D!Iiv^`LZ->7h$Lb;t$imq)~q= zULAVS;X$>J+nR@T4WB*c^}z66JNe%|Xpg|ZDy41b4HMtd_n)!LAOwBfvbDb;dJL| z{&z3hUVC#JZuGa}2`|9;+OI|{3~~T}9b}5-yyFFWE6DxlKkNkJ*UVc=$3bOv zZ`vcF_V>O~2EF96T`hECSh$CkHJ&XxFv`dn+46auA$S)=!jwke`BS$JZug=2lK9t-xB{Ohqa&eQ!rUh=>kn&f%qZ^?C~EGvgvP4r58K59H|M?bUj)#GUw hlFC0FPoKlT1qpl^Fo$OWJm1X5)`4F?zJ4?f{a=aW6*>R_ diff --git a/src/onyx.c b/src/onyx.c index 816a38a7..2a57a80e 100644 --- a/src/onyx.c +++ b/src/onyx.c @@ -55,7 +55,7 @@ int main(int argc, char *argv[]) { onyx_message_print(&msgs); goto main_exit; } else { - // onyx_ast_print(program, 0); + onyx_ast_print(program, 0); bh_printf("\nNo errors.\n"); } diff --git a/src/onyxparser.c b/src/onyxparser.c index 9cdbda49..07cbfd1b 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -341,7 +341,7 @@ static inline i32 get_precedence(OnyxAstNodeKind kind) { static OnyxAstNode* parse_expression(OnyxParser* parser) { bh_arr(OnyxAstNode*) tree_stack = NULL; - bh_arr_new(global_scratch_allocator, tree_stack, 4); + bh_arr_new(global_scratch_allocator, tree_stack, 1); bh_arr_set_length(tree_stack, 0); OnyxAstNode* left = parse_factor(parser); -- 2.25.1