Date: Sun, 04 Dec 1994 00:32:51 -0500 From: pottier@fregate.ens.fr Subject: Re: [Source] Here's my own operator new for CW Recently I rewrote my own implementation of the new and delete operators (under CodeWarrior 4.5). My own implementations have the main two following advantages over the standard ones: - They can take memory from the temporary zone if the application heap is full - They release memory to the OS when it isn't needed any more I like this behavior better than the standard one, because it allows me to give an average-sized heap to my application and yet still be able to handle big tasks requiring unusual amounts of memory. I thought I'd share my code with the rest of the world, so here it is. I have binhexed it to preserve the font settings (it's more than 80 columns anyway). Let me know if you think the idea can be improved, or if you have good reasons why it isn't a good idea! Cheers, Francois Pottier pottier@dmi.ens.fr (This file must be converted with BinHex 4.0) :%%0eFh4[E8jPGbjMF#jcDA3!8dP84&0*9#%!N!30f!#3"'588dP8)3!"!!!0f(* -BA8#!*!%&J!!$3d-3h9cG'pY6Q9h,Q0`$qA3!"2mHJ#3!i!!N!3#'!PqRe3!N"V rN!4849K868e$3`%!U`GmDDX(I'X!!!&q!!!K@3#3!lN!!!bCP(I"c`#3"MZ'%3! )(!`k"&%"b2GJrN#J6eHDbE0%#XhdT38mMP&,kKRbqeZhcYFk+e2bM'3kf*F56GE 1*L*NX(fSV#-CcpEYppZjYNR19XM@mh`j$RSIc10deiC'G@qBejZ!FKlQH#GVaTm )8'Tf#`VMYTcHj)6mQFpqd[RbQQCQ8bZCSaP2"@pEbZJJmYPL@"GLS4R%SJFm`fI ahrEFhaPJilZb-AT(eLhplAB2j!mj#Y9he4!)GR8d-@C+pSli*J%06PIb+d%'!#H E(,[efIVm+&FZi8qj4cE09RDffFTZM6"PQa'fMfbb#F$UZ6i!%jqf!ASU@rP,d,! *qK%(e(90Z[+DE(CNa+mMJdh3`JLRK"jHS&Rdkkr&8CjQC[9%VBH*Q'h%I5[MIaZ GLK16C9TCd8RFKcm(N8i5CBFU6SGcffd$qji+e'S'N!#p01Z,[4pqf'r6Xm&J)*i I(dl&3r`k&30a2(NZTK2al(4%6r$mb`3r6(fkK(4c(5PK9DMQ1PDTb*C+T*Q-3fP $%DZe`#F4UNKP5KJS+M0Mdb($(iER-XlN!UMQ(,Sq9TNecj8p5kqRJ!3IR@N6rdK BHd-mAaQl%D#Fb6-9LlNe+kBVNb65J53XX93b%FEbZdbY%Q-P-2P9*l&UVUb9XfM $lqIDTPPAc!'hX%TQN!"J(UPAHUBMR@f'42[ESAJ@jkN+aFUa6ib*8L%Y54iT55m cid6IT#$-U$H(BUa5@-2+a8T"BT+Q,fBUN!$J`QL9eQr-)8+Md[Kk*Q5dPTY8[$3 k&M*m+3-`!5@Pa#`b`4P-"+Vl3r&`cUS!$mqF#qC54fQIl9H`X3S@bdLX!%!kAJL Nd%N'b8&Cb@$T@)&1"[G*X6!'dLi"9!PRS*aGDbpKBXh#bK98D)QebD03[%5kL63 ba(SG%eFT!L[ANHKiXM$[+JGA!S(GXU@-5D@Z5`N0,iZPX9E2N!!T)5bjl)YdbGb )m43bcm`VBI0BQ$`6CLl5",j`FA*Iae"fdaF2aCP5#A%h15`$&(D`F`dcV9h8&qZ PKL)"P&LU#,"T5YkY&BBI[2[c&'RP'G6@G[b2S6XN"eG1V!(b,D`$2dMSpFENPRL p9%('"Kk)Cr$6d8Q8Tr6lL5'XXCi*(502C%MbPDrj)IapkrZc!b)U(MmrHJU0p8U p"kkH&mJR*dG%Zr8HQ)-#iTcVN!$mXUP6UNr+LD8mKrF4)@D981cVM!90983HSe# T-ebNH"SS(rC88mDM"iGM-4dpIBbHmQ@%(eFcSJ`4XPJL&pE@)'PKE9M()N'iXF$ &'Q'q%DX0#GQRpaZ1q-JB[0L)'HFmh&1RGQ"#j!l43mj,LpJ!2lR#ZcK30PDKF`c &LXrm&FF1k&#Haa[bCj%'P$)T'JiHa3#`kPqj3T45e9P+pTL)6DERd!LQBebdPcJ NrV0mJIk%fU$1+CReLJbX+*XF)l9#'8#"##h&'LKpU*KXPDI!TBT*(J!5D3c2Tq, *C)S5J-ie2CimR6alF$aq!4ZI6NIh[LV02ANNlNr'MdllX2RdqUNi2[cV#(JMF65 j0rT#JGhEl6rT1)KbL246QS9SM-2PRACEaIP+r0*ZRCfJ,TcURj@i,@jppph0@q0 qUrb"D&@Ip-d*(SFeEqdr%X%bMmp58,LV&jl"hMIIlSqhq)I`F0@j8M(6LdA4DIB HS8$K%d)'`80GBR++IQ14qY'QrIUJhFif#A9QG'@E"aQ@!+8Jb&M$pVmd,1PK@9d SNh4maU9cSDL0FCMJ8CUe@eG8@VeB[FS1DMSRD*08G"(Lp,4Z3Ze@C1)&`D43[-3 N8,B!iST$`B'pEQKHbBQ(j,jDb[miMPZmDp8GBSBR-&!BUE4E+ZVCY(kANiLd@id $@Mf5q"L&U-!P361*,Ja&kb,S695BJ#VMAGm3#F9pFa`FJ`ai1N"+h0eNLTk&-T0 rrdFMM`1&@Eb#-)VrdL1%"AdKDC!!,dqHMFFH'X#F!p#(MG&ZBe!"9A(-aK#2-Aq -f5Vq!Bb$kN@flCB-MRM4S'aS629j0'RA9[88,QH8RdfXfLe('K$,JhCVFMUb&Ym 8T'dY58HeGJ!GeJ-3k#XG[(35`p3--`@T(94IA+[J#1DB0-BR[,%Ubbed1QLr,Xe `&pC3L&TD&LKU1ZG'Kejr(p$Shj*(%0j(r%l$hpMVk!KE,@YV%JKH1%RIq+e60S[ hmRUajM*+i3UQ!K+GJPeAp)LXHcLi`l&e@j44i"%(GiVB)Z`kd)$[hP2DA)+9I$K 1VPk6dBJ3YKM(3p`398mDe!m[#&Ca#2K[YXc+ChYieN5D-e(TAQ3jr&!CQ2cD3cX (r(fNNM0ai4)'lb1mLQ!MYqjbR@1l5GXTh-f24"k(+!@SiLQ@$+aU#,NY1LcHSb, e"Mf*X#Ej35LKDS%#EM`R&#dH$5mE!ba$&&#[m`K9#-kQ5De$r'##DcX,(SL1Sh0 EX!,G!fjd"-6[R)'l*-Kc'CepT-bK`elqkEClkDcGV3SA#'!BP$8ip5jd91`G9%T "JPR8k1,1EIBD-S(q02-QGlV-cE(50"'LAf"YUaPK591mGk4S&KJ[5+G@Uq%hF2c U)NDQSld`S6jQDDT!N@j%B`l1@Q9Z169[0-)c*FpRU9'jQ4"f5l2#`P1f6@,cQ[j 3b1D,FPVSbL2QPDTBaVDkXRXK5HhDTQ!DJS@JQ'+!@0@ZYelqS'p0jK"l)pLXT)@ (D4I'R(-KkQ8F$`C))LrfQ`5rFB2IpPa[4+%SqEpe*irN')Na9-h3FfN8`ZVT`j! !ZK@V"Gm30Y(bDGraT'k)I@T*T%6C"&`j341JP%-96G-FZpBlHh$m!X&0iFBLcB[ 0B)BCLdb&9QH52Sqbj%jNR&qVB4QN#BhH*&2$c+YR%43CDF#a2h6R$'5VGBV0MTK Ki0I)Z%m62*M`b%h6*mSekM(+!fBbR[6a"NmCL2Bd-)*fH8$2dLa2p0@)A"FMA(Z !J[T8M'K-jiC#Bpe[,DN[HMKq10FQajVK4T32IBKlU8G#(M4PXXR+X6&RI$K!1qB lBh`jS30j#e$prY30h#EJSSB(E)3C`Q*EM9cS+iJ'&f23jYLXI1!5'Bqi0c6%A9@ ki&r8X2pbPR0L89$fIL[TYKB'qA*N*1D`i'+63qU*9%NEd)d'jZ%e$pG@)BUa&I- MV'e+j,JlS(HFN!$)a,9'IiJ9EBM`eEQ-FYlfb)%ZTMq*r00@ie+*RF3amV!)K,, "ICD4+ND3!&Y,F&XY-$Y&f!4K2b3Ue!-"RqC&m@K+BVXJpq29B-&9L18X$2f9Lc4 alCT,12qpE-p19&M+#AYcGbr#EB$fI#KE82)&pdCCS)QAVkCE'1p`pp`(mBIb"LG @4[6ieEa&'SeH*H6TA6`La9"J2NN$BL8V6YQQ"AmQ*@FSXL$9ZCbL1#'k(iAp$1H (U-SQ2Q3)YDM@(m"VDf`Rbh,`UfAcNjm[$,q*9h5JhhAl[e5AhZEbrET&lCGlAUq mqk*-ie(RRjJDLM*hY8N5+RdZpLDXj(l8ilq[L@pHhAFr4efBk[Zkcp13!#R5('R +804fFBi9C6UKmMSAqkj'ieC%l2Zf$`IKJ)RbYacAZ1Ll4#e@Sq*1SNN60kP`chE R,'JF"@h-+c6`ZNRkrF6UaZ15#Ge)ZE-j[L"i,'-FBZ(QTELSF'e`1m2ZaSCQlZJ 4im(HVY*bq8m6&@JCq5D#YR(Z,!#@CK'6H1kd%85UTPXZ(Z$Pe`iH1rc`@bflfkb D3NB`SbXHZ*!!XGBk@rV9#GG*"[d#5b60qr3De[)UPf[0GMTP%&c,N@mDqFYCXY# MQTd,SBL8Ap%lhETLH!ZMd6%d(3*jGIMUVSrE2RpM8'cXP4PffT3Hm!*9NrjZ@LJ SPj2E*8-FBp!jdd$d3J1!ARhAk%i-qfl&bi`4S9aKM+4jNDX[Ra%Z%EFSLLP@(4b Z4ViGZ`Z))T+V5dahQFQA"9K3I!QJ@0kHbVa,kIU&Ea@qJhS5l1Cb[5KhGrGp)2E Ve(k+Sc-0P5mLZ$KFT0LLK+ibZfL![KG8`9I@NQC"4Q3L#hI0dJFh[mH",R%Fl2' q8%h*Z06NU+DXZDI6"+Gb2VZI)LeK5[pe+ffAYd"AhJLif(fZ3Y)GG-+fISbR!k' +2dNFiqiY-m6#ab4(B$NU8E[IN5m($-EjpGF,ephjH"EKiV58UXP2eRile2NBhM) V3Xr,kJ"V-Idic+GjR+()j',HHR0lJH1,CUCJShTJIlp*D,c,dIUcRDTVjCTdZGb SQ3`U@qlJrfGZp"25eir9rM6D6q8d+H(hDmTAALVTALUGdJdhZBBZJIj'I@Tl`%2 f4`,V'*2FL[G4e,)NYk3%0KMA(P`Li0b2VZ,0r1d*NbqaZh[aae4jUAJ"P8kDKZ+ *1`[&U5@jk5V2'dTc[D!'6Cb`501jTJXR0`8(I(--KE$"ZE)ii,Di26AD+Z4[ZGp 8LV,@dl%0MkQAIC+*ZlqflREPJNVZ*l05#P2!Z*GN2aaDd3jfb'GKr-$PAM%H29# C!k0)G&GC-,9[F8ic0qK2mEm)F2jjL(f0ld'(q)F%*b2aB[*-M*lmCI*LG)q[3Nr Tha4m-H!3p!m!!+6!!!!: