ChangeLog 377 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430
  1. commit 9608fa3bcf8020d35f59fbf70cd3cbe4b015b972
  2. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  3. Date: Sun Apr 29 16:55:59 2018 -0700
  4. bumped version to 2.7
  5. M NEWS
  6. M configure.ac
  7. M src/windows/config.h
  8. M src/windows/gperftools/tcmalloc.h
  9. commit db890ccfade3cf054ec330dfb4a9ddfab971367e
  10. Author: HolyWu <holywu@gmail.com>
  11. Date: Mon Apr 30 12:08:51 2018 +0800
  12. Clean up src/windows/config.h
  13. M src/windows/config.h
  14. commit 497ea331654f7ea9e4e6405f5beaea8ebcc9d10b
  15. Author: HolyWu <holywu@gmail.com>
  16. Date: Sun Apr 15 22:47:17 2018 +0800
  17. Fix WIN32_OVERRIDE_ALLOCATORS for VS2017
  18. At first I try to add some functions as what Chrome does at their
  19. https://chromium.googlesource.com/chromium/src/+/master/base/allocator/allocator_shim_override_ucrt_symbols_win.h,
  20. but it still fails. So I decide to remove all heap-related objects
  21. from libucrt.lib to see what happens. At the end I find that a lot of
  22. functions in the CRT directly invoke _malloc_base instead of
  23. malloc (and the others alike), hence we need to override them as well.
  24. This should close issue #716.
  25. [alkondratenko@gmail.com: added reference to ticket]
  26. Signed-off-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  27. M src/libc_override.h
  28. M src/tcmalloc.cc
  29. M src/windows/override_functions.cc
  30. M src/windows/port.h
  31. commit ebc85cca9083241ae360e0c68e2f1d7538001fa3
  32. Author: HolyWu <holywu@gmail.com>
  33. Date: Tue Apr 17 11:40:49 2018 +0800
  34. Enable aligned new/delete declarations on Windows when applicable
  35. M src/windows/gperftools/tcmalloc.h
  36. M src/windows/gperftools/tcmalloc.h.in
  37. commit a3badd6d2127c161f6fbad853fccd6e8064fcde7
  38. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  39. Date: Sun Apr 29 16:34:54 2018 -0700
  40. Really fix CheckAddressBits compilation warning
  41. It looks like previous fix introduced another warning on gcc for
  42. i386. Somehow it barked on kAddressBits shift even that shift was dead
  43. code.
  44. Anyways, we now avoid possibility of undefined shift even
  45. stronger. And it actually removes compile warning on all compilers I
  46. tested.
  47. M src/system-alloc.cc
  48. commit 7c718fe1768273f94acf2bd43cfa1f44a4b9bdcc
  49. Author: HolyWu <holywu@gmail.com>
  50. Date: Thu Apr 19 13:49:28 2018 +0800
  51. Add tests for sized deallocation
  52. M src/tests/tcmalloc_unittest.cc
  53. commit 30e5e614a846d5f046454341f108bc4cb2b70189
  54. Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  55. Date: Sun Apr 22 19:17:12 2018 +0200
  56. Fix build without static libraries
  57. Only add -static to malloc_bench_LDFLAGS and binary_trees_LDFLAGS if
  58. ENABLE_STATC is set otherwise build with some compilers will fail if
  59. user has decided to build only the shared version of gperftools
  60. libraries
  61. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  62. M Makefile.am
  63. commit 836c4f29a585e4b176738f64cf8d312171be5fe0
  64. Author: Ben Dang <me@bdang.it>
  65. Date: Fri Apr 13 10:54:05 2018 -0700
  66. Update documentation for heap_checker.html
  67. Make it clear that the static methods used require the "namespace",
  68. `HeapLeakChecker::`.
  69. M docs/heap_checker.html
  70. commit e47d0d1c5142a4ad1203e58db31af2f58bafcda9
  71. Author: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
  72. Date: Tue Apr 10 15:56:52 2018 -0300
  73. powerpc: Re-enable VDSO support
  74. Powerpc requires VDSO support in order to produce a stack trace.
  75. Without this, it isn't possible to complete a build.
  76. Tested on powerpc, powerpc64 and powerpc64le.
  77. M src/base/vdso_support.h
  78. commit 0a66dd3a6ac60e57d9c01f17309a40e2ebe06837
  79. Author: Christoph Müllner <christophm30@gmail.com>
  80. Date: Sat Apr 7 09:00:09 2018 +0200
  81. linux: add aarch64_ilp32 support.
  82. This patch adds aarch64 (arm64) ILP32 support by using
  83. the proper syscalls for sys_fcntl(), sys_fstat(), sys_lseek()
  84. and sys_mmap().
  85. Signed-off-by: Christoph Müllner <christophm30@gmail.com>
  86. M src/base/linux_syscall_support.h
  87. commit 05dff0966362932631a2120eaeb8eebb50dd9300
  88. Author: Christoph Müllner <christophm30@gmail.com>
  89. Date: Sat Apr 7 08:30:32 2018 +0200
  90. Fix signature of sbrk.
  91. The manpage of sbrk says that its argument is of type intptr_t.
  92. This patch fixes a compiler warning on gcc 7.3.0.
  93. Signed-off-by: Christoph Müllner <christophm30@gmail.com>
  94. M src/malloc_hook_mmap_linux.h
  95. commit 33ae0ed2ae7ce143276658be029c28ec6f2a73c9
  96. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  97. Date: Mon Apr 9 20:57:29 2018 -0700
  98. unbreak compilation on GNU/Linux i386
  99. Recent commit to fix int overflow for implausibly huge allocation
  100. added call to std::min. Notably, first arg was old size divided by
  101. unsigned long 4. And on GNU/Linux i386 size_t is not long. So such
  102. division was promoting first arg to unsigned long while second arg was
  103. still size_t, so just unsigned. And that caused compilation to fail.
  104. Fix is droping 'ul'.
  105. M src/tcmalloc.cc
  106. commit 977e0d45003514d088e4bb83474c985094acee47
  107. Author: Christoph Müllner <christophm30@gmail.com>
  108. Date: Sat Apr 7 08:35:42 2018 +0200
  109. Remove not needed header in vdso_support.cc.
  110. Signed-off-by: Christoph Müllner <christophm30@gmail.com>
  111. M src/base/vdso_support.cc
  112. commit 36bfa9a4046109efa40ccc0806c72331de9c915b
  113. Author: Mao <littlecvr@gmail.com>
  114. Date: Mon Mar 26 17:22:19 2018 +0800
  115. Enable tcmalloc VDSO support only on x86 to reduce static initializers
  116. Background context
  117. ------------------
  118. crrev.com/1466173002 switched the GN tcmalloc target from source_set
  119. -> static_library. There are good reasons for keeping tcmalloc a
  120. source_set (see "Note on static libraries" in [1]). However, in the
  121. current state source_set was exposing extra static initializers in the
  122. GN build which, are not present in the gyp build due to the linker gc
  123. sections.
  124. Resolution of this CL
  125. ---------------------
  126. The fact that vdso_support.cc is GC-ed by the linker is the symptom
  127. that such code is unreachable. A search in the codebase shows that the
  128. only client is stacktrace_x86-inl.h, which depends on VDSO only when
  129. defined(__linux__) && defined(__i386__) This CL is therefore matching
  130. this condition in vdso_support.h and conditioning the #define
  131. HAVE_VDSO_SUPPORT with the same conditions.
  132. [1]
  133. https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/cookbook.md
  134. References:
  135. https://bugs.chromium.org/p/chromium/issues/detail?id=559766
  136. https://bugs.chromium.org/p/chromium/issues/detail?id=564618
  137. M src/base/vdso_support.h
  138. commit 1cb5de6db9f30daa56a0b54652a7ff6da288c1bd
  139. Author: Mao <littlecvr@gmail.com>
  140. Date: Mon Mar 26 17:28:28 2018 +0800
  141. Explicitly prevent int overflow
  142. M src/tcmalloc.cc
  143. commit 8f63f2bb983e93b57e24a05964104f1d833c575b
  144. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  145. Date: Sat Mar 24 21:15:01 2018 -0700
  146. Correctly detect presence of various functions in tcmalloc.h
  147. This fixes test miscompilations on some clang 6.0
  148. installations. Particularly issue #946.
  149. Defines tested by tcmalloc.h where totally wrong defines. configure
  150. actually puts defines of HAVE_DECL_FOOBAR kind in config.h. Which is
  151. what we're using now.
  152. M src/tcmalloc.h
  153. commit 736648887b0b27ec70a50f0954a614dd65c1eb12
  154. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  155. Date: Sat Mar 24 15:54:48 2018 -0700
  156. Don't test OOM handling of debugallocator
  157. This may fix issue #969.
  158. When testing OOM handling we set up sys allocator that fails memory
  159. allocation. But debugallocator itself allocates some internal metadata
  160. memory via malloc and crashes if those allocations fail. So
  161. occasionally this test failed when debugallocator's internal malloc
  162. ended up causing sys allocator.
  163. So instead of failing tests from time to time, we drop it for debug
  164. allocator. It's OOM handling is already crashy anyways.
  165. M src/tests/tcmalloc_unittest.cc
  166. commit c4a8e00da41c43da7e78858e06f3153f09f6967d
  167. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  168. Date: Sat Mar 24 19:09:15 2018 -0700
  169. Fix warning about one of CheckAddressBits functions unused
  170. M src/system-alloc.cc
  171. commit 47c99cf492fa340671fa89afec263b8d6e859755
  172. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  173. Date: Sat Mar 24 18:29:06 2018 -0700
  174. unbreak printing large span stats
  175. One of recent commits started passing kMaxPages to printf but not used
  176. it. Thankfully compilers gave us warning. Apparently intention was to
  177. print real value of kMaxPages, so this is what we're doing now.
  178. M src/tcmalloc.cc
  179. commit 34f78a2dcd8160b483d86474702785337bbeb7ac
  180. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  181. Date: Sun Mar 18 16:39:06 2018 -0700
  182. bumped version to 2.7rc
  183. M NEWS
  184. M configure.ac
  185. M src/windows/config.h
  186. M src/windows/gperftools/tcmalloc.h
  187. commit db98aac55a90d45e9abe188c8a928c3561d3f223
  188. Author: Todd Lipcon <todd@cloudera.com>
  189. Date: Sat Mar 17 09:43:34 2018 -0700
  190. Add a central free list for kMaxPages-sized spans
  191. Previously, the central free list with index '0' was always unused,
  192. since freelist index 'i' tracked spans of length 'i' and there are no
  193. spans of length 0. This meant that there was no freelist for spans of
  194. length 'kMaxPages'. In the default configuration, this corresponds to
  195. 1MB, which is a relatively common allocation size in a lot of
  196. applications.
  197. This changes the free list indexing so that index 'i' tracks spans of
  198. length 'i + 1', meaning that free list index 0 is now used and
  199. freelist[kMaxPages - 1] tracks allocations of kMaxPages size (1MB by
  200. default).
  201. This also fixes the stats output to indicate '>128' for the large
  202. spans
  203. stats rather than the incorrect '>255' which must have referred to a
  204. historical value of kMaxPages.
  205. No new tests are added since this code is covered by existing tests.
  206. M docs/pageheap.dot
  207. M docs/pageheap.gif
  208. M docs/tcmalloc.html
  209. M src/common.h
  210. M src/page_heap.cc
  211. M src/page_heap.h
  212. M src/tcmalloc.cc
  213. commit d7be9385609328a03c5cfe775473a7dc8e014fd3
  214. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  215. Date: Sun Mar 4 23:29:46 2018 -0800
  216. implement more robust detection of sized delete support
  217. As reported in issue #954, osx clang compiler is able to optimize our
  218. previous detection away while not really having runtime support for
  219. sized delete. So this time we use AC_LINK_IFELSE and more robust code
  220. to prevent compiler from optimizing away sized delete call. This
  221. should reliably catch "bad" compilers.
  222. Special thanks to Alexey Serbin for reporting the issue, suggesting a
  223. fix and verifying it.
  224. Fixes issue #954.
  225. M configure.ac
  226. commit f1d3fe4a21e339a3fd6e4592ee7444484a7b92dc
  227. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  228. Date: Sun Feb 25 13:55:53 2018 -0800
  229. refactored handling of reverse span set iterator for correctness
  230. I.e. no more questionable memcpy and we run iterator's destructor when
  231. we remove span from SpanSet.
  232. M src/page_heap.cc
  233. M src/span.h
  234. commit 59c77be0fad2a49e31d51877985e7c48f73afcea
  235. Author: Todd Lipcon <todd@cloudera.com>
  236. Date: Sun Feb 11 16:21:42 2018 -0800
  237. Update docs for central page heap to reflect tree
  238. M docs/pageheap.dot
  239. M docs/pageheap.gif
  240. M docs/tcmalloc.html
  241. commit 06c9414ec423ffe442c047b2560555f9d5847b1d
  242. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  243. Date: Sat Jun 3 15:31:06 2017 -0700
  244. Implemented O(log n) searching among large spans
  245. This is implemented via std::set with custom STL allocator that
  246. delegates to PageHeapAllocator. Free large spans are not linked
  247. together via linked list, but inserted into std::set. Spans also store
  248. iterators to std::set positions pointing to them. So that removing
  249. span from set is fast too.
  250. Patch implemented by Aliaksey Kandratsenka and Todd Lipcon based on
  251. earlier research and experimentation by James Golick.
  252. Addresses issue #535
  253. [alkondratenko@gmail.com: added Todd's fix for building on OSX]
  254. [alkondratenko@gmail.com: removed unnecessary Span constructor]
  255. [alkondratenko@gmail.com: added const for SpanSet comparator]
  256. [alkondratenko@gmail.com: added operator != for STLPageHeapAllocator]
  257. M src/page_heap.cc
  258. M src/page_heap.h
  259. M src/page_heap_allocator.h
  260. M src/span.h
  261. M src/tests/tcmalloc_unittest.cc
  262. commit a42e44738a330783781541411392ba27df88b8b3
  263. Author: Ishan Arora <ishan.arora@gravitonresearch.com>
  264. Date: Tue Jan 9 01:33:13 2018 +0530
  265. typo in docs/tcmalloc.html
  266. M docs/tcmalloc.html
  267. commit 71bf09aabe93dbe390ebb54c57d3c5b3d627c142
  268. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  269. Date: Sat Dec 9 09:58:31 2017 -0800
  270. bumped version to 2.6.3
  271. M NEWS
  272. M configure.ac
  273. M src/windows/config.h
  274. M src/windows/gperftools/tcmalloc.h
  275. commit 0bccb5e658762f30e6e3abbc40dc244e8f8911c1
  276. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  277. Date: Sat Dec 9 08:51:19 2017 -0800
  278. fix malloc fast path for patched windows functions
  279. malloc_fast_path now receives oom function instead of full allocation
  280. function and windows/patch_function.cc wasn't updated until now. It
  281. caused assertion failures as reported in issue #944.
  282. M src/windows/patch_functions.cc
  283. commit 8b1d13c631024ce7e80508c284c7bc5b1327e131
  284. Author: Stephan Zuercher <stephan@turbinelabs.io>
  285. Date: Tue Dec 5 09:49:36 2017 -0800
  286. configure.ac: use link check for std::align_val_t
  287. M configure.ac
  288. commit 36ab068baa3b07c083bd79029622aa382aeff84a
  289. Author: Stephan Zuercher <stephan@turbinelabs.io>
  290. Date: Tue Dec 5 09:31:38 2017 -0800
  291. configure.ac: better test for -faligned-new
  292. XCode 9 provides only partial support for aligned new/delete when
  293. -faligned-new
  294. is specified. Require successful linking to enable aligned new/delete.
  295. M configure.ac
  296. commit 6a4b0799975576c2722daa75b35f6f65220d22b6
  297. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  298. Date: Thu Nov 30 18:19:17 2017 +0000
  299. bumped version to 2.6.2
  300. M NEWS
  301. M configure.ac
  302. M src/windows/config.h
  303. M src/windows/gperftools/tcmalloc.h
  304. commit 22917145186bc8bbb6d98090d788ed7c87b282b1
  305. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  306. Date: Thu Nov 30 16:36:33 2017 +0000
  307. implement fast-path for memalign/aligned_alloc/tc_new_aligned
  308. We're taking advantage of "natural" alignedness of our size classes
  309. and instead of previous loop over size classes looking for suitably
  310. aligned size, we now directly compute right size. See align_size_up
  311. function. And that gives us ability to use our existing malloc
  312. fast-path to make memalign neat and fast in most common
  313. cases. I.e. memalign/aligned_alloc now only tail calls and thus avoids
  314. expensive prologue/epilogue and is almost as fast as regular malloc.
  315. M src/common.cc
  316. M src/tcmalloc.cc
  317. commit 8b9728b02325a9bee9afd3957e506c111ed40d40
  318. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  319. Date: Thu Nov 30 18:12:32 2017 +0000
  320. add memalign benchmark to malloc_bench
  321. M benchmark/malloc_bench.cc
  322. commit 79c91a9810c928d7f6d0cb168c10ce470a714aa8
  323. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  324. Date: Wed Nov 29 21:15:04 2017 +0000
  325. always define empty PERFTOOLS_NOTHROW
  326. Because somehow clang still builds "this function will not throw" code
  327. even with noexcept. Which breaks performance of
  328. tc_malloc/tc_new_nothrow. The difference with throw() seems to be just
  329. which function is called when unexpected exception happens.
  330. So we work around this sillyness by simply dropping any exception
  331. specification when compiling tcmalloc.
  332. M src/tcmalloc.cc
  333. commit 03da6afff57c12845260997213b6ad89e420bab3
  334. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  335. Date: Wed Nov 29 20:19:07 2017 +0000
  336. unbreak throw declarations on operators new/delete
  337. We now clearly separate PERFTOOLS_NOTHROW (used for tc_XXX functions)
  338. and throw()/noexcept (used for operators we define).
  339. The former is basically "nothrow() for our callers, nothing for
  340. us". It is roughly equivalent of what glibc declares for malloc and
  341. friends. If some exception-full C++ code calls such function it
  342. doesn't have to bother setting up exception handling around such
  343. call. Notably, it is still important for those functions to _not have
  344. throw() declarations when we're building tcmalloc. Because C++ throw()
  345. requires setting up handling of unexpected exceptions thrown from
  346. under such functions which we don't want.
  347. The later is necessary to have operators new/delete definitions have
  348. "correct" exception specifications to calm down compiler
  349. warnings. Particularly older clang versions warn if new/delete aren't
  350. defined with correct exception specifications. Also this commit fixes
  351. annoying gcc 7+ warning (and gnu++14 mode) that complains about
  352. throw() being deprecated.
  353. M src/base/basictypes.h
  354. M src/libc_override.h
  355. M src/libc_override_gcc_and_weak.h
  356. M src/libc_override_redefine.h
  357. M src/tests/tcmalloc_unittest.cc
  358. M src/windows/get_mangled_names.cc
  359. commit 89fe59c8318b2f8cec8ce00182dd24c357252c96
  360. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  361. Date: Wed Nov 29 13:37:50 2017 +0000
  362. Fix OOM handling in fast-path
  363. Previous fast-path malloc implementation failed to arrange proper oom
  364. handling for operator new. I.e. operator new is supposed to call new
  365. handler and throw exception, which was not arranged in fast-path case.
  366. Fixed code now passes pointer for oom function to
  367. ThreadCache::FetchFromCentralCache which will call it in oom
  368. condition. Test is added to verify correct behavior.
  369. I've also updated some fast-path-related comments for more accuracy.
  370. M src/tcmalloc.cc
  371. M src/tests/tcmalloc_unittest.cc
  372. M src/thread_cache.cc
  373. M src/thread_cache.h
  374. commit a29a0cf348e131d5b8ec26c39dabeac89cf13fcd
  375. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  376. Date: Tue Nov 28 14:43:11 2017 +0000
  377. delete-trailing-whitespace on thread_cache.*
  378. M src/thread_cache.cc
  379. M src/thread_cache.h
  380. commit e6cd69bdecde074c3c7a52ccb099eafcecf668dc
  381. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  382. Date: Wed Nov 29 19:49:18 2017 +0000
  383. reintroduce aliasing for aligned delete
  384. Without aliasing performance is likely to be at least partially
  385. affected. There is still concern that aliasing between functions of
  386. different signatures is not 100% safe. We now explicitly list of
  387. architectures where aliasing is known to be safe.
  388. M src/tcmalloc.cc
  389. commit fb30c3d435c4712785a50f8a422c76ad490a12b2
  390. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  391. Date: Wed Nov 29 19:10:23 2017 +0000
  392. fully disable aligned new on windows for now
  393. M src/windows/gperftools/tcmalloc.h
  394. M src/windows/gperftools/tcmalloc.h.in
  395. commit 7efb3ecf37d88edf9cf9a43efb89b425eaf81d5e
  396. Author: Andrey Semashev <andrey.semashev@gmail.com>
  397. Date: Sat Sep 30 17:47:35 2017 +0300
  398. Add support for C++17 operator new/delete for overaligned types.
  399. - Add auto-detection of std::align_val_t presence to configure
  400. scripts. This
  401. indicates that the compiler supports C++17 operator new/delete
  402. overloads
  403. for overaligned types.
  404. - Add auto-detection of -faligned-new compiler option that appeared
  405. in gcc 7.
  406. The option allows the compiler to generate calls to the new
  407. operators. It is
  408. needed for tests.
  409. - Added overrides for the new operators. The overrides are enabled
  410. if the
  411. support for std::align_val_t has been detected. The implementation
  412. is mostly
  413. based on the infrastructure used by memalign, which had to be
  414. extended to
  415. support being used by C++ operators in addition to C functions. In
  416. particular,
  417. the debug version of the library has to distinguish memory
  418. allocated by
  419. memalign from that by operator new. The current implementation
  420. of sized
  421. overaligned delete operators do not make use of the supplied
  422. size argument
  423. except for the debug allocator because it is difficult to calculate
  424. the exact
  425. allocation size that was used to allocate memory with
  426. alignment. This can be
  427. done in the future.
  428. - Removed forward declaration of std::nothrow_t. This was not
  429. portable as
  430. the standard library is not required to provide nothrow_t
  431. directly in
  432. namespace std (it could use e.g. an inline namespace within
  433. std). The <new>
  434. header needs to be included for std::align_val_t anyway.
  435. - Fixed operator delete[] implementation in libc_override_redefine.h.
  436. - Moved TC_ALIAS definition to the beginning of the file in
  437. tcmalloc.cc so that
  438. the macro is defined before its first use in nallocx.
  439. - Added tests to verify the added operators.
  440. [alkondratenko@gmail.com: fixed couple minor warnings, and some
  441. whitespace change]
  442. [alkondratenko@gmail.com: removed addition of TC_ALIAS in debug
  443. allocator]
  444. Signed-off-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  445. M Makefile.am
  446. M configure.ac
  447. M src/debugallocation.cc
  448. M src/gperftools/tcmalloc.h.in
  449. M src/libc_override_gcc_and_weak.h
  450. M src/libc_override_redefine.h
  451. M src/tcmalloc.cc
  452. M src/tests/tcmalloc_unittest.cc
  453. M src/windows/gperftools/tcmalloc.h
  454. M src/windows/gperftools/tcmalloc.h.in
  455. commit 7a6e25f3b143c35ed6fff8bb2c0f8de1ab348a39
  456. Author: Andrew Morrow <acm@mongodb.com>
  457. Date: Tue Nov 7 15:57:17 2017 -0500
  458. Add new statistics for the PageHeap
  459. [alkondratenko@gmail.com: addressed init order mismatch warning]
  460. Signed-off-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  461. M src/page_heap.cc
  462. M src/page_heap.h
  463. M src/tcmalloc.cc
  464. commit 6e3a702fb9c86eb450f22b326ecbceef4b0d6604
  465. Author: Jianbo Yang <jianbyan@microsoft.com>
  466. Date: Tue Oct 17 01:09:18 2017 +0800
  467. Fix data race setting size_left_ in ThreadCache::SetMaxSize
  468. This commit is to fix the data race in ThreadCache::SetMaxSize.
  469. ThreadCache::size_left_ is removed and ThreadCache::size_ is
  470. added. ThreadCache::size_left_ was introduced for optimization.
  471. It is updated in several functions of ThreadCache, including the
  472. ThreadCache::SetMaxSize. But thread A can update size_left_ of
  473. thread B via SetMaxSize without protection or synchronization.
  474. There should not be data race around ThreadCache::size_, for it
  475. isn't accessed by multi threads.
  476. The optimization of tail-call in tc_{malloc, new, free} is kept
  477. and no other logics are affected.
  478. M src/thread_cache.cc
  479. M src/thread_cache.h
  480. commit 235471f96564aa95354839bb135661e561966001
  481. Author: cs-lee <sollcs.star@gmail.com>
  482. Date: Sun Aug 6 04:57:42 2017 -0700
  483. fix memory leak in Symbolize function
  484. [alkondratenko@gmail.com: reworded commit message]
  485. Signed-off-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  486. M src/symbolize.cc
  487. commit 47efdd60f596f7180689337cbba2dab35539ba98
  488. Author: cs-lee <sollcs.star@gmail.com>
  489. Date: Sun Aug 6 04:51:52 2017 -0700
  490. Added mising va_end() in TracePrintf function
  491. Normally the va_end function does not do anything,
  492. but it should be called because some platforms need it.
  493. [alkondratenko@gmail.com: reworded commit message]
  494. Signed-off-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  495. M src/debugallocation.cc
  496. commit 497b60ef0fa93ed41ccacf6ffd0d536789401d29
  497. Author: Vladimir <Volodimir.Krylov@gmail.com>
  498. Date: Fri Jul 14 15:13:32 2017 +0300
  499. Implemented GetProgramInvocationName on FreeBSD
  500. Few lines of code was taken from
  501. /usr/src/contrib/libexecinfo/backtrace.c
  502. [alkondratenko@gmail.com: updated commit message
  503. Signed-off-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  504. M src/symbolize.cc
  505. commit ac072a3fc768b9699b1e809a379f576aa3e48983
  506. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  507. Date: Sat Sep 23 14:55:33 2017 -0700
  508. Revert "Ignore current_instance heap allocation when leak sanitizer
  509. is enabled"
  510. This reverts commit 70a35422b5509a456584b132ad8ce4466af323ea.
  511. M Makefile.am
  512. M src/malloc_extension.cc
  513. commit fb5987d57913867e3b0f20490461ea55bfabe9ee
  514. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  515. Date: Sat Sep 23 14:55:20 2017 -0700
  516. Revert "Ensure that lsan flags are appended on all necessary targets"
  517. This reverts commit a3bf61ca81b68e7792739c451aceef00cf7d7d03.
  518. M Makefile.am
  519. commit 5815f02105acd5d7fd0e6ec038a9e96ccc36911f
  520. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  521. Date: Sat Sep 16 21:14:23 2017 -0700
  522. Use safe getenv for setting up backtrace capturing method
  523. This code runs very early, so using special "early" version of getenv
  524. is reasonable. It should fix issue #912.
  525. M src/stacktrace.cc
  526. commit aab4277311759b32ae8c442b49edf002230ea165
  527. Author: Dorin Lazăr <dorin.lazar@gmail.com>
  528. Date: Thu Sep 21 22:11:49 2017 +0300
  529. Fixed LTO warning about the mismatch between return values for
  530. ProfilingIsEnabledForAllThreads()
  531. M src/heap-checker.cc
  532. commit d406f2285390c402e824dd28e6992f7f890dcdf9
  533. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  534. Date: Sat Aug 5 22:05:10 2017 -0700
  535. implement support for C11 aligned_alloc
  536. Just like glibc does, we simply alias it to memalign.
  537. M Makefile.am
  538. M src/libc_override_gcc_and_weak.h
  539. M src/libc_override_redefine.h
  540. commit 92a27e41a137704772479277786d035763938921
  541. Author: Piotr Sikora <piotrsikora@google.com>
  542. Date: Mon Aug 21 15:06:23 2017 -0700
  543. Fix build on macOS.
  544. Fixes #910.
  545. Signed-off-by: Piotr Sikora <piotrsikora@google.com>
  546. M Makefile.am
  547. commit e033431e5a9e02e4d1882bb6fcd212c4fab56173
  548. Author: Khem Raj <raj.khem@gmail.com>
  549. Date: Sun Jul 16 19:28:17 2017 -0700
  550. include fcntl.h for loff_t definition
  551. Fixes
  552. linux_syscall_support.h:2641:26: error: 'loff_t' has not been declared
  553. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  554. M src/base/linux_syscall_support.h
  555. commit e41bc414048eb4a37743e294bed3f1c63a1fa559
  556. Author: Khem Raj <raj.khem@gmail.com>
  557. Date: Sat Jul 1 13:21:21 2017 -0700
  558. Use ucontext_t instead of struct ucontext
  559. Newer glibc has dropped the ucontext tag from exposing
  560. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  561. M src/stacktrace_powerpc-linux-inl.h
  562. commit bf840dec0495e17f5c8403e68e10b9d6bf05c559
  563. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  564. Date: Sun Jul 9 14:55:33 2017 -0700
  565. bumped version to 2.6.1
  566. M NEWS
  567. M configure.ac
  568. M src/windows/config.h
  569. M src/windows/gperftools/tcmalloc.h
  570. commit 2d220c7e26bd279ec87f9d1fc694ca5114b20bee
  571. Author: Romain Geissler <romain.geissler@amadeus.com>
  572. Date: Sun Jun 18 15:21:19 2017 +0200
  573. Replace "throw()" by "PERFTOOLS_NOTHROW"
  574. Automatically done with:
  575. sed -e 's/\<throw[[:space:]]*([[:space:]]*)/PERFTOOLS_NOTHROW/g' -i
  576. $(git grep -l 'throw[[:space:]]*([[:space:]]*)')
  577. [alkondratenko@gmail.com: updated to define empty PERFTOOLS_NOTHROW
  578. only on pre-c++11 standards]
  579. M src/libc_override_gcc_and_weak.h
  580. M src/libc_override_redefine.h
  581. M src/tcmalloc.cc
  582. M src/windows/get_mangled_names.cc
  583. commit c4de73c0e69b9a75b6795fdd4598234baed8496d
  584. Author: Romain Geissler <romain.geissler@amadeus.com>
  585. Date: Sun Jun 18 15:16:16 2017 +0200
  586. Add PERFTOOLS_THROW where necessary (as detected by GCC).
  587. M src/base/basictypes.h
  588. M src/libc_override_gcc_and_weak.h
  589. M src/tests/tcmalloc_unittest.cc
  590. commit e5fbd0e24e19bf3c9a8777cfc78e6188c5557025
  591. Author: Romain Geissler <romain.geissler@amadeus.com>
  592. Date: Sun Jun 18 15:05:46 2017 +0200
  593. Rename PERFTOOLS_THROW into PERFTOOLS_NOTHROW.
  594. Automatically done with:
  595. sed -e 's/\<PERFTOOLS_THROW\>/PERFTOOLS_NOTHROW/g' -i $(git grep
  596. -l PERFTOOLS_THROW)
  597. M src/debugallocation.cc
  598. M src/gperftools/tcmalloc.h.in
  599. M src/tcmalloc.cc
  600. M src/windows/gperftools/tcmalloc.h
  601. M src/windows/gperftools/tcmalloc.h.in
  602. commit eeb7b84c20146c0e2e039ce72a2ea083a94ba80d
  603. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  604. Date: Sat Jul 8 15:23:37 2017 -0700
  605. Register tcmalloc atfork handler as early as possible
  606. This is what other mallocs do (glibc malloc and jemalloc). The idea is
  607. malloc is usually initialized very eary. So if we register atfork
  608. handler at that time, we're likely to be first. And that makes our
  609. atfork handler a bit safer, since there is much less chance of some
  610. other library installing their "take all locks" handler first and
  611. having fork take malloc lock before library's lock and deadlocking.
  612. This should address issue #904.
  613. M src/static_vars.cc
  614. M src/static_vars.h
  615. M src/thread_cache.cc
  616. commit 208c26caeff24fd8c1defea80cb723ec1ab4bf06
  617. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  618. Date: Tue Jul 4 19:50:04 2017 -0700
  619. Add initial syscall support for mips64 32-bit ABI
  620. This applies patch by Adhemerval Zanella from
  621. https://github.com/gperftools/gperftools/issues/845.
  622. Only malloc (i.e. tcmalloc_minimal) was tested to work so far.
  623. M src/base/linux_syscall_support.h
  624. M src/malloc_hook_mmap_linux.h
  625. commit a3bf61ca81b68e7792739c451aceef00cf7d7d03
  626. Author: Francis Ricci <francisjricci@gmail.com>
  627. Date: Wed Jul 5 12:39:41 2017 -0400
  628. Ensure that lsan flags are appended on all necessary targets
  629. M Makefile.am
  630. commit 97646a193237af0f941e5bd3078eb72edbc2d548
  631. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  632. Date: Tue Jul 4 21:02:34 2017 -0700
  633. Add missing NEWS entry for recent 2.6 release
  634. Somehow I managed to miss this last commit in 2.6 release. So lets add
  635. it now even if it is too late.
  636. M NEWS
  637. commit 4be05e43a1adab9ceea9bdaaae546fb938f0a86c
  638. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  639. Date: Tue Jul 4 20:35:25 2017 -0700
  640. bumped version up to 2.6
  641. M NEWS
  642. M configure.ac
  643. M src/windows/config.h
  644. M src/windows/gperftools/tcmalloc.h
  645. commit 70a35422b5509a456584b132ad8ce4466af323ea
  646. Author: Francis Ricci <francisjricci@gmail.com>
  647. Date: Thu Jun 15 11:04:33 2017 -0400
  648. Ignore current_instance heap allocation when leak sanitizer is enabled
  649. Without this patch, any user program that enables LeakSanitizer will
  650. see a leak from tcmalloc. Add a weak hook to __lsan_ignore_object,
  651. so that if LeakSanitizer is enabled, the allocation can be ignored.
  652. M Makefile.am
  653. M src/malloc_extension.cc
  654. commit 6eca6c64fabbff55c43a78537e466312524b3acd
  655. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  656. Date: Sat Jul 1 18:48:58 2017 -0700
  657. Revert "issue-654: [pprof] handle split text segments"
  658. This reverts commit 8c3dc52fcfe02412a529769a22cbc75388a5d368.
  659. People have reported issues with this so lets stay safe and use older
  660. even if less powerful code.
  661. M src/pprof
  662. commit a495969cb6157cc361fc03228ae12ff7c0ecac4b
  663. Author: KernelMaker <songzhao.asm@icloud.com>
  664. Date: Wed May 24 16:46:49 2017 +0800
  665. update the prev_class_size in each loop, or the min_object_size of
  666. tcmalloc.thread will always be 1 when calling GetFreeListSizes
  667. M src/tcmalloc.cc
  668. commit 163224d8af5abdbbd8208ad6d37f13fb450af46f
  669. Author: Kim Gräsman <kim.grasman@gmail.com>
  670. Date: Fri May 26 13:09:03 2017 +0200
  671. Document HEAPPROFILESIGNAL environment variable
  672. M docs/heapprofile.html
  673. commit 5ac82ec5b96d24219efd4c8aec47a45466eabd00
  674. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  675. Date: Mon May 29 13:07:39 2017 -0700
  676. added stacktrace capturing benchmark
  677. M .gitignore
  678. M Makefile.am
  679. A benchmark/getcontext_light.cc
  680. A benchmark/unwind_bench.cc
  681. commit c571ae2fc9433e958f29b3c3525d34c22a9cb884
  682. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  683. Date: Mon May 22 19:04:20 2017 -0700
  684. 2.6rc4
  685. M NEWS
  686. M configure.ac
  687. M src/windows/config.h
  688. M src/windows/gperftools/tcmalloc.h
  689. commit f2bae51e7e609855c26095f14ffbb84082694acb
  690. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  691. Date: Mon May 22 18:58:15 2017 -0700
  692. Revert "Revert "disable dynamic sized delete support by default""
  693. This reverts commit b82d89cb7c8781a6028f6f5959cabdc5a273aec3.
  694. Dynamic sized delete support relies on ifunc handler being able to
  695. look up environment variable. The issue is, when stuff is linked with
  696. -z now linker flags, all relocations are performed early. And sadly
  697. ifunc relocations are not treated specially. So when ifunc handler
  698. runs, it cannot rely on any dynamic relocations at all, otherwise
  699. crash is real possibility. So we cannot afford doing it until (and if)
  700. ifunc is fixed.
  701. This was brought to my attention by Fedora people at
  702. https://bugzilla.redhat.com/show_bug.cgi?id=1452813
  703. M configure.ac
  704. commit 6426c0cc8049dd50a681dc337ac9962577d5fa14
  705. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  706. Date: Sun May 21 22:55:29 2017 -0700
  707. 2.6rc3
  708. M NEWS
  709. M configure.ac
  710. M src/windows/config.h
  711. M src/windows/gperftools/tcmalloc.h
  712. commit 0c0e2fe43b5095d19470abdc3b4d83613fe37c6d
  713. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  714. Date: Mon May 22 02:39:29 2017 -0700
  715. enable 48-bit page map on msvc as well
  716. M src/common.h
  717. commit 83d6818295cb337b6201fe307e15755df9dcd47f
  718. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  719. Date: Mon May 22 02:38:13 2017 -0700
  720. speed up 3-level page map access
  721. There is no need to have pointer indirection for root node. This also
  722. helps the case of early free of garbage pointer because we didn't
  723. check root_ pointer for NULL.
  724. M src/pagemap.h
  725. commit f7ff175b92df5577aef9caf3fb02f9ff37b822ca
  726. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  727. Date: Sun May 21 23:28:48 2017 -0700
  728. add configure-time warning on unsupported backtrace capturing
  729. Both libgcc and libc's backtrace() are not really options for stack
  730. trace capturing from inside profiling signal handler. So lets warn
  731. people.
  732. M configure.ac
  733. commit cef582350c952bad761476d01ea64bb4087371ce
  734. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  735. Date: Sun May 21 23:15:59 2017 -0700
  736. align fast-path functions only if compiler supports that
  737. Apparently gcc only supports __attribute__((aligned(N))) on functions
  738. only since version 4.3. So lets test it in configure script and only
  739. use when possible. We now use CACHELINE_ALIGNED_FN macro for aligning
  740. functions.
  741. M configure.ac
  742. M src/base/basictypes.h
  743. M src/tcmalloc.cc
  744. commit bddf862b189c4508d5212f6e0e8ea81c4dd18811
  745. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  746. Date: Sun May 21 22:24:19 2017 -0700
  747. actually support very early freeing of NULL
  748. This was caught by unit tests on centos 5. Apparently some early
  749. thingy is trying to do vprintf which calls free(0). Which used to
  750. crash since before size class cache is initialized it'll report
  751. hit (with size class 0) for NULL pointer, so we'd miss the case of
  752. checking NULL pointer free and crash.
  753. The fix is to check for IsInited in the case when thread cache is
  754. null, and if so then we escalte to free_null_or_invalid.
  755. M src/tcmalloc.cc
  756. M src/thread_cache.cc
  757. commit 07a124d8c16bc7d52524ceb9f50d7a65b868e129
  758. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  759. Date: Sun May 21 22:22:21 2017 -0700
  760. don't use arg-ful constructor attribute for early nallocx test
  761. 101 is not very early anyways and arg-ful constructor attribute is
  762. only supported since gcc 4.3 (and e.g. rhel 5's compiler fails to
  763. compile it). So there seems to be very little value trying to ask for
  764. priority of 101.
  765. M src/tests/tcmalloc_unittest.cc
  766. commit 5346b8a4def33915e6f877e308fb948f570a6120
  767. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  768. Date: Sun May 21 22:18:01 2017 -0700
  769. don't depend on SIZE_MAX definition in sampler.cc
  770. It was reported that SIZE_MAX isn't getting defined in C++ mode when
  771. C++ standard is less than c++11. Because we still want to support
  772. non-c++11 systems (for now), lets make it simple and not depend on
  773. SIZE_MAX (original google-internal code used
  774. std::numeric_limits<ssize_t>::max, but that failed to compile on
  775. msvc).
  776. Fixes issue #887 and issue #889.
  777. M src/sampler.cc
  778. commit 50125d8f70007fb2aa4d1c87df6a3092a3371edf
  779. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  780. Date: Mon May 15 00:02:43 2017 -0700
  781. 2.6rc2
  782. M NEWS
  783. M configure.ac
  784. M src/windows/config.h
  785. M src/windows/gperftools/tcmalloc.h
  786. commit a5e8e42a47fc0175c8044d0d77bf192b03347964
  787. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  788. Date: Sun May 14 23:45:08 2017 -0700
  789. don't link-in libunwind if libunwind.h is missing
  790. I got report that some build environments for
  791. https://github.com/lyft/envoy are having link-time issue due to
  792. linking libunwind. It was happening despite libunwind.h being present,
  793. which is clear bug as without header we won't really use libunwind.
  794. M configure.ac
  795. commit e92acdf98db229e8dc84993fd8895d55e6c69129
  796. Author: Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
  797. Date: Wed Apr 26 06:46:43 2017 -0300
  798. Fix compilation error for powerpc32
  799. Fix the following compilation error for powerpc32 platform when using
  800. latest glibc.
  801. error: ‘siginfo_t’ was not declared in this scope
  802. M src/stacktrace_powerpc-linux-inl.h
  803. commit b48403a4b065830129e238feffe022abd93af807
  804. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  805. Date: Sun Apr 16 21:45:51 2017 -0700
  806. 2.6rc
  807. M NEWS
  808. M configure.ac
  809. M src/windows/config.h
  810. M src/windows/gperftools/tcmalloc.h
  811. commit 53f15325d93fbe0ba17bb3fac3da86ffd3f0f1ad
  812. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  813. Date: Sun May 14 20:24:27 2017 -0700
  814. fix compilation of tcmalloc_unittest.cc on older llvm-gcc
  815. M src/tests/tcmalloc_unittest.cc
  816. commit b1d88662cb4a38ee47aa48076745898033526f9d
  817. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  818. Date: Sun Apr 2 19:27:00 2017 -0700
  819. change size class to be represented by 32 bit int
  820. This moves code closer to Google-internal version and provides for
  821. slightly tighter code encoding on amd64.
  822. M src/common.h
  823. M src/packed-cache-inl.h
  824. M src/page_heap.cc
  825. M src/page_heap.h
  826. M src/tcmalloc.cc
  827. M src/tests/packed-cache_test.cc
  828. M src/thread_cache.cc
  829. M src/thread_cache.h
  830. commit 991f47a159f0e169883f06686f13c31688fa2bf0
  831. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  832. Date: Thu Feb 2 15:58:08 2017 -0800
  833. change default transfer batch back to 32
  834. Some tensorflow benchmarks are seeing large regression with elevated
  835. values. So lets stick to old safe default until we understand how
  836. to make
  837. larger values work for all workloads.
  838. M src/common.cc
  839. commit 7bc34ad1f60be2df6ca38f4bffdba4daa9aa9a7d
  840. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  841. Date: Thu Feb 2 15:38:41 2017 -0800
  842. support different number of size classes at runtime
  843. With TCMALLOC_TRANSFER_NUM_OBJ environment variable we can change
  844. transfer batch size. And with that comes slightly different number of
  845. size classes depending on value of transfer batch size.
  846. We used to have hardcoded number of size classes, so we couldn't
  847. really support any batch size setting.
  848. This commit adds support for dynamic number of size classes (runtime
  849. value returned by Static::num_size_classes()).
  850. M src/central_freelist.cc
  851. M src/common.cc
  852. M src/common.h
  853. M src/page_heap.cc
  854. M src/static_vars.cc
  855. M src/static_vars.h
  856. M src/tcmalloc.cc
  857. M src/thread_cache.cc
  858. M src/thread_cache.h
  859. commit 4585b78c8dae9183dbf5f124c0343a9f1244ed67
  860. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  861. Date: Tue Feb 21 00:27:39 2017 -0800
  862. massage allocation and deallocation fast-path for performance
  863. This is significant speedup of fast-path of malloc. Large part comes
  864. from avoiding expensive function prologue/epilogue. Which is achieved
  865. by making sure that tc_{malloc,new,free} etc are small functions that
  866. do only tail-calls. We keep only critical path in those functions and
  867. tail-call to slower "full" versions when we need to deal with less
  868. common case. This helps compiler generate much tidier code.
  869. Fast-path readyness check is now different too. We used to have "min
  870. size for slow path" variable, which was set to non-zero value when we
  871. know that thread cache is present and ready. We now have use
  872. thread-cache pointer not equal to NULL as readyness check.
  873. There is special ThreadCache::threadlocal_data_.fast_path_heap copy of
  874. that pointer that can be temporarily nulled to disable malloc fast
  875. path. This is used to enable emergency malloc.
  876. There is also slight change to tracking thread cache size. Instead of
  877. tracking total size of free list, it now tracks size headroom. This
  878. allows for slightly faster deallocation fast-path check where we're
  879. checking headroom to stay above zero. This check is a bit faster than
  880. comparing with max_size_.
  881. M src/linked_list.h
  882. M src/tcmalloc.cc
  883. M src/thread_cache.cc
  884. M src/thread_cache.h
  885. M src/windows/patch_functions.cc
  886. commit 5964a1d9c98ea3c178435ff01f9b06e03eeda58d
  887. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  888. Date: Tue Feb 21 00:42:29 2017 -0800
  889. always inline a number of hot functions
  890. M src/page_heap.h
  891. M src/pagemap.h
  892. M src/tcmalloc.cc
  893. M src/thread_cache.h
  894. commit e419b7b9a66c39b44115b01520fb25a5100cec83
  895. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  896. Date: Mon Feb 20 21:11:14 2017 -0800
  897. introduce ATTRIBUTE_ALWAYS_INLINE
  898. M src/base/basictypes.h
  899. M src/tcmalloc.cc
  900. commit 7d588da7ec4f315ea2d02824d7e8813b0f95171d
  901. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  902. Date: Sun Dec 18 18:36:57 2016 -0800
  903. synchronized Sampler implementation with Google-internal version
  904. This is mostly dropping FastLog2 which was never necessary for
  905. performance, and making sampler to be called always, even if sampling
  906. is disabled (this benefits more for always-sampling case of Google
  907. fork).
  908. We're also getting TryRecordAllocationFast which is not used yet, but
  909. will be as part of subsequent fast-path speedup commit.
  910. M src/sampler.cc
  911. M src/sampler.h
  912. M src/static_vars.cc
  913. M src/tests/sampler_test.cc
  914. M src/thread_cache.h
  915. commit 27da4ade70d45312bfdf334aa8cf0d63bf78df14
  916. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  917. Date: Tue Feb 21 00:41:43 2017 -0800
  918. reduce size of class_to_size_ array
  919. Since 32-bit int is enough and accessing smaller array will use a bit
  920. less of cache.
  921. M src/common.h
  922. M src/tcmalloc.cc
  923. M src/thread_cache.cc
  924. M src/thread_cache.h
  925. commit 335f09d4e43a8413642e17e5ac374f925906c4e3
  926. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  927. Date: Mon Feb 20 23:49:15 2017 -0800
  928. use static location for pageheap
  929. Makes it a bit faster to access, since we're dropping pointer
  930. indirection.
  931. M src/static_vars.cc
  932. M src/static_vars.h
  933. commit 6ff332fb517734cf01e86272fe37521b7155c995
  934. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  935. Date: Mon Feb 20 23:37:33 2017 -0800
  936. move size classes map earlier in SizeMap
  937. Since we access them more often, having at least one of them at offset
  938. 0 makes pi{c,e} code a bit smaller.
  939. M src/common.h
  940. commit 121b1cb32e7416ecb7b0c739588f1bd916c4913a
  941. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  942. Date: Mon Feb 20 22:57:43 2017 -0800
  943. slightly faster size class cache
  944. Lower bits of page index are still used as index into hash
  945. table. Those lower bits are zeroed, or-ed with size class and
  946. placed into hash table. So checking is just loading value from hash
  947. table, xoring with higher bits of address and checking if resultant
  948. value is lower than 128. Notably, size class 0 is not considered
  949. "invalid" anymore.
  950. M src/central_freelist.cc
  951. M src/packed-cache-inl.h
  952. M src/page_heap.cc
  953. M src/page_heap.h
  954. M src/tcmalloc.cc
  955. M src/tests/packed-cache_test.cc
  956. commit b57c0bad41700238f524b28483a1c6c18c0a621f
  957. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  958. Date: Sun Apr 16 23:15:16 2017 -0700
  959. init tcmalloc prior to replacing system alloc
  960. Currently on windows, we're depending on uninitialized tcmalloc
  961. variables to detect freeing foreign malloc's chunks. This works
  962. somewhat by chance due to 0-initialized size classes cache working as
  963. cache with no values. But this is about to change, so lets do explicit
  964. initialization.
  965. M src/tcmalloc.cc
  966. commit 71fa9f873065e3d7c1f4ce0581d26b6498712f00
  967. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  968. Date: Mon Feb 20 21:17:48 2017 -0800
  969. use 2-level page map for 48-bit addresses
  970. 48 bits is size of x86-64 and arm64 address spaces. So using 2 levels
  971. map for them is slightly faster. We keep 3 levels for small-but-slow
  972. configuration, since 2 levels consume a bit more memory.
  973. This is partial port of Google-internal commit by Sanjay
  974. Ghemawat (same idea, different implementation).
  975. M src/page_heap.h
  976. M src/pagemap.h
  977. commit bad70249dd5c829b4981aecdc25953800d6745c3
  978. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  979. Date: Mon Feb 20 21:12:58 2017 -0800
  980. use 48-bit addresses on 64-bit arms too
  981. M src/common.h
  982. commit 5f12147c6dbfe2cfbdc7553521fe0110073135f0
  983. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  984. Date: Mon Feb 20 21:03:58 2017 -0800
  985. use hidden visibility for some key global variables
  986. So that our -fPIC code is faster
  987. M src/base/basictypes.h
  988. M src/static_vars.h
  989. commit dfd53da578137d5962fe8d588980870bb0ab8aa9
  990. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  991. Date: Sun Jan 22 21:08:51 2017 -0800
  992. set ENOMEM in handle_oom
  993. M src/tcmalloc.cc
  994. commit 14fd551072426cef317f43d587f91004d4fdae75
  995. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  996. Date: Sun Jan 8 06:02:04 2017 +0300
  997. avoid O(N²) in thread cache creation code
  998. M src/thread_cache.cc
  999. commit 507a105e849422d5ceff4348d38aaf72371a6161
  1000. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1001. Date: Sat Mar 12 14:25:10 2016 -0800
  1002. pass original size to DoSampledAllocation
  1003. It makes heap profiles more accurate. Google's internal malloc
  1004. is doing
  1005. it as well.
  1006. M src/tcmalloc.cc
  1007. commit bb77979dea796ab743e1308af25e9259ec97f2b1
  1008. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1009. Date: Sat Mar 12 18:10:19 2016 -0800
  1010. don't declare throw() on malloc funtions since it is faster
  1011. Apparently throw() on functions actually asks compiler to generate
  1012. code
  1013. to detect unexpected exceptions. Which prevents tail calls
  1014. optimization.
  1015. So in order to re-enable this optimization, we simply don't tell
  1016. compiler about throw() at all. C++11 noexcept would be even better,
  1017. but
  1018. it is not universally available yet.
  1019. So we change to no exception specifications. Which at least for gcc &
  1020. clang on Linux (and likely for all ELF platforms, if not just all)
  1021. really eliminates all overhead of exceptions.
  1022. M src/debugallocation.cc
  1023. M src/gperftools/tcmalloc.h.in
  1024. M src/tcmalloc.cc
  1025. M src/windows/gperftools/tcmalloc.h
  1026. M src/windows/gperftools/tcmalloc.h.in
  1027. commit 89c74cb79ca41cd75a1f9131af4ea2ab362593ae
  1028. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1029. Date: Sat Mar 12 20:26:40 2016 -0800
  1030. handle duplicate google_malloc frames in malloc hook stack trace
  1031. Subsequent optimization may cause multiple malloc functions in
  1032. google_malloc section to be in call stack. Particularly when fast-path
  1033. malloc function calls slow-path and compiler chooses to implement such
  1034. call as regular call instead of tail-call.
  1035. Because we need stacktrace just until first such function, once
  1036. we find
  1037. innermost such frame, we're simply checking if next outer frame
  1038. is also
  1039. google_malloc and consider it instead.
  1040. M src/malloc_hook.cc
  1041. commit 0feb1109ac957144a50d964b0ff244a6a286174a
  1042. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1043. Date: Sat Mar 12 21:08:57 2016 -0800
  1044. fix stack trace capturing in debug malloc
  1045. Particularly, hardcoded skip count was relying on certain behavior of
  1046. compiler. Namely, that tail calls inside DebugDeallocate path are not
  1047. actually implemented as tail calls.
  1048. New implementation is using google_malloc section as a marker
  1049. of malloc
  1050. boundary. But in order for this to work, we have to prevent
  1051. tail-call in
  1052. debugallocation's tc_XXX functions. Which is achieved by doing
  1053. volatile
  1054. read of static variable at the end of such functions.
  1055. M src/debugallocation.cc
  1056. commit 0506e965ee5184490fbe7acea470458562128a79
  1057. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1058. Date: Sun Dec 18 18:36:00 2016 -0800
  1059. replace LIKELY/UNLIKELY with PREDICT_{TRUE,FALSE}
  1060. Google-internal code is using PREDICT_TRUE/FALSE, so we should be
  1061. doing it too.
  1062. M src/base/basictypes.h
  1063. M src/common.cc
  1064. M src/common.h
  1065. M src/emergency_malloc.h
  1066. M src/malloc_hook-inl.h
  1067. M src/tcmalloc.cc
  1068. M src/thread_cache.h
  1069. commit 59a4987054021eaf24143a27cf01252fafb5052d
  1070. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1071. Date: Sun Mar 13 16:04:43 2016 -0700
  1072. prevent inlining ATTRIBUTE_SECTION functions
  1073. So that their code is always executing in prescribed section.
  1074. M src/base/basictypes.h
  1075. commit ebb575b8a0153a70f43fd1c3ec33fe30f94c97d0
  1076. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1077. Date: Thu Feb 2 15:41:13 2017 -0800
  1078. Revert "enabled aggressive decommit by default"
  1079. This reverts commit 7da5bd014d77ddaf694054b1e3ae0a3ef92ab384.
  1080. Some tensorflow benchmarks are getting slower with aggressive
  1081. decommit.
  1082. M src/static_vars.cc
  1083. M src/tests/tcmalloc_unittest.sh
  1084. commit b82d89cb7c8781a6028f6f5959cabdc5a273aec3
  1085. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1086. Date: Sun Jan 22 13:15:39 2017 -0800
  1087. Revert "disable dynamic sized delete support by default"
  1088. This reverts commit 06811b3ae4c5365880898148d188ae91d20f52f2.
  1089. M configure.ac
  1090. commit fac0bb44d5661946d9839496ddf104942dd00abe
  1091. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1092. Date: Sun Jan 22 13:11:05 2017 -0800
  1093. Do not depend on memchr in commandlineflags::StringToBool
  1094. It lets us use it from inside ifunc handler.
  1095. M src/base/commandlineflags.h
  1096. commit 7d49f015a01e35155517332a2dfd95f16b568939
  1097. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1098. Date: Sun Jan 22 13:08:34 2017 -0800
  1099. Make GetenvBeforeMain work inside ifunc handler
  1100. Depending on things such us strlen, which are ifunc-ed themselves is
  1101. not supported from inside ifunc handler.
  1102. Thus we implement strlen, memchr and memcmp in slow naive C++ just for
  1103. that place.
  1104. M src/base/sysinfo.cc
  1105. commit a2550b6309153c250f67255b6271ec988cc7d0fb
  1106. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1107. Date: Sun Feb 26 23:46:18 2017 -0800
  1108. turn bench_fastpath_throughput into actual throughput benchmark
  1109. Previously we bumped size by 16 between iterations, but for many size
  1110. classess that gave is subsequent iteration into same size
  1111. class. Multiplying by prime number randomizes sizes more so speeds up
  1112. this benchmark on at least modern x86.
  1113. M benchmark/malloc_bench.cc
  1114. commit b762b1a4923f769487de818175655c1683d84db5
  1115. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1116. Date: Sat Mar 12 14:12:02 2016 -0800
  1117. added sized free benchmarks to malloc_bench
  1118. M benchmark/malloc_bench.cc
  1119. commit 71ffc1cd6b3ea99c97ed6d0e16caeb9d1b20eec7
  1120. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1121. Date: Sat Mar 12 14:11:40 2016 -0800
  1122. added free lists randomization step to malloc_bench
  1123. M benchmark/malloc_bench.cc
  1124. commit 732dfeb83d726de0aea47f0e6aa2abff3e0ad680
  1125. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1126. Date: Sun Jan 22 13:57:31 2017 -0800
  1127. Run StartStopNoOptionsEmpty profiledata unittest
  1128. Somehow we had this test, but didn't arrange to actually run it. GCC
  1129. gave warning and now we do.
  1130. M src/tests/profiledata_unittest.cc
  1131. commit cbb312fbe8022378c4635b3075a80a7827555170
  1132. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1133. Date: Sun Dec 18 11:08:54 2016 -0800
  1134. aggressive decommit: only free necessary regions and fix O(N²)
  1135. We used to decommit (with MADV_FREE or MADV_DONTNEED) whole combined
  1136. span when freeing span in aggressive decommit mode. The issue with
  1137. that is preceding or following span with which we combined span we're
  1138. freeing could be freed already and fairly large. By passing all of
  1139. that memory to decommit, we force kernel to scan all of those pages.
  1140. When mass-freeing many objects old behavior led to O(N^2) behavior
  1141. since freeing single span could lead to MADV_{FREE,DONTNEED}-ing of
  1142. most of the heap.
  1143. New implementation just does decommit of individual bits as needed.
  1144. While there, I'm also adding locking to calls of
  1145. PageHeap::{Get,Set}AggressiveDecommit.
  1146. This partially (or mostly) fixes issue #839.
  1147. M src/page_heap.cc
  1148. M src/page_heap.h
  1149. M src/tcmalloc.cc
  1150. commit 6d98223a9035ec1c5e9a7eb0196b21021d48a41f
  1151. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1152. Date: Sun Feb 12 17:12:44 2017 -0800
  1153. don't build with -fno-exceptions
  1154. It looks like, in past it could produce better code. But since
  1155. unwinding is totally different since almost forever now, there is no
  1156. perfomance benefit of it anymore.
  1157. M Makefile.am
  1158. commit d6a1931cce303ea279b744c9b438686e4f5994e5
  1159. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1160. Date: Sat Mar 12 15:33:10 2016 -0800
  1161. fixed warning in casting heap of checker's main_thread_counter
  1162. I.e. compiler didn't like int to void * casting and upcasting to
  1163. intptr_t first (which has same size as void *) makes it happier.
  1164. M src/heap-checker.cc
  1165. commit 5c778701d98c642ecff97d044cd1c0b8b862aba3
  1166. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1167. Date: Sun Feb 12 17:54:59 2017 -0800
  1168. added tcmalloc minimal unittest with ASSERTs checked
  1169. M .gitignore
  1170. M Makefile.am
  1171. commit a9167617abbcebe9d472141c53a20ce00c8c8d75
  1172. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1173. Date: Sat Apr 29 19:09:47 2017 -0700
  1174. drop unused g_load_map variable in patch_functionc.cc
  1175. M src/windows/patch_functions.cc
  1176. commit d52e56dcb5aad0521ccc67d7e57dfcb8d41ea568
  1177. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1178. Date: Sat Apr 29 19:06:55 2017 -0700
  1179. don't compare integer to NULL
  1180. M src/windows/preamble_patcher.cc
  1181. commit bae00c0341f49ade473d24c117226552a59d3e75
  1182. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1183. Date: Sun Apr 23 20:33:16 2017 -0700
  1184. add fake_stacktrace_scope to few msvc projects
  1185. Otherwise it predictably fails at linking phase due to missing
  1186. symbols.
  1187. M
  1188. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  1189. M vsprojects/tmu-static/tmu-static.vcproj
  1190. commit 79aab4fed40f9aac03dacb32a108861eff689beb
  1191. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1192. Date: Sun Apr 16 22:17:56 2017 -0700
  1193. correctly dllexport nallocx on windows
  1194. M src/gperftools/nallocx.h
  1195. M src/tcmalloc.cc
  1196. commit b010895a088703f512cb0e225c838306b2904069
  1197. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1198. Date: Sun Apr 30 18:32:10 2017 -0700
  1199. don't undef PERFTOOLS_DLL_DECL
  1200. This is not necessary and will help adding more headers with
  1201. dll-exported functions.
  1202. M src/gperftools/tcmalloc.h.in
  1203. M src/windows/gperftools/tcmalloc.h
  1204. M src/windows/gperftools/tcmalloc.h.in
  1205. commit 491b1aca7edbbaed9ea6f7baaa547a35cf385130
  1206. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1207. Date: Sat Apr 29 16:46:21 2017 -0700
  1208. don't try to use pthread_atfork on windows
  1209. M src/maybe_threads.cc
  1210. M src/windows/mingw.h
  1211. commit 691045b95761bedb9170d758be82f9b2f15c673a
  1212. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1213. Date: Sat Mar 12 14:41:28 2016 -0800
  1214. suppress warnings from legacy headers while building legacy headers
  1215. test
  1216. M src/google/heap-checker.h
  1217. M src/google/heap-profiler.h
  1218. M src/google/malloc_extension.h
  1219. M src/google/malloc_extension_c.h
  1220. M src/google/malloc_hook.h
  1221. M src/google/malloc_hook_c.h
  1222. M src/google/profiler.h
  1223. M src/google/stacktrace.h
  1224. M src/google/tcmalloc.h
  1225. M src/tests/simple_compat_test.cc
  1226. commit 22f7ceb97a63bcbc9d824a80916bb7a809fad1f2
  1227. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1228. Date: Sat Apr 29 15:25:06 2017 -0700
  1229. use unsigned for few flags in mini_disassembler_types.h
  1230. We're initializing them with value that doesn't fit into signed 32-bit
  1231. int and somehow mingw version that I have not just warns, but actually
  1232. errors on that.
  1233. M src/windows/mini_disassembler_types.h
  1234. commit 9b17a8a5ba1c8320d12c6e6df0ab54ff218b50e6
  1235. Author: Mostyn Bramley-Moore <mostynb@opera.com>
  1236. Date: Thu May 11 20:40:18 2017 +0200
  1237. remove superfluous size_t value >= 0 check
  1238. M src/debugallocation.cc
  1239. commit 86ce69d77ff5f881c5701901bf7d1ef884f9e33a
  1240. Author: Eugene <n.eugene536@gmail.com>
  1241. Date: Sat Feb 4 17:57:34 2017 +0300
  1242. Update binary_trees.cc
  1243. M benchmark/binary_trees.cc
  1244. commit cd8586ed6c8bed550ad727ce8af83a1a6bd1ca8e
  1245. Author: Ola Olsson <ola1olsson@gmail.com>
  1246. Date: Tue Mar 21 14:07:16 2017 +0100
  1247. Fix path names in README
  1248. M README
  1249. commit 98753aa73772bb0fae8cee668e513d5754ab7737
  1250. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1251. Date: Mon Feb 20 16:04:14 2017 -0800
  1252. test that sized deallocation really works before enabling it
  1253. Weirdly, some OSX compiler does allow -fsized-deallocation, yet barks
  1254. on any attempt to actually use it at compile time (!). So lets detect
  1255. this as well in configure and opt out as necessary.
  1256. Should fix issue #870.
  1257. M configure.ac
  1258. commit 5618ef78505a854bd0d2c145fd9cf7967226a20e
  1259. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1260. Date: Mon Feb 20 15:31:41 2017 -0800
  1261. Don't assume memalign exists in memalign vs nallocx test
  1262. OSX and windows have issues with memalign. So test against tc_memalign
  1263. instead.
  1264. This should fix _memalign linker-time part of issue #870.
  1265. M src/tests/tcmalloc_unittest.cc
  1266. commit bf640cd740fe38f6f10faa8683e8361fee971aba
  1267. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1268. Date: Mon Feb 20 14:51:27 2017 -0800
  1269. rename sys allocator's sys_alloc symbol to tcmalloc_sys_alloc
  1270. Since we're not building with hidden visibility, symbols of other DSOs
  1271. can interpose our symbols. And sys_alloc is just too generic name.
  1272. And in fact erlang runtime has sys_alloc function. Which means we're
  1273. trying to write to it's first bytes as part of initializing system
  1274. allocator and crash.
  1275. This should fix issue #843.
  1276. M src/system-alloc.cc
  1277. M src/system-alloc.h
  1278. M src/tcmalloc.cc
  1279. M src/windows/system-alloc.cc
  1280. commit 069e3b16551186f8da0a41c185550fdfd11af35b
  1281. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1282. Date: Mon Feb 20 14:25:18 2017 -0800
  1283. build malloc_bench_shared_full only when full tcmalloc is built
  1284. I.e. because otherwise, when --enable-minimal is given, we're building
  1285. empty libtcmalloc.la and linking it to malloc_bench_shared_full. Which
  1286. has no effect at all and actually breaks builds on OSX.
  1287. Should fix issue #869.
  1288. M Makefile.am
  1289. commit b8f9d0d44f94177d34b069180618b7d002e85b69
  1290. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1291. Date: Sun Dec 18 09:35:02 2016 -0800
  1292. ported nallocx support from Google-internal tcmalloc
  1293. nallocx is extension introduced by jemalloc. It returns effective size
  1294. of allocaiton without allocating anything.
  1295. We also support MALLOCX_LG_ALIGN flag. But all other jemalloc
  1296. flags (which at the moment do nothing for nallocx anyways) are
  1297. silently ignored, since there is no sensible way to return errors in
  1298. this API.
  1299. This was originally contributed by Dmitry Vyukov with input from
  1300. Andrew Hunter. But due to significant divergence of Google-internal
  1301. and free-software forks of tcmalloc, significant massaging was done by
  1302. me. So all bugs are mine.
  1303. M Makefile.am
  1304. A src/gperftools/nallocx.h
  1305. M src/tcmalloc.cc
  1306. M src/tests/tcmalloc_unittest.cc
  1307. commit b0abefd93834d9d9c7ffaae2d23bd48ed8e96477
  1308. Author: Andrew Morrow <acm@mongodb.com>
  1309. Date: Sat Dec 17 13:57:41 2016 -0500
  1310. Fix a typo in the page fence flag declaration
  1311. M src/debugallocation.cc
  1312. commit 855b3800064db49af823b85a54be269923eb6f4d
  1313. Author: Kirill Müller <krlmlr@mailbox.org>
  1314. Date: Tue Nov 15 09:58:11 2016 +0100
  1315. replace docs by doc
  1316. M Makefile.am
  1317. M README
  1318. D doc
  1319. M packages/deb/docs
  1320. M packages/deb/libgperftools0.manpages
  1321. M src/gperftools/heap-checker.h
  1322. M src/gperftools/heap-profiler.h
  1323. M src/gperftools/profiler.h
  1324. M src/profiledata.h
  1325. M src/tcmalloc.cc
  1326. commit 664210ead806d700cdbe5eeaf75d7a066fdac541
  1327. Author: Kirill Müller <krlmlr@mailbox.org>
  1328. Date: Tue Nov 15 09:42:12 2016 +0100
  1329. doc -> docs, with symlink
  1330. A doc
  1331. R100 doc/cpuprofile-fileformat.html docs/cpuprofile-fileformat.html
  1332. R100 doc/cpuprofile.html docs/cpuprofile.html
  1333. R100 doc/designstyle.css docs/designstyle.css
  1334. R100 doc/heap-example1.png docs/heap-example1.png
  1335. R100 doc/heap_checker.html docs/heap_checker.html
  1336. R100 doc/heapprofile.html docs/heapprofile.html
  1337. R100 doc/index.html docs/index.html
  1338. R100 doc/overview.dot docs/overview.dot
  1339. R100 doc/overview.gif docs/overview.gif
  1340. R100 doc/pageheap.dot docs/pageheap.dot
  1341. R100 doc/pageheap.gif docs/pageheap.gif
  1342. R100 doc/pprof-test-big.gif docs/pprof-test-big.gif
  1343. R100 doc/pprof-test.gif docs/pprof-test.gif
  1344. R100 doc/pprof-vsnprintf-big.gif docs/pprof-vsnprintf-big.gif
  1345. R100 doc/pprof-vsnprintf.gif docs/pprof-vsnprintf.gif
  1346. R100 doc/pprof.1 docs/pprof.1
  1347. R100 doc/pprof.see_also docs/pprof.see_also
  1348. R100 doc/pprof_remote_servers.html docs/pprof_remote_servers.html
  1349. R100 doc/spanmap.dot docs/spanmap.dot
  1350. R100 doc/spanmap.gif docs/spanmap.gif
  1351. R100 doc/t-test1.times.txt docs/t-test1.times.txt
  1352. R100 doc/tcmalloc-opspercpusec.vs.threads.1024.bytes.png
  1353. docs/tcmalloc-opspercpusec.vs.threads.1024.bytes.png
  1354. R100 doc/tcmalloc-opspercpusec.vs.threads.128.bytes.png
  1355. docs/tcmalloc-opspercpusec.vs.threads.128.bytes.png
  1356. R100 doc/tcmalloc-opspercpusec.vs.threads.131072.bytes.png
  1357. docs/tcmalloc-opspercpusec.vs.threads.131072.bytes.png
  1358. R100 doc/tcmalloc-opspercpusec.vs.threads.16384.bytes.png
  1359. docs/tcmalloc-opspercpusec.vs.threads.16384.bytes.png
  1360. R100 doc/tcmalloc-opspercpusec.vs.threads.2048.bytes.png
  1361. docs/tcmalloc-opspercpusec.vs.threads.2048.bytes.png
  1362. R100 doc/tcmalloc-opspercpusec.vs.threads.256.bytes.png
  1363. docs/tcmalloc-opspercpusec.vs.threads.256.bytes.png
  1364. R100 doc/tcmalloc-opspercpusec.vs.threads.32768.bytes.png
  1365. docs/tcmalloc-opspercpusec.vs.threads.32768.bytes.png
  1366. R100 doc/tcmalloc-opspercpusec.vs.threads.4096.bytes.png
  1367. docs/tcmalloc-opspercpusec.vs.threads.4096.bytes.png
  1368. R100 doc/tcmalloc-opspercpusec.vs.threads.512.bytes.png
  1369. docs/tcmalloc-opspercpusec.vs.threads.512.bytes.png
  1370. R100 doc/tcmalloc-opspercpusec.vs.threads.64.bytes.png
  1371. docs/tcmalloc-opspercpusec.vs.threads.64.bytes.png
  1372. R100 doc/tcmalloc-opspercpusec.vs.threads.65536.bytes.png
  1373. docs/tcmalloc-opspercpusec.vs.threads.65536.bytes.png
  1374. R100 doc/tcmalloc-opspercpusec.vs.threads.8192.bytes.png
  1375. docs/tcmalloc-opspercpusec.vs.threads.8192.bytes.png
  1376. R100 doc/tcmalloc-opspersec.vs.size.1.threads.png
  1377. docs/tcmalloc-opspersec.vs.size.1.threads.png
  1378. R100 doc/tcmalloc-opspersec.vs.size.12.threads.png
  1379. docs/tcmalloc-opspersec.vs.size.12.threads.png
  1380. R100 doc/tcmalloc-opspersec.vs.size.16.threads.png
  1381. docs/tcmalloc-opspersec.vs.size.16.threads.png
  1382. R100 doc/tcmalloc-opspersec.vs.size.2.threads.png
  1383. docs/tcmalloc-opspersec.vs.size.2.threads.png
  1384. R100 doc/tcmalloc-opspersec.vs.size.20.threads.png
  1385. docs/tcmalloc-opspersec.vs.size.20.threads.png
  1386. R100 doc/tcmalloc-opspersec.vs.size.3.threads.png
  1387. docs/tcmalloc-opspersec.vs.size.3.threads.png
  1388. R100 doc/tcmalloc-opspersec.vs.size.4.threads.png
  1389. docs/tcmalloc-opspersec.vs.size.4.threads.png
  1390. R100 doc/tcmalloc-opspersec.vs.size.5.threads.png
  1391. docs/tcmalloc-opspersec.vs.size.5.threads.png
  1392. R100 doc/tcmalloc-opspersec.vs.size.8.threads.png
  1393. docs/tcmalloc-opspersec.vs.size.8.threads.png
  1394. R100 doc/tcmalloc.html docs/tcmalloc.html
  1395. R100 doc/threadheap.dot docs/threadheap.dot
  1396. R100 doc/threadheap.gif docs/threadheap.gif
  1397. commit 75dc9a6e1470fa82b828f9687edad48f53d740b1
  1398. Author: zmertens <zmertens@asu.edu>
  1399. Date: Fri Nov 18 15:27:32 2016 -0700
  1400. Fix Post(s)cript tyos
  1401. M doc/pprof.1
  1402. M src/pprof
  1403. commit dde32f8bbc95312379f9f5a651799815bb6327c5
  1404. Author: Francis Ricci <fjricci@fb.com>
  1405. Date: Tue Oct 11 11:14:06 2016 -0700
  1406. Fix unaligned memory accesses in debug allocator
  1407. M src/base/basictypes.h
  1408. M src/debugallocation.cc
  1409. commit 02eeed29df112728564a5dde6417fa4622b57a06
  1410. Author: Ryan Macnak <rmacnak@google.com>
  1411. Date: Tue Sep 27 14:03:05 2016 -0700
  1412. Fix redefinition of mmap on aarch64.
  1413. M src/base/linux_syscall_support.h
  1414. commit c07a15cff4b904ac45e4019f8e36eeffd3e8186c
  1415. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1416. Date: Sat Sep 24 18:56:22 2016 -0700
  1417. [windows] patch _free_base as well
  1418. Looks like _free_base is used as generic free/delete, which is not
  1419. checked for free/delete mismatch by their debug runtime. Issue #817
  1420. occurs because something that is allocated by regular allocation
  1421. functions (new or malloc) is freed by _free_base. Patch it as
  1422. well fixes
  1423. the problem.
  1424. Closes #817.
  1425. M src/windows/patch_functions.cc
  1426. commit acac6af26b0ef052b39f61a59507b23e9703bdfa
  1427. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1428. Date: Sat Sep 24 16:19:27 2016 -0700
  1429. Fix finding default zone on macOS sierra
  1430. This is taken from jemalloc patch at
  1431. https://github.com/jemalloc/jemalloc/pull/427/commits/19c9a3e828ed46f1576521c264640e60bd0cb01f
  1432. by Mike Hommey (aka glandium).
  1433. The issue was reported together with advise to take that jemalloc
  1434. fix by
  1435. Koichi Shiraishi and David Ribeiro Alves at gperftools issue #827.
  1436. Closes issue #827.
  1437. M src/libc_override_osx.h
  1438. commit 7822b5b0b9fa7e016e1f6b46ea86f26f4691a457
  1439. Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
  1440. Date: Mon Aug 8 13:50:10 2016 -0300
  1441. Stop using glibc malloc hooks
  1442. glibc deprecated malloc hooks in 2011 and will be removing them soon.
  1443. These hooks aren't safe and aren't necessary when the malloc API is
  1444. fully exported.
  1445. M configure.ac
  1446. M src/libc_override_glibc.h
  1447. commit c92f0ed0891d69888cdc7e904c82048362b2dd8d
  1448. Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
  1449. Date: Wed Jul 27 17:15:52 2016 -0300
  1450. Remove references to __malloc_initialize_hook
  1451. __malloc_initialize_hook has been deprecated in glibc since 2011
  1452. and is
  1453. being removed on glibc 2.24.
  1454. M src/libc_override_glibc.h
  1455. commit 9709eef361aa8c46d6b14c08bebead7b8185e731
  1456. Merge: eb474c9 44f276e
  1457. Author: Aliaksey Kandratsenka (aka Aliaksei Kandratsenka)
  1458. <alkondratenko@gmail.com>
  1459. Date: Wed Aug 24 22:33:05 2016 -0700
  1460. Merge pull request #821 from jtmcdole/patch-1
  1461. Rename TCMALLOC_DEBUG to PERFTOOLS_VERBOSE
  1462. commit 44f276e132eef8ba013a04b4af92ce26464e2b54
  1463. Author: John McDole <jtmcdole@gmail.com>
  1464. Date: Wed Aug 24 17:47:28 2016 -0700
  1465. Rename TCMALLOC_DEBUG to PERFTOOLS_VERBOSE
  1466. M README
  1467. commit eb474c995eadef3edb47bc081f09693228832794
  1468. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1469. Date: Sun Jul 3 18:20:32 2016 -0700
  1470. Summary: support gcc atomic ops on clang too
  1471. Clang actually does support __atomic_XXX atomic ops builtins but does
  1472. not advertise itselt as gcc 4.7 or later. So we now detect clang
  1473. separetely.
  1474. We're enabling gcc atomic ops on clang >= 3.4 since this is the oldest
  1475. version that I can test.
  1476. This should fix issue #797.
  1477. M src/base/atomicops.h
  1478. commit 7f86eab1f3e0636a79a96fd44e3bb51db0457a86
  1479. Author: Kenton Varda <kenton@sandstorm.io>
  1480. Date: Thu Jun 30 18:32:39 2016 -0700
  1481. Recognize .node files as shared libraries
  1482. node.js extensions are regular shared libraries named with the `.node`
  1483. extension. With this small change I was able to get a usable heap
  1484. profile out of node to debug an extension I'm working on.
  1485. M src/pprof
  1486. commit bf8eacce69df877d1cecdab8c7a6cc3f218ebcc2
  1487. Author: Bryan Chan <bryanpkc@gmail.com>
  1488. Date: Wed Jun 15 00:10:45 2016 -0400
  1489. Add support for 31-bit s390; merge linux_syscall_support.h changes
  1490. from upstream.
  1491. M configure.ac
  1492. M m4/pc_from_ucontext.m4
  1493. M src/base/basictypes.h
  1494. M src/base/linux_syscall_support.h
  1495. M src/base/linuxthreads.h
  1496. M src/getpc.h
  1497. M src/malloc_hook_mmap_linux.h
  1498. commit c54218069b96e5a64e81186cd14107bf6660b61d
  1499. Author: savefromgoogle <savefromgoogle@users.noreply.github.com>
  1500. Date: Sat May 14 17:50:34 2016 +0200
  1501. Update README
  1502. typo corrected and direct link to Google Group mailinglist added
  1503. M README
  1504. commit 06f4ce65c226e2bed432119bd830a478012ea336
  1505. Author: iivlev <iivlev@productengine.com>
  1506. Date: Fri Apr 15 17:46:25 2016 +0300
  1507. Small performance tweak: avoid calling time() if we don't need it
  1508. M src/heap-profiler.cc
  1509. commit db8d4836091b93100b176e8cab4e842974234e4e
  1510. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1511. Date: Sat Jun 25 16:24:40 2016 -0700
  1512. Autogenerate ChangeLog from git on make dist
  1513. This fixes build breakage introduced in preceding commit for issue
  1514. #796.
  1515. A ChangeLog
  1516. M Makefile.am
  1517. M configure.ac
  1518. A m4/ax_generate_changelog.m4
  1519. commit 4a1359831938b5a71b2faf38c02003053af253d9
  1520. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1521. Date: Sat Jun 25 16:12:48 2016 -0700
  1522. renamed ChangeLog to ChangeLog.old
  1523. I.e. to avoid confusion. This should fix issue #796.
  1524. R100 ChangeLog ChangeLog.old
  1525. commit 7852eeb75b9375cf52a7da01be044da6e915dd08
  1526. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1527. Date: Sat Apr 9 13:09:18 2016 -0700
  1528. Use initial-exec tls for libunwind's recursion flag
  1529. If we don't do it, then reading variable calls to __tls_get_addr,
  1530. which
  1531. uses malloc on first call. initial-exec makes dynamic linker
  1532. reserve tls
  1533. offset for recusion flag early and thus avoid unsafe calls to malloc.
  1534. This fixes issue #786.
  1535. M src/base/basictypes.h
  1536. M src/stacktrace_libunwind-inl.h
  1537. M src/thread_cache.h
  1538. commit a07f9fe75af25ce388af3d4ff4514b42513d766f
  1539. Author: Mike Gaffney <mike@uberu.com>
  1540. Date: Thu Mar 31 11:27:21 2016 -0700
  1541. gerftools -> gperftools in readme
  1542. M README
  1543. commit 9fd6d2687914a1f58a8ce457d6a1bd3d55ea0747
  1544. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1545. Date: Sun Mar 20 12:29:40 2016 -0700
  1546. added define to enable MADV_FREE usage on Linux
  1547. Building with -DTCMALLOC_USE_MADV_FREE will enable usage of
  1548. MADV_FREE on
  1549. Linux if glibc copy of kernel headers has MADV_FREE defined.
  1550. I.e. so that people can test this more easily.
  1551. Affects ticket #780.
  1552. M src/system-alloc.cc
  1553. commit 6f7a14f45e2e2e16fbbd250543f5758078e2f5f0
  1554. Author: Mathias Stearn <redbeard0531@gmail.com>
  1555. Date: Wed Mar 16 18:22:32 2016 -0400
  1556. Don't use MADV_FREE on Linux
  1557. Addresses #780.
  1558. M src/system-alloc.cc
  1559. commit 55cf6e6281f2f19ed04a6b2a90e2dcaec08e16d0
  1560. Author: Aman Gupta <aman@tmm1.net>
  1561. Date: Mon Mar 14 12:20:40 2016 -0700
  1562. Fix symbol resolution on OSX
  1563. The library mapping ranges on OSX and Linux are sorted in opposite
  1564. orders
  1565. 7f71c3323000-7f71c3339000 r-xp 00000000 09:02 29099128
  1566. /lib/x86_64-linux-gnu/libz.so.1.2.3.4
  1567. 7f71c3339000-7f71c3538000 ---p 00016000 09:02 29099128
  1568. /lib/x86_64-linux-gnu/libz.so.1.2.3.4
  1569. 7f71c3538000-7f71c3539000 r--p 00015000 09:02 29099128
  1570. /lib/x86_64-linux-gnu/libz.so.1.2.3.4
  1571. 7f71c3539000-7f71c353a000 rw-p 00016000 09:02 29099128
  1572. /lib/x86_64-linux-gnu/libz.so.1.2.3.4
  1573. vs
  1574. 108f8d000-108f95000 r-xp 00025000 00:00 0
  1575. /usr/local/opt/libmemcached/lib/libmemcached.11.dylib
  1576. 108f8c000-108f8d000 r-xp 00024000 00:00 0
  1577. /usr/local/opt/libmemcached/lib/libmemcached.11.dylib
  1578. 108f68000-108f8c000 r-xp 00000000 00:00 0
  1579. /usr/local/opt/libmemcached/lib/libmemcached.11.dylib
  1580. M src/pprof
  1581. commit 8e858436223db7729d41304ad29a29946d47382b
  1582. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1583. Date: Sun Mar 13 15:11:50 2016 -0700
  1584. added simple .travis.yml config
  1585. A .travis.yml
  1586. commit 05e40d29c034c0d68322e589b8d6e234f562be2e
  1587. Author: Brian Silverman <bsilver16384@gmail.com>
  1588. Date: Tue Mar 8 15:58:02 2016 -0500
  1589. Recognize modern Linux ARM
  1590. Commit e580d7888154fa7f95b3cef9e18f1ce69182212b fixed the macros
  1591. in some
  1592. of the code but not other places.
  1593. `make check` still fails in the same places on a Debian Jessie armhf
  1594. system.
  1595. M src/base/elfcore.h
  1596. M src/base/linuxthreads.h
  1597. commit 632de2975e63f89613af9ab99bc1603a4a6332aa
  1598. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1599. Date: Sat Mar 12 11:48:20 2016 -0800
  1600. bumped version up to 2.5
  1601. M NEWS
  1602. M configure.ac
  1603. M src/windows/config.h
  1604. M src/windows/gperftools/tcmalloc.h
  1605. commit 6682016092c735feb29021acbb8c2067fdf1a209
  1606. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1607. Date: Sat Mar 12 10:54:05 2016 -0800
  1608. Unbreak profiling with CPUPROFILE_FREQUENCY=1
  1609. This closes ticket #777.
  1610. No test sadly, since it's not trivial to unittest this case. But
  1611. fix with single-shot manual testing is better than nothing.
  1612. M src/profile-handler.cc
  1613. commit 6ff86ff6a783a277956e45db68c6a2b729f27000
  1614. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1615. Date: Sat Mar 5 16:17:28 2016 -0800
  1616. bumped version to 2.4.91 for 2.5rc2
  1617. M NEWS
  1618. M configure.ac
  1619. M src/windows/config.h
  1620. M src/windows/gperftools/tcmalloc.h
  1621. commit 782165fa7f2c49d6a67c2415626a1f215cc21ac2
  1622. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1623. Date: Sat Mar 5 15:47:25 2016 -0800
  1624. build sized delete aliases even when sized-delete is disabled
  1625. In this case we alias to regular delete. This is helpful because if we
  1626. don't override sized delete, then apps will call version in libstdc++
  1627. which delegates calls to regular delete, which is slower than calling
  1628. regular delete directly.
  1629. M configure.ac
  1630. M src/libc_override_gcc_and_weak.h
  1631. commit 06811b3ae4c5365880898148d188ae91d20f52f2
  1632. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1633. Date: Sat Mar 5 15:08:50 2016 -0800
  1634. disable dynamic sized delete support by default
  1635. IFUNC relocations don't support our advanced use case (calling
  1636. application function or looking up environment variable).
  1637. Particularly, it doesn't work on PPC and arm when tcmalloc is linked
  1638. with -Wl,-z,now. See RedHat's bugzilla ticket
  1639. https://bugzilla.redhat.com/show_bug.cgi?id=1312462 for more details.
  1640. M configure.ac
  1641. commit d4d99eb608f3d778fa301137a85cc4903a1dd33e
  1642. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1643. Date: Sat Mar 5 14:53:42 2016 -0800
  1644. unbreak compilation with visual studio
  1645. Specifically, this commit adds missing fake_stacktrace_scope.cc
  1646. to msvc
  1647. build and removes undef-ing of PERFTOOLS_DLL_DECL by tcmalloc.h.
  1648. M src/gperftools/tcmalloc.h.in
  1649. M src/windows/config.h
  1650. M src/windows/gperftools/tcmalloc.h
  1651. M src/windows/gperftools/tcmalloc.h.in
  1652. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  1653. commit 126d4582c18d053452d22ce12351c5429513aabe
  1654. Author: Brian Silverman <bsilver16384@gmail.com>
  1655. Date: Tue Mar 1 17:57:33 2016 -0500
  1656. Call function pointers with the right type
  1657. I think it's undefined behavior, but it's definitely weird. ubsan
  1658. complains too.
  1659. M src/tests/tcmalloc_unittest.cc
  1660. commit e0fa28ef7d50158b271da90f53ab3aee5ba441d8
  1661. Author: Brian Silverman <bsilver16384@gmail.com>
  1662. Date: Tue Mar 1 17:56:32 2016 -0500
  1663. Don't shift a type by more than its width
  1664. It's undefined behavior, so ubsan complains.
  1665. M src/tests/sampler_test.cc
  1666. commit a1c764d2632cc0090f31d8d56effb94a8d049b54
  1667. Author: Brian Silverman <bsilver16384@gmail.com>
  1668. Date: Tue Mar 1 17:55:59 2016 -0500
  1669. Initialize counters in test
  1670. M src/tests/profile-handler_unittest.cc
  1671. commit 22123a37c236e26535d3f3fff7f31a5b6515d7d6
  1672. Author: Brian Silverman <bsilver16384@gmail.com>
  1673. Date: Tue Mar 1 17:55:53 2016 -0500
  1674. Don't overflow a signed integer
  1675. It's undefined behavior and ubsan catches it.
  1676. M src/base/low_level_alloc.cc
  1677. commit 66e1e94f38467b5c7bbfb05e3c7267f3039a2c69
  1678. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1679. Date: Mon Feb 29 20:09:39 2016 -0800
  1680. added minimal "header section" to README
  1681. M README
  1682. commit 2804b7cfee8d49d5ab98340cbf3050c0a5f57b98
  1683. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1684. Date: Sun Feb 21 20:27:48 2016 -0800
  1685. bumped version to 2.5rc
  1686. M configure.ac
  1687. M src/windows/config.h
  1688. M src/windows/gperftools/tcmalloc.h
  1689. commit f47fefbfc1083e7efbada3e7e7d2859d31e151e7
  1690. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1691. Date: Sun Feb 21 22:38:23 2016 -0800
  1692. updated NEWS for 2.5rc
  1693. M NEWS
  1694. commit cef60361741e858041f4bb4d46ce00c6db89b711
  1695. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1696. Date: Sun Feb 21 23:03:41 2016 -0800
  1697. alias same malloc/free variants to their canonical versions
  1698. This is similar to what gcc 5 does anyways, except gcc 5 is placing
  1699. jumps which adds a bit of overhead.
  1700. Instead of letting gcc do it, we alias using ELF symbol aliasing. All
  1701. free variants (tc_delete{,array}_{,nothrow}) are aliased to
  1702. tc_free. There are 3 malloc variants that differ by oom
  1703. handling. tc_newarray is aliased to tc_new. And tc_newarray_nothrow is
  1704. aliased to tc_new_nothrow.
  1705. This aliasing only happens in non-debug malloc, since debug malloc
  1706. does
  1707. distinguish between different variants since it needs checking for
  1708. mismatch.
  1709. M src/tcmalloc.cc
  1710. commit ea8d242061460309d174d9053a224cf94e65e6fe
  1711. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1712. Date: Sun Feb 21 20:16:37 2016 -0800
  1713. Re-enable MultipleIdleNonIdlePhases test
  1714. Which was accidentally removed as part of MarkThreadTemporarilyIdle
  1715. support.
  1716. M src/tests/markidle_unittest.cc
  1717. commit c9962f698b0edb37315445b33a06820f9bcf5df9
  1718. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1719. Date: Sun Feb 21 20:07:37 2016 -0800
  1720. added maybe_emergency_malloc.h to Makefile.am
  1721. Because without this reference it isn't packaged by make dist.
  1722. M Makefile.am
  1723. commit 7dd4af65365d74a5d8d30d5811c26117a9192238
  1724. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1725. Date: Sun Feb 21 19:26:37 2016 -0800
  1726. don't round up sizes for large allocation when sampling
  1727. This closes #723.
  1728. Since rounding up prior to sampling is introducing possibility of
  1729. arithmetic overflow, we're just not doing it.
  1730. It introduces some error (up to 4k), but since we're dealing with at
  1731. least 256k allocations, we're fine.
  1732. M src/tcmalloc.cc
  1733. commit 4f3410e759ec42cb307429222d690a81e3cd37b0
  1734. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1735. Date: Sun Feb 21 13:52:47 2016 -0800
  1736. enable emergency malloc by default on arm when using libunwind
  1737. Because by default libunwind on arm does fopen which mallocs
  1738. which will
  1739. deadlock unless we enable emergency malloc.
  1740. M configure.ac
  1741. commit 7f12051dbe1f402771a747c1192a66e7571d94f9
  1742. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1743. Date: Sun Jan 31 23:17:50 2016 -0800
  1744. implemented emergency malloc
  1745. Emergency malloc is enabled for cases when backtrace capturing
  1746. needs to
  1747. call malloc. In this case, we enable emergency malloc just prior to
  1748. calling such code and disable it after it is done.
  1749. M Makefile.am
  1750. M configure.ac
  1751. M src/debugallocation.cc
  1752. A src/emergency_malloc.cc
  1753. A src/emergency_malloc.h
  1754. A src/emergency_malloc_for_stacktrace.cc
  1755. A src/fake_stacktrace_scope.cc
  1756. M src/malloc_hook.cc
  1757. A src/maybe_emergency_malloc.h
  1758. M src/stacktrace.cc
  1759. M src/tcmalloc.cc
  1760. M src/thread_cache.h
  1761. commit 3ee2360250c639f02b354820bc50efc6e104b754
  1762. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1763. Date: Sat Feb 20 21:49:58 2016 -0800
  1764. replaced invalid uses of __THROW
  1765. We're now using it only when overriding glibc functions (such
  1766. as malloc
  1767. or mmap). In other cases (most importantly in public tcmalloc.h
  1768. header)
  1769. we're doing our own throw() to avoid possible breakage on future glibc
  1770. changes.
  1771. M src/debugallocation.cc
  1772. M src/gperftools/tcmalloc.h.in
  1773. M src/libc_override_glibc.h
  1774. M src/libc_override_redefine.h
  1775. M src/tcmalloc.cc
  1776. M src/windows/gperftools/tcmalloc.h
  1777. M src/windows/gperftools/tcmalloc.h.in
  1778. commit 013b82abcfeaa158da2490ff86d6bff5a5434d7f
  1779. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1780. Date: Sat Feb 20 21:19:37 2016 -0800
  1781. unbreak <malloc.h> inclusion in gperftools/tcmalloc.h
  1782. We have shipped header which checked HAVE_XXX defines which we only
  1783. defined in project-local config.h. So it could never work correctly.
  1784. We're now doing #include <malloc.h> just like tc_mallinfo on constant
  1785. which we detect at configure time and write into header that we
  1786. install.
  1787. M src/gperftools/tcmalloc.h.in
  1788. commit 19903e6f156d0ff8063880ddc5051b5dc261c1ff
  1789. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1790. Date: Sat Feb 20 21:18:18 2016 -0800
  1791. drop detection of sys/malloc.h and malloc/malloc.h
  1792. Which we don't really need.
  1793. M configure.ac
  1794. commit cdff090ebd7a3cef8de60109bef52251758181d7
  1795. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1796. Date: Sat Feb 20 20:43:21 2016 -0800
  1797. Fix several harmless clang warnings
  1798. M src/common.cc
  1799. M src/internal_logging.cc
  1800. M src/malloc_hook.cc
  1801. M src/tests/current_allocated_bytes_test.cc
  1802. commit 9095ed08402620b04591c2d27ca222594f0da6db
  1803. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1804. Date: Sat Feb 20 20:33:27 2016 -0800
  1805. implemented stacktrace capturing via libgcc's C++ ABI function
  1806. Particularly _Unwind_Backtrace which seems to be gcc extension.
  1807. This is what glibc's backtrace is commonly is using.
  1808. Using _Unwind_Backtrace directly is better than glibc's backtrace,
  1809. since
  1810. it doesn't call into dlopen. While glibc does dlopen when it is
  1811. built as
  1812. shared library apparently to avoid link-time dependency on libgcc_s.so
  1813. M Makefile.am
  1814. M configure.ac
  1815. M src/stacktrace.cc
  1816. A src/stacktrace_libgcc-inl.h
  1817. commit 728cbe102108be8296f2485e384392a4408ce9db
  1818. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1819. Date: Sat Feb 20 13:06:08 2016 -0800
  1820. force profiler_unittest to do 'real' work
  1821. 'XOR loop' in profiler unittest wasn't 100% effective because
  1822. it allowed
  1823. compiler to avoid loading and storing to memory.
  1824. After marking result variable as volatile, we're now forcing
  1825. compiler to
  1826. read and write memory, slowing this loops down sufficiently. And
  1827. profiler_unittest is now passing more consistently.
  1828. Closes #628
  1829. M src/tests/profiler_unittest.cc
  1830. commit fff6b4fb8814b5f25d4f97889d5003537f7dcc92
  1831. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1832. Date: Sun Jan 31 23:14:43 2016 -0800
  1833. Extend low-level allocator to support custom pages allocator
  1834. M src/base/low_level_alloc.cc
  1835. M src/base/low_level_alloc.h
  1836. commit 32d992679589ea83e044d3f8263583ae960b0b16
  1837. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1838. Date: Sun Jan 31 22:42:20 2016 -0800
  1839. added malloc_bench_shared_full
  1840. M .gitignore
  1841. M Makefile.am
  1842. commit 00d8fa1ef8d6650f08e00f59baa22cd31b908432
  1843. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1844. Date: Sat Feb 6 19:13:07 2016 -0800
  1845. always use real throw() on operators new/delete
  1846. Since non-glibc-s have no __THROW and lack of throw() on operators
  1847. gives
  1848. us warning.
  1849. M src/libc_override_gcc_and_weak.h
  1850. commit 08e034ad5940f24f99a24630c7b71a0de728d05b
  1851. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1852. Date: Sat Feb 6 16:19:54 2016 -0800
  1853. Detect working ifunc before enabling dynamic sized delete support
  1854. Particularly, on arm-linux and x86-64-debian-kfreebsd compilation
  1855. fails
  1856. due to lack of support for ifunc. So it is necessary to test at
  1857. configure time whether ifunc is supported.
  1858. M configure.ac
  1859. commit a788f354a0cd6de3d714a58ad3e6ae5baf806c3b
  1860. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1861. Date: Sat Feb 6 16:01:25 2016 -0800
  1862. include unistd.h for getpid in thread_lister.c
  1863. This fixes warning produced on arm-linux.
  1864. M src/base/thread_lister.c
  1865. commit 644a6bdbdb50b26a25e4428c43556467a6e8b5cc
  1866. Author: Bryan Chan <bryanpkc@gmail.com>
  1867. Date: Fri Jan 22 12:26:47 2016 -0500
  1868. Add support for Linux s390x
  1869. This resolves gperftools/gperftools#761.
  1870. M configure.ac
  1871. M m4/pc_from_ucontext.m4
  1872. M src/base/basictypes.h
  1873. M src/base/linux_syscall_support.h
  1874. M src/base/linuxthreads.h
  1875. M src/malloc_hook_mmap_linux.h
  1876. commit bab7753aad44b3395a063966f32c23f632fee174
  1877. Author: Bryan Chan <bryanpkc@gmail.com>
  1878. Date: Fri Jan 29 02:38:42 2016 -0500
  1879. Fix typo in heap-checker-death_unittest.sh
  1880. M src/tests/heap-checker-death_unittest.sh
  1881. commit 17182e1d3c324e8fe9cc02ce2822caa746d7d17a
  1882. Author: Simon Que <sque@chromium.org>
  1883. Date: Fri Jan 29 18:17:16 2016 -0800
  1884. Fix include of malloc_hook_c.h in malloc_hook.h
  1885. malloc_hook.h includes malloc_hook_c.h as
  1886. <gperftools/malloc_hook_c.h>.
  1887. This requires the compiler to have designated src/gperftools as a
  1888. standard include directory (-I), which may not always be the case.
  1889. Instead, include it as "malloc_hook_c.h", which will search in
  1890. the same
  1891. directory first. This will always work, regardless of whether it was
  1892. designated a standard include directory.
  1893. M src/gperftools/malloc_hook.h
  1894. commit c69721b2b2ceae426c36de191dd0a6fa443c5c7a
  1895. Author: Andrew Morrow <acm@mongodb.com>
  1896. Date: Sun Nov 22 15:19:12 2015 -0500
  1897. Add support for obtaining cache size of the current thread and
  1898. softer idling
  1899. M src/gperftools/malloc_extension.h
  1900. M src/gperftools/malloc_extension_c.h
  1901. M src/malloc_extension.cc
  1902. M src/tcmalloc.cc
  1903. M src/tests/markidle_unittest.cc
  1904. M src/thread_cache.cc
  1905. M src/thread_cache.h
  1906. commit 5ce42e535d6b3bf6c5e41ceb9cf876a70a7e3318
  1907. Author: Brian Silverman <bsilver16384@gmail.com>
  1908. Date: Tue Jan 26 16:53:48 2016 -0500
  1909. Don't always arm the profiling timer.
  1910. It causes a noticeable performance hit and can sometimes confuse GDB.
  1911. Tested with CPUPROFILE_PER_THREAD_TIMERS=1.
  1912. Based on an old version by mnissler@google.com.
  1913. M src/profile-handler.cc
  1914. M src/profile-handler.h
  1915. M src/tests/profile-handler_unittest.cc
  1916. commit 7f801ea091e03dae7b13160f76fecce15727c9c0
  1917. Author: Duncan Sands <baldrick@free.fr>
  1918. Date: Fri Jan 15 18:12:51 2016 +0100
  1919. Make sure the alias is not removed by link-time optimization when
  1920. it can prove
  1921. that it isn't used by the program, as it might still be needed to
  1922. override the
  1923. corresponding symbol in shared libraries (or inline assembler for
  1924. that matter).
  1925. For example, suppose the program uses malloc and free but not calloc
  1926. and is
  1927. statically linked against tcmalloc (built with -flto) and LTO
  1928. is done. Then
  1929. before this patch the calloc alias would be deleted by LTO due to
  1930. not being
  1931. used, but the malloc/free aliases would be kept because they are
  1932. used by the
  1933. program. Suppose the program is dynamically linked with a shared
  1934. library that
  1935. allocates memory using calloc and later frees it by calling free.
  1936. Then calloc
  1937. will use the libc memory allocator, because the calloc alias was
  1938. deleted, but
  1939. free will call into tcmalloc, resulting in a crash.
  1940. M src/libc_override_gcc_and_weak.h
  1941. commit 6b3e6ef5e0ab65030d116dd55dac8d64f9c72d33
  1942. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1943. Date: Sun Jan 24 19:45:16 2016 -0800
  1944. don't retain compatibility with old docdir behavior
  1945. Since it is not really needed. And since we don't care about too
  1946. ancient
  1947. autoconfs.
  1948. M configure.ac
  1949. commit ccffcbd9e988a39654fe6ec5edd6d817f266ded9
  1950. Author: Chris Mayo <aklhfex@gmail.com>
  1951. Date: Sun Dec 27 18:55:05 2015 +0000
  1952. support use of configure --docdir argument
  1953. Value of docdir was being overridden in Makefile.
  1954. Retain compatibility with old Autoconf versions that do not provide
  1955. docdir.
  1956. M Makefile.am
  1957. M configure.ac
  1958. commit 050f2d28be8a63836bd74558b82be7983770a654
  1959. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1960. Date: Sat Dec 12 18:27:40 2015 -0800
  1961. use alias attribute only for elf platforms
  1962. It was reported that clang on OSX doesn't support alias
  1963. attribute. Most
  1964. likely because of executable format limitations.
  1965. New code limits use of alias to gcc-compatible compilers on elf
  1966. platforms (various gnu and *bsd systems). Elf format is known
  1967. to support
  1968. aliases.
  1969. M src/tcmalloc.cc
  1970. commit 07b0b21ddd168d977c04b1395677de71bb3e402e
  1971. Author: cyshi <wbstsa@gmail.com>
  1972. Date: Wed Dec 2 14:47:15 2015 +0800
  1973. fix compilation error in spinlock
  1974. M src/base/spinlock.cc
  1975. commit e14450366abc51c7a25256615179daf0bae1de34
  1976. Author: gshirishfree <gshirishfree@gmail.com>
  1977. Date: Mon Nov 23 11:34:13 2015 -0800
  1978. Added better description for GetStats API
  1979. M src/gperftools/malloc_extension.h
  1980. commit 64892ae730b704a7f3f23bd8eaeaf206901df201
  1981. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1982. Date: Sat Nov 21 19:17:36 2015 -0800
  1983. lower default transfer batch size down to 512
  1984. Some workloads get much slower with too large batch size.
  1985. This closes bug #678.
  1986. binary_trees benchmark benefits from larger batch size. And I
  1987. found that
  1988. 512 is not much slower than huge value that we had.
  1989. M src/common.cc
  1990. commit 6fdfc5a7f40ebcff3fdaada1a2994ff54be2f9c7
  1991. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  1992. Date: Sat Oct 24 23:16:45 2015 -0700
  1993. implemented enabling sized-delete support at runtime
  1994. Under gcc 4.5 or greater we're using ifunc function attribute
  1995. to resolve
  1996. sized delete operator to either plain delete implementation
  1997. (default) or
  1998. to sized delete (if enabled via environment variable
  1999. TCMALLOC_ENABLE_SIZED_DELETE).
  2000. M configure.ac
  2001. M src/libc_override_gcc_and_weak.h
  2002. M src/tests/tcmalloc_unittest.sh
  2003. commit c2a79d063c949584170b3e7dd2939a4548c16079
  2004. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2005. Date: Fri Oct 23 21:44:04 2015 -0700
  2006. use x86 pause in spin loop
  2007. This saves power and improves performance, particulary on SMT.
  2008. M src/base/spinlock.cc
  2009. commit 0fb6dd8aa3c2fe3245c31c138ec4dfb05efd7f6d
  2010. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2011. Date: Fri Oct 23 22:09:25 2015 -0700
  2012. added binary_trees benchmark
  2013. M .gitignore
  2014. M Makefile.am
  2015. A benchmark/binary_trees.cc
  2016. commit a8852489e54e915d22abbdad1688d1f25ccb7925
  2017. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2018. Date: Sun Oct 18 00:40:15 2015 -0700
  2019. drop unsupported allocation sampling code in tcmalloc_minimal
  2020. M src/tcmalloc.cc
  2021. M src/thread_cache.h
  2022. commit a9db0ae516c225543976280047b22b1e0ca08b93
  2023. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2024. Date: Sun Oct 4 21:12:28 2015 -0700
  2025. implemented (disabled by default) sized delete support
  2026. gcc 5 and clang++-3.7 support sized deallocation from C++14. We are
  2027. taking advantage of that by defining sized versions of operator
  2028. delete.
  2029. This is off by default so that if some existing programs that
  2030. define own
  2031. global operator delete without sized variant are not broken by
  2032. tcmalloc's sized delete operator.
  2033. There is also risk of breaking exiting code that deletes objects using
  2034. wrong class (i.e. base class) without having virtual destructors.
  2035. M configure.ac
  2036. M src/gperftools/tcmalloc.h.in
  2037. M src/libc_override_gcc_and_weak.h
  2038. M src/libc_override_redefine.h
  2039. M src/tcmalloc.cc
  2040. M src/windows/gperftools/tcmalloc.h
  2041. M src/windows/gperftools/tcmalloc.h.in
  2042. commit 88686972b9caf8fd132c4e30d89da78c3d324c27
  2043. Author: Aliaksey Kandratsenka <alk@tut.by>
  2044. Date: Sun Oct 4 11:15:37 2015 -0700
  2045. pass -fsized-deallocation to gcc 5
  2046. Otherwise it gives warning for declaration of sized delete operator.
  2047. M Makefile.am
  2048. M configure.ac
  2049. commit 0a18fab3af2f1b59b851836d319a1eff0db5d44e
  2050. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2051. Date: Sun Oct 4 21:07:54 2015 -0700
  2052. implemented sized free support via tc_free_sized
  2053. M src/debugallocation.cc
  2054. M src/gperftools/tcmalloc.h.in
  2055. M src/tcmalloc.cc
  2056. M src/windows/gperftools/tcmalloc.h
  2057. M src/windows/gperftools/tcmalloc.h.in
  2058. M src/windows/patch_functions.cc
  2059. commit 464688ab6ddb82db22ea9b934ddea192478e4535
  2060. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2061. Date: Sun Oct 4 21:27:56 2015 -0700
  2062. speedup free code path by dropping "fast path allowed check"
  2063. M src/tcmalloc.cc
  2064. commit 10f7e207166bd6652ed8803b9885917bfbbd90d0
  2065. Author: Aliaksey Kandratsenka <alk@tut.by>
  2066. Date: Sat Oct 3 18:47:14 2015 -0700
  2067. added SizeMap::MaybeSizeClass
  2068. Because it allows us to first check for smaller sizes, which is most
  2069. likely.
  2070. M src/common.h
  2071. commit 436e1dea43dc097525e43a43e6d79810ba6921b5
  2072. Author: Aliaksey Kandratsenka <alk@tut.by>
  2073. Date: Sat Oct 3 15:40:21 2015 -0700
  2074. slightly faster GetCacheIfPresent
  2075. M src/thread_cache.h
  2076. commit 04df911915ecfcbc5e6b13fdab1b86f825ed1938
  2077. Author: Aliaksey Kandratsenka <alk@tut.by>
  2078. Date: Sat Oct 3 15:38:33 2015 -0700
  2079. tell compiler that non-empty hooks are unlikely
  2080. M src/malloc_hook-inl.h
  2081. commit 8cc75acd1f4024ca978858b1cf85b45204ed32b2
  2082. Author: Aliaksey Kandratsenka <alk@tut.by>
  2083. Date: Sun Oct 4 11:04:12 2015 -0700
  2084. correctly test for -Wno-unused-result support
  2085. gcc is only giving warning for unknown -Wno-XXX flags so test never
  2086. fails on gcc even if -Wno-XXX is not supported. By using
  2087. -Wunused-result we're able to test if gcc actually supports it.
  2088. This fixes issue #703.
  2089. M configure.ac
  2090. commit 7753d8239b1e427d83729b6d5c0401e1d80308fd
  2091. Author: Aliaksey Kandratsenka <alk@tut.by>
  2092. Date: Sun Oct 4 18:26:59 2015 -0700
  2093. fixed clang warning about shifting negative values
  2094. M src/base/basictypes.h
  2095. commit ae09ebb3833f3f207b7623245e360ddf122b823e
  2096. Author: Jens Rosenboom <j.rosenboom@x-ion.de>
  2097. Date: Thu Nov 19 17:45:44 2015 +0100
  2098. Fix tmpdir usage in heap-profiler_unittest.sh
  2099. Using a single fixed directory would break when tests were being
  2100. run in
  2101. parallel with "make -jN".
  2102. Also, the cleanup at the end of the test didn't work because it
  2103. referred
  2104. to the wrong variable.
  2105. M src/tests/heap-profiler_unittest.sh
  2106. commit df34e71b575daa6e4fa7588ae0deb9d529566f08
  2107. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2108. Date: Sat Nov 21 16:03:09 2015 -0800
  2109. use $0 when referring to pprof
  2110. This fixed debian bug #805536. Debian ships pprof under google-pprof
  2111. name so it is handy when google-pprof --help refers to itself
  2112. correctly.
  2113. M src/pprof
  2114. commit 7773ea64ee254700ef0ffc5673539f0e111a4f86
  2115. Author: Adhemerval Zanella <adhemerval.zanella@linaro.com>
  2116. Date: Fri Nov 6 16:29:12 2015 -0200
  2117. Alignment fix to static variables for system allocators
  2118. This patch the placement new for some system allocator to force the
  2119. static buffer to pointer value.
  2120. M src/memfs_malloc.cc
  2121. M src/system-alloc.cc
  2122. commit c46eb1f3d2f7a2bdc54a52ff7cf5e7392f5aa668
  2123. Author: Boris Sazonov <bsazonov@gmail.com>
  2124. Date: Thu Oct 15 17:39:08 2015 +0300
  2125. Fixed printf misuse in pprof - printed string was passed as
  2126. format. Better use print instead
  2127. M src/pprof
  2128. commit 9bbed8b1a8f1229cf0f1b4185683f309267ee1b9
  2129. Author: Boris Sazonov <bsazonov@gmail.com>
  2130. Date: Wed Sep 23 19:46:13 2015 +0300
  2131. Fixed assembler argument passing inside _syscall6 on MIPS - it was
  2132. causing 'Expression too complex' compilation errors in spinlock
  2133. M src/base/linux_syscall_support.h
  2134. commit 962aa53c55968f62f548f6f6f4849a384b505ca0
  2135. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2136. Date: Sat Oct 10 20:31:50 2015 -0700
  2137. added more fastpath microbenchmarks
  2138. This also makes them output nicer results. I.e. every benchmark is
  2139. run 3
  2140. times and iteration duration is printed for every run.
  2141. While this is still very synthetic and unrepresentave of malloc
  2142. performance
  2143. as a whole, it is exercising more situations in tcmalloc fastpath. So
  2144. it a
  2145. step forward.
  2146. M Makefile.am
  2147. M benchmark/malloc_bench.cc
  2148. A benchmark/run_benchmark.c
  2149. A benchmark/run_benchmark.h
  2150. commit 347a830689e4dba2adc1368d00fe4723ba726b4a
  2151. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2152. Date: Sat Oct 10 15:58:11 2015 -0700
  2153. Ensure that PPROF_PATH is set for debugallocation_test
  2154. Which fixes issue #728.
  2155. M src/tests/debugallocation_test.sh
  2156. commit a9059b7c30308a4f4ab25f00e55b67c649614ed3
  2157. Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2158. Date: Sat Oct 10 15:35:54 2015 -0700
  2159. prevent clang from inlining Mallocer in heap checker unittest
  2160. Looks like existing "trick" to avoid inlining doesn't really prevent
  2161. sufficiently smart compiler from inlining Mallocer function. Which
  2162. breaks tests, since test relies Mallocer having it's own separate
  2163. stack
  2164. frame.
  2165. Making mallocer_addr variable volatile is seemingly enough to
  2166. stop that.
  2167. M src/tests/heap-checker_unittest.cc
  2168. commit 6627f9217d8897b297c6da038cfbcff6a3086cfa
  2169. Author: Aliaksey Kandratsenka <alk@tut.by>
  2170. Date: Sat Sep 26 19:52:37 2015 -0700
  2171. drop cycleclock
  2172. M Makefile.am
  2173. D src/base/cycleclock.h
  2174. M src/base/sysinfo.cc
  2175. M vsprojects/addressmap_unittest/addressmap_unittest.vcproj
  2176. M
  2177. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  2178. M vsprojects/packed-cache_test/packed-cache_test.vcproj
  2179. commit f985abc29607b8a5662ddac7bd1ed99c71ceeb11
  2180. Author: Aliaksey Kandratsenka <alk@tut.by>
  2181. Date: Sat Sep 26 19:50:03 2015 -0700
  2182. amputate unportable and unused stuff from sysinfo
  2183. We still check number of cpus in the system (in spinlock code),
  2184. but old
  2185. code was built under assumption of "no calls malloc" which is
  2186. not needed
  2187. in tcmalloc. Which caused it to be far more complicated than
  2188. necessary (parsing procfs files, ifdefs for different OSes and
  2189. arch-es).
  2190. Also we don't need clock cycle frequency measurement.
  2191. So I've removed all complexity of ald code and NumCPUs function and
  2192. replaced it with GetSystemCPUsCount which is straightforward and
  2193. portable call to sysconf.
  2194. Renaming of cpus count function was made so that any further code that
  2195. we might port from Google that depends on old semantics of NumCPUs
  2196. will
  2197. be detected at compile time. And has to be inspected for whether it
  2198. really needs that semantics.
  2199. M src/base/spinlock.cc
  2200. M src/base/sysinfo.cc
  2201. M src/base/sysinfo.h
  2202. commit 16408eb4d71ecbb1dd3b3c7ff22c94bd254d7b58
  2203. Author: Aliaksey Kandratsenka <alk@tut.by>
  2204. Date: Tue Sep 29 11:59:25 2015 -0700
  2205. amputated wait_cycles accounting in spinlocks
  2206. This is not needed and pulls in CycleClock dependency that lowers
  2207. code portability.
  2208. M src/base/spinlock.cc
  2209. M src/base/spinlock.h
  2210. commit fedceef40cd217ef406bc2522e9a8f879d60b0c0
  2211. Author: Aliaksey Kandratsenka <alk@tut.by>
  2212. Date: Tue Sep 29 11:55:35 2015 -0700
  2213. drop cycleclock reference in ThreadCache
  2214. M src/thread_cache.cc
  2215. commit d7fdc3fc9ddc0937eb7961b1d8c864cc8182f0d9
  2216. Author: Aliaksey Kandratsenka <alk@tut.by>
  2217. Date: Tue Sep 29 11:43:09 2015 -0700
  2218. dropped unused and unsupported synchronization profiling facility
  2219. Spinlock usage of cycle counter is due do tracking of time it's spent
  2220. waiting for lock. But this tracking is only useful we actually have
  2221. synchronization profiling working, which dont have. Thus I'm dropping
  2222. calls to this facility with eye towards further removal of cycle clock
  2223. usage.
  2224. M Makefile.am
  2225. M src/base/spinlock.cc
  2226. D src/base/synchronization_profiling.h
  2227. commit 3a054d37c1f5323462bd77f55be02c5b0d764611
  2228. Author: Aliaksey Kandratsenka <alk@tut.by>
  2229. Date: Mon Sep 28 15:40:15 2015 -0700
  2230. dropped unused SpinLockWait function
  2231. M src/base/spinlock.cc
  2232. M src/base/spinlock_internal.cc
  2233. M src/base/spinlock_internal.h
  2234. commit 5b62d38329f04ee30fb475a36b552c1ebc4e1e79
  2235. Author: Aliaksey Kandratsenka <alk@tut.by>
  2236. Date: Mon Sep 28 10:27:49 2015 -0700
  2237. avoid checking for dup. entries on empty backtrace
  2238. This might fix issue #721. But it is right thing to do
  2239. regardless. Since
  2240. if depth is 0 we'll be reading random "garbage" on the stack.
  2241. M src/profiler.cc
  2242. commit 7b9ded722e4cef9a44b8d8bfa80d3e1e108cf590
  2243. Author: Aliaksey Kandratsenka <alk@tut.by>
  2244. Date: Sat Sep 12 16:26:54 2015 -0700
  2245. fixed compiler warning in memory_region_map.cc
  2246. M src/memory_region_map.cc
  2247. commit 4194e485cbb5d8c59f65aba49da63c08ecc573da
  2248. Author: Aliaksey Kandratsenka <alk@tut.by>
  2249. Date: Sat Sep 12 16:20:53 2015 -0700
  2250. Don't link libtcmalloc_minimal.so to libpthread.so
  2251. So that LD_PRELOAD-ing doesn't force loading libpthread.so which may
  2252. slow down some single-threaded apps.
  2253. tcmalloc already has maybe_threads facility that can detect if
  2254. libpthread.so is loaded (via weak symbols) and provide 'simulations'
  2255. of
  2256. some pthread functions that tcmalloc needs.
  2257. M Makefile.am
  2258. M src/maybe_threads.cc
  2259. M src/maybe_threads.h
  2260. M src/static_vars.cc
  2261. commit 121038308d8c5b34707614c44de265816a322563
  2262. Author: Fredrik Mellbin <fredrik.mellbin@gmail.com>
  2263. Date: Sun Sep 27 01:18:31 2015 +0200
  2264. Check if _MSC_VER is defined to avoid warnings
  2265. M src/windows/port.h
  2266. commit 73673229955cf35c5b3046ee3100d94e82d33bc2
  2267. Author: Fredrik Mellbin <fredrik.mellbin@gmail.com>
  2268. Date: Sun Sep 27 01:11:14 2015 +0200
  2269. Make default config.h work with VS2015
  2270. M src/windows/config.h
  2271. commit ae0a444db06b2327441e6160eafa33d8b7b95629
  2272. Author: Dair Grant <dair@feralinteractive.com>
  2273. Date: Thu Oct 1 13:46:22 2015 +0100
  2274. Ensure ThreadCache objects are CACHELINE_ALIGNED.
  2275. M src/base/basictypes.h
  2276. M src/common.cc
  2277. M src/system-alloc.cc
  2278. commit ea0b1d315497771d9d077c754fb9d6a92d1c01dc
  2279. Author: Aliaksey Kandratsenka <alk@tut.by>
  2280. Date: Sat Sep 26 11:13:13 2015 -0700
  2281. unbreak TestErrno again
  2282. Somehow in previous commit I managed to break assignment of memalign
  2283. result to variable being tested. Luckily gcc gave me warning.
  2284. M src/tests/tcmalloc_unittest.cc
  2285. commit e53aef24add50bdee5ab2943d96e5c5b2b3bf596
  2286. Author: Aliaksey Kandratsenka <alk@tut.by>
  2287. Date: Sat Sep 26 09:58:45 2015 -0700
  2288. don't try to test memalign on windows
  2289. This unbreaks tcmalloc_unittest.cc on windows.
  2290. M src/tests/tcmalloc_unittest.cc
  2291. commit 7707582448d5bdf311d88726c5f77fcbb0bedd09
  2292. Merge: 5078abd 9eb63bd
  2293. Author: Aliaksey Kandratsenka (aka Aliaksei Kandratsenka)
  2294. <alkondratenko@gmail.com>
  2295. Date: Sat Sep 26 09:43:50 2015 -0700
  2296. Merge pull request #717 from myrsloik/master
  2297. Use correct mangled new and delete symbols on windows x64
  2298. commit 9eb63bddfb7a8a7b086bb3daceeeaa2e3b1d8f67
  2299. Author: Fredrik Mellbin <fredrik.mellbin@gmail.com>
  2300. Date: Thu Sep 24 19:57:26 2015 +0200
  2301. Use correct mangled new and delete symbols on windows x64
  2302. M src/windows/patch_functions.cc
  2303. commit 5078abdb331e63d7a216994f186eb736861f8df7
  2304. Author: fdeweerdt <fdeweerdt@cloudmark.com>
  2305. Date: Tue Aug 18 09:27:39 2015 -0700
  2306. Don't discard curl options if timeout is not defined.
  2307. Editing the options passed to curl via 'my @URL_FETCHER = ("curl",
  2308. "-s");' (in particular to add a -k to ignore self signed certs) fails
  2309. for some invocations of curl. In FetchDynamicProfile, 'my @fetcher =
  2310. AddFetchTimeout($fetch_timeout, @URL_FETCHER);' ends up being just
  2311. 'curl' if timeout is not defined.
  2312. This happens because AddFetchTimeout doesn't retrieve all the
  2313. arguments
  2314. from the caller.
  2315. [alk@tut.by: updated commit message]
  2316. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  2317. M src/pprof
  2318. commit 54505f1d50c2d1f4676f5e87090b64a117fd980e
  2319. Author: Aliaksey Kandratsenka <alk@tut.by>
  2320. Date: Sun Aug 2 19:28:03 2015 -0700
  2321. help clang with inlining important fast-path functions
  2322. Clang's recent focus on code size doesn't help us in malloc fast-path
  2323. because somehow clang completely ignores inline directives.
  2324. In order to help clang generate code that was actually intended by
  2325. original authors, we're adding always_inline attribute to key
  2326. fast-path functions.
  2327. Clang also guessed likely branch "wrong" in couple places. Which is
  2328. now addressed by UNLIKELY declarations there.
  2329. M src/tcmalloc.cc
  2330. M src/thread_cache.h
  2331. commit 73c0c8c61b84e268bafd961bf304b2e4d296142f
  2332. Author: Aliaksey Kandratsenka <alk@tut.by>
  2333. Date: Sun Aug 2 19:09:02 2015 -0700
  2334. moved do_mallor_or_cpp_alloc in better place
  2335. M src/tcmalloc.cc
  2336. commit 41aca070e85258d9d47b0ac47f5eddece8bf45ba
  2337. Author: Aliaksey Kandratsenka <alk@tut.by>
  2338. Date: Sun Aug 2 10:53:32 2015 -0700
  2339. always set errno to ENOMEM on OOM condition and in single place
  2340. While standards do not require us to set errno to ENOMEM in certain
  2341. places (like posix_memalign), existing code may sometimes set it
  2342. (i.e. because mmap or sbrk couldn't get memory from kernel)
  2343. anyways. And from my reading of glibc, it's malloc is doing more or
  2344. less same by just always setting ENOMEM on OOM condition.
  2345. This commit also eliminates some functions (XXX_no_errno) that are not
  2346. needed anymore.
  2347. M src/debugallocation.cc
  2348. M src/page_heap.cc
  2349. M src/tcmalloc.cc
  2350. commit c4493874cd3b662d2778f3b79a3096ae61569b67
  2351. Author: Aliaksey Kandratsenka <alk@tut.by>
  2352. Date: Sat Aug 1 22:20:15 2015 -0700
  2353. deal with OOM handling in one place and prior to returning result
  2354. This commit removes 4 (four!) duplicates of C++ OOM handling. And
  2355. introduces one helper for that.
  2356. Other change is that malloc doesn't have to check tc_new_mode anymore
  2357. until it _actually_ deals with OOM condition. Which shaves off couple
  2358. instructions from fast-path.
  2359. M src/debugallocation.cc
  2360. M src/tcmalloc.cc
  2361. commit 09448a8fe977eaa083340c2504caac8820832179
  2362. Author: Aliaksey Kandratsenka <alk@tut.by>
  2363. Date: Sun Aug 2 18:11:04 2015 -0700
  2364. added tcmalloc_unittest path with TCMALLOC_HEAP_LIMIT_MB=512
  2365. I.e. so that we can exercise "voluntary" OOM conditions better.
  2366. M src/tests/tcmalloc_unittest.sh
  2367. commit 73fb7c7eb37e488bab8298be4110e30d83af2184
  2368. Author: Aliaksey Kandratsenka <alk@tut.by>
  2369. Date: Sun Aug 2 01:47:55 2015 -0700
  2370. added test on errno = ENOMEM on out of memory
  2371. M src/tests/tcmalloc_unittest.cc
  2372. commit eb725ff26371dfb5ae2523802c6abe75833cacef
  2373. Author: Aliaksey Kandratsenka <alk@tut.by>
  2374. Date: Sat Aug 1 20:54:39 2015 -0700
  2375. unbreak heap-profiler-unittest on gcc 5
  2376. gcc 5 has got nice new optimization (-fipa-icf) which merges identical
  2377. functions into one. And that causes heap-profiler_unittest to fail
  2378. since it expects to see both Allocate and Allocate2 in heap
  2379. profiles. And smart GCC detects that they are same function and makes
  2380. one function out of two and thus breaks this test.
  2381. New code simply adds (disabled) logging calls to make those functions
  2382. non-identical.
  2383. M src/tests/heap-profiler_unittest.cc
  2384. commit 53833298f3822b2b8b78c9dc85160d65d78a6857
  2385. Author: Aliaksey Kandratsenka <alk@tut.by>
  2386. Date: Sat Aug 1 19:46:34 2015 -0700
  2387. unbreak heap_checker_unittest on gcc 5
  2388. GCC 5 ended up too smart and optimized out assignment of allocated
  2389. block to global variable. Which caused test to fail since it triggered
  2390. unexpected "leak".
  2391. M src/tests/heap-checker_unittest.cc
  2392. commit 024bae96ce8e1591993fc0da191ce0a92d609481
  2393. Author: Aliaksey Kandratsenka <alk@tut.by>
  2394. Date: Sat Aug 1 17:41:42 2015 -0700
  2395. dropped support for PREANSINEW define which nobody needs anymore
  2396. M src/debugallocation.cc
  2397. M src/tcmalloc.cc
  2398. commit 64e0133901a20f83c41adb36748fd19d21228515
  2399. Author: Aliaksey Kandratsenka <alk@tut.by>
  2400. Date: Sun May 3 12:55:47 2015 -0700
  2401. added trivial malloc fast-path benchmark
  2402. While this is not good representation of real-world production malloc
  2403. behavior, it is representative of length (instruction-wise and well as
  2404. cycle-wise) of fast-path. So this is better than nothing.
  2405. M .gitignore
  2406. M Makefile.am
  2407. A benchmark/malloc_bench.cc
  2408. commit e1d1311cfb6312cd44e086c879f3e95cbfa0eb9d
  2409. Author: Tom Conerly <tomconerly@gmail.com>
  2410. Date: Mon Jul 27 11:35:29 2015 -0700
  2411. issue-699: Free list on error paths
  2412. M src/heap-profile-table.cc
  2413. commit b5b79860fd2b8e1a9b0573e93f942695f2992b59
  2414. Author: Aliaksey Kandratsenka <alk@tut.by>
  2415. Date: Sat Aug 1 11:24:56 2015 -0700
  2416. issue-702: correctly declare arg-less functions in profiler.h
  2417. This is patch by user mitchblank.
  2418. From his words:
  2419. The problem is pretty simple. Ancient C code allowed declarations
  2420. without argument prototypes, i.e.
  2421. int foo();
  2422. For compatibility this is still accepted. If you want to declare a
  2423. function with zero prototypes the correct way to do it is:
  2424. int foo(void);
  2425. C++ also accepts this syntax, but it's not needed there.
  2426. Normally compilers still accept the old-style entries, but with
  2427. sufficient warning flags gcc will complain about them. It is good for
  2428. header files to have the explicit "void" argument so all compilers are
  2429. kept happy.
  2430. I'm attaching a simple patch to add the "void" parameter to that file.
  2431. I haven't checked if other headers have the same problem (I'm just
  2432. using the profiler at the moment)
  2433. <end of quote>
  2434. In fact "int foo()" means "foo accepts any args" and we really want
  2435. "foo has no args". For which int foo (void) is right declaration.
  2436. M src/gperftools/profiler.h
  2437. commit 7df7f14c949d89d9c3f5c7c339bbdda81fb8abc7
  2438. Author: Aliaksey Kandratsenka <alk@tut.by>
  2439. Date: Sat Jun 13 21:35:06 2015 -0700
  2440. issue-693: enable futex usage on arm
  2441. This patch was contributed by user spotrh.
  2442. M src/base/linux_syscall_support.h
  2443. M src/base/spinlock_linux-inl.h
  2444. commit cb998e56d763cfe901cf30a692d4cfd4f85259ae
  2445. Author: Aliaksey Kandratsenka <alk@tut.by>
  2446. Date: Sat Jun 13 21:28:28 2015 -0700
  2447. issue-693: convert sys_futex to it's 6-arg form
  2448. Because sys_futex actually takes 6 args in more recent kernels (even
  2449. though last two args are unused for FUTEX_{WAKE,WAIT}.
  2450. This is patch contributed by user spotrh.
  2451. M src/base/linux_syscall_support.h
  2452. commit 36066b8df4bc516ade5209a1f60bd84d6448b531
  2453. Author: Aliaksey Kandratsenka <alk@tut.by>
  2454. Date: Sat Jun 27 21:15:30 2015 -0700
  2455. issue-695: implementated TCMALLOC_TRACE_FILE variable
  2456. This is contributed by Paolo Bonzini.
  2457. This commit adds TCMALLOC_TRACE_FILE environment variable, which if
  2458. defined overrides location of malloc trace file.
  2459. M src/debugallocation.cc
  2460. commit c4069d2d37b67296d675c2d1de42a46dc6d43efc
  2461. Author: Brian Silverman <bsilver16384@gmail.com>
  2462. Date: Tue Jun 16 16:56:48 2015 -0700
  2463. Add empty virtual destructor to class with virtual methods.
  2464. Clang 3.5 has a warning about deleting objects with virtual methods
  2465. through non-virtual destructors which was triggered. I'm not sure
  2466. whether this actually creates any undefined or otherwise incorrect
  2467. behavior, but it seems like a good thing to fix regardless.
  2468. Example compiler warning:
  2469. third_party/gperftools/src/tests/profile-handler_unittest.cc:282:5:
  2470. error:
  2471. delete called on '(anonymous namespace)::BusyThread' that has
  2472. virtual
  2473. functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
  2474. delete busy_worker_;
  2475. ^
  2476. M src/tests/profile-handler_unittest.cc
  2477. commit 019362fefcdca39a46d1a831ed46266c24b9a273
  2478. Author: Patrick LoPresti <lopresti@gmail.com>
  2479. Date: Mon May 25 11:56:51 2015 -0700
  2480. Add support for CPUPROFILE_TIMER_SIGNAL environment variable.
  2481. Which both enables per-thread timers and allows the signal number for
  2482. the timer to be selected.
  2483. [alk@tut.by: reformatted commit message for subject line length]
  2484. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  2485. M src/profile-handler.cc
  2486. M src/tests/profile-handler_unittest.cc
  2487. commit 81d8d2a9e7f941a2051781fd0fe62c683c32f1ef
  2488. Author: Milton Chiang <milton.chiang@mediatek.com>
  2489. Date: Wed May 13 21:53:05 2015 +0800
  2490. Add "ARMv8-A" to the supporting list of ARM architecture.
  2491. M src/base/arm_instruction_set_select.h
  2492. commit 64d1a86cb8da245c982d470a7dfdd635197e6e5e
  2493. Author: Aliaksey Kandratsenka <alk@tut.by>
  2494. Date: Sat May 9 15:38:12 2015 -0700
  2495. include time.h for struct timespec on Visual Studio 2015
  2496. This patch was submitted by user wmamrak.
  2497. M src/windows/port.h
  2498. commit 7013b219970a329d1db58fbd7fa7c907bec8dbba
  2499. Author: Aliaksey Kandratsenka <alk@tut.by>
  2500. Date: Sat May 9 12:48:11 2015 -0700
  2501. hook mi_force_{un,}lock on OSX instead of pthread_atfork
  2502. This is patch by Anton Samokhvalov.
  2503. Apparently it helps with locking around forking on OSX.
  2504. M src/libc_override_osx.h
  2505. M src/static_vars.cc
  2506. commit f25f8e0bf2d361f852929848d79d7ba54586c352
  2507. Author: Angus Gratton <gus@projectgus.com>
  2508. Date: Mon May 4 08:18:43 2015 +1000
  2509. Clarify that only tcmalloc_minimal is supported on Windows.
  2510. M INSTALL
  2511. M README_windows.txt
  2512. commit 772a686c45455893708178d3b59b1d3b571015aa
  2513. Author: Aliaksey Kandratsenka <alk@tut.by>
  2514. Date: Sun May 3 13:15:16 2015 -0700
  2515. issue-683: fix compile error in clang with -m32 and 64-bit off_t
  2516. M src/malloc_hook_mmap_linux.h
  2517. commit 0a3bafd645764250732f3c0627534142568f6f1f
  2518. Author: Aliaksey Kandratsenka <alk@tut.by>
  2519. Date: Sat Apr 11 10:35:53 2015 -0700
  2520. fix typo in PrintAvailability code
  2521. This is patch contributed by user ssubotin.
  2522. M src/windows/nm-pdb.c
  2523. commit 6ce10a2a05f13803061538d5c77e89695de59be4
  2524. Author: Matt Cross <mat.cross@gmail.com>
  2525. Date: Thu Mar 26 16:13:56 2015 -0400
  2526. Add support for printing collapsed stacks for generating flame graphs.
  2527. M src/pprof
  2528. commit 2c1a165fa56a6f8dff8fa2662ceda971ad676ead
  2529. Author: Matt Cross <matt.cross@gmail.com>
  2530. Date: Thu Mar 26 12:10:23 2015 -0400
  2531. Add support for reading debug symbols automatically on systems
  2532. where shared libraries with debug symbols are installed at
  2533. "/usr/lib/debug/<originalpath>.debug", such as RHEL and CentOS.
  2534. M src/pprof
  2535. commit 2e654956287043a30aeaec20e5c19650358af618
  2536. Author: Jonathan Lambrechts <jonathan@aljl.eu>
  2537. Date: Fri Feb 13 18:52:21 2015 +0100
  2538. callgrind : handle inlined functions
  2539. M src/pprof
  2540. commit 90d7408d381cf2ad68ce4974cbccd51ed5222ca3
  2541. Author: Jonathan Lambrechts <jonathan@aljl.eu>
  2542. Date: Fri Feb 13 18:51:33 2015 +0100
  2543. pprof : callgrind : fix unknown files
  2544. M src/pprof
  2545. commit aa963a24ae7a74b095a631ea6a86cd071c453911
  2546. Author: Aliaksey Kandratsenka <alk@tut.by>
  2547. Date: Mon Feb 9 08:35:03 2015 -0800
  2548. issue-672: fixed date of news entry of gperftools 2.4 release
  2549. It is 2015 and not 2014. Spotted and reported by Armin Rigo.
  2550. M NEWS
  2551. commit c66aeabdbacbfd3aff7a6633f34526ca32642f67
  2552. Author: Aliaksey Kandratsenka <alk@tut.by>
  2553. Date: Sat Jan 10 14:35:54 2015 -0800
  2554. fixed default value of HEAP_PROFILER_TIME_INTERVAL in .html doc
  2555. M doc/heapprofile.html
  2556. commit 689e4a5bb4b2a8afecb85e83b8e4f294f80b6124
  2557. Author: Aliaksey Kandratsenka <alk@tut.by>
  2558. Date: Sat Jan 10 12:26:51 2015 -0800
  2559. bumped version to 2.4
  2560. M NEWS
  2561. M configure.ac
  2562. M src/windows/config.h
  2563. M src/windows/gperftools/tcmalloc.h
  2564. commit 3f5f1bba0c2cb4862c38b0c9050f1cede8a5c344
  2565. Author: Aliaksey Kandratsenka <alk@tut.by>
  2566. Date: Sun Dec 28 18:18:27 2014 -0800
  2567. bumped version to 2.4rc
  2568. M configure.ac
  2569. M src/windows/config.h
  2570. M src/windows/gperftools/tcmalloc.h
  2571. commit c4dfdebc796c2e802db686a7eea483f3d31edbcf
  2572. Author: Aliaksey Kandratsenka <alk@tut.by>
  2573. Date: Sun Dec 28 17:53:02 2014 -0800
  2574. updated NEWS for gperftools 2.4rc
  2575. M NEWS
  2576. commit 0096be5f6f0bb2a01438ee78b7bb6158ffa5a1fb
  2577. Author: Aliaksey Kandratsenka <alk@tut.by>
  2578. Date: Sat Dec 20 17:17:41 2014 -0800
  2579. pprof: allow disabling auto-removal of "constant 2nd frame"
  2580. "constand 2nd frame" feature is supposed to detect and workaround
  2581. incorrect cpu profile stack captures where parts of or whole cpu
  2582. profiling signal handler frames are not skipped.
  2583. I've seen programs where this feature incorrectly removes non-signal
  2584. frames.
  2585. Plus it actually hides bugs in stacktrace capturing which we want be
  2586. able to spot.
  2587. There is now --no-auto-signal-frm option for disabling it.
  2588. M src/pprof
  2589. commit 4859d8020579cd8db8b1f8bc6af382104b38f96f
  2590. Author: Aliaksey Kandratsenka <alk@tut.by>
  2591. Date: Sat Dec 20 19:56:13 2014 -0800
  2592. cpuprofiler: drop correct number of signal handler frames
  2593. We actually have 3 and not 2 of them.
  2594. M src/profiler.cc
  2595. commit 812ab1ee7e4365e6a9568834c7e8f4aef10018fb
  2596. Author: Aliaksey Kandratsenka <alk@tut.by>
  2597. Date: Sat Dec 20 19:53:12 2014 -0800
  2598. pprof: eliminate duplicate top frames if dropping signal frames
  2599. In cpu profiles that had parts of signal handler we could have
  2600. situation like that:
  2601. * PC
  2602. * signal handler frame
  2603. * PC
  2604. Specifically when capturing stacktraces via libunwind.
  2605. For such stacktraces pprof used to draw self-cycle in functions
  2606. confusing everybody. Given that me might have a number of such
  2607. profiles in the wild it makes sense to treat that duplicate PC issue.
  2608. M src/pprof
  2609. commit e6e78315e4761ad121a5eeb4fdffe3571d81ac17
  2610. Author: Aliaksey Kandratsenka <alk@tut.by>
  2611. Date: Sat Dec 20 19:04:43 2014 -0800
  2612. cpuprofiler: better explain deduplication of top stacktrace entry
  2613. M src/profiler.cc
  2614. commit 24b8ec28464712bc124af5655ebf877fb3f79032
  2615. Author: Aliaksey Kandratsenka <alk@tut.by>
  2616. Date: Sat Dec 20 17:10:38 2014 -0800
  2617. cpuprofiler: disable capturing stacktrace from signal's ucontext
  2618. This was reported to cause problems due to libunwind occasionally
  2619. returning top level pc that is 1 smaller than real pc which causes
  2620. problems.
  2621. M src/stacktrace_libunwind-inl.h
  2622. commit 83588de7204124c8d60703f169c2f3af8aa0ce5f
  2623. Author: Aliaksey Kandratsenka <alk@tut.by>
  2624. Date: Sat Dec 20 17:04:10 2014 -0800
  2625. pprof: added support for dumping stacks in --text mode
  2626. Which is very useful for diagnosing stack capturing and processing
  2627. bugs.
  2628. M src/pprof
  2629. commit 2f29c9b06220ce6ad75d5ab2b98e9f63ade79eea
  2630. Author: Aliaksey Kandratsenka <alk@tut.by>
  2631. Date: Sat Dec 20 17:03:36 2014 -0800
  2632. pprof: made --show-addresses work
  2633. M src/pprof
  2634. commit b8b027d09a53dd6292d2f7c45aec40198628a808
  2635. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  2636. Date: Tue Dec 23 10:55:22 2014 -0200
  2637. Make PPC64 use 64K of internal page size for tcmalloc by default
  2638. This patch set the default tcmalloc internal page size to 64K when
  2639. built on PPC.
  2640. M configure.ac
  2641. commit 3f55d874be8812aef9f0f567048188584962b4c1
  2642. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  2643. Date: Tue Dec 23 10:29:49 2014 -0200
  2644. New configure flags to set the alignment and page size of tcmalloc
  2645. Added two new configure flags, --with-tcmalloc-pagesize and
  2646. --with-tcmalloc-alignment, in order to set the tcmalloc internal page
  2647. size and tcmalloc allocation alignment without the need of a compiler
  2648. directive and to make the choice of the page size independent of the
  2649. allocation alignment.
  2650. M INSTALL
  2651. M configure.ac
  2652. M src/common.h
  2653. commit 1035d5c18f64d114ac790b92a96f3b3a1a301eb9
  2654. Author: Aliaksey Kandratsenka <alk@tut.by>
  2655. Date: Sun Dec 21 19:52:34 2014 -0800
  2656. start building malloc_extension_c_test even with static linking
  2657. Comment in Makefile.am stating that it doesn't work with static
  2658. linking is not accurate anymore.
  2659. M Makefile.am
  2660. commit d570a6391cf4c5a5570e22ada5cf0b324c7b8dfd
  2661. Author: Aliaksey Kandratsenka <alk@tut.by>
  2662. Date: Sun Dec 21 19:33:25 2014 -0800
  2663. unbreak malloc_extension_c_test on clang
  2664. Looks like even force_malloc trick was not enough to force clang to
  2665. actually call malloc. I'm now calling tc_malloc directly to prevent
  2666. that smartness.
  2667. M src/tests/malloc_extension_c_test.c
  2668. commit 4ace8dbbe2e04da1029a539c72b90dee1724c33f
  2669. Author: Aliaksey Kandratsenka <alk@tut.by>
  2670. Date: Sun Dec 21 18:49:47 2014 -0800
  2671. added subdir-objects automake options
  2672. This is suggested by automake itself regarding future-compat.
  2673. M .gitignore
  2674. M Makefile.am
  2675. commit f72e37c3f99d942dd648e392abc65f294aa94fa8
  2676. Author: Aliaksey Kandratsenka <alk@tut.by>
  2677. Date: Sun Dec 21 18:27:03 2014 -0800
  2678. fixed C++ comment warning in malloc_extension_c.h from C compiler
  2679. M src/gperftools/malloc_extension_c.h
  2680. commit f94ff0cc0943c7b7bb9390f9d83a57c9d9e11fd0
  2681. Author: Aliaksey Kandratsenka <alk@tut.by>
  2682. Date: Sun Nov 9 14:41:36 2014 -0800
  2683. made AtomicOps_x86CPUFeatureStruct hidden
  2684. So that access to has_sse2 is faster under -fPIC.
  2685. M src/base/atomicops-internals-x86.h
  2686. commit 987a724c23df4b29eb457e96bb5c1bbab15dc90e
  2687. Author: Aliaksey Kandratsenka <alk@tut.by>
  2688. Date: Sun Nov 9 14:20:20 2014 -0800
  2689. dropped atopmicops workaround for irrelevant Opteron locking bug
  2690. It's not cheap at all when done in this way (i.e. without runtime
  2691. patching) and apparently useless.
  2692. It looks like Linux kernel never got this workaround at all. See
  2693. bugzilla ticket: https://bugzilla.kernel.org/show_bug.cgi?id=11305
  2694. And I see no traces of this workaround in glibc either.
  2695. On the other hand, opensolaris folks apparently still have it (or
  2696. something similar, based on comments on linux bugzilla) in their code:
  2697. https://github.com/illumos/illumos-gate/blob/32842aabdc7c6f8f0c6140a256cf42cf5404fefb/usr/src/uts/i86pc/os/mp_startup.c#L1136
  2698. And affected CPUs (if any) are from year 2008 (that's 6 years now).
  2699. Plus even if somebody still uses those cpus (which is unlikely), they
  2700. won't have working kernel and glibc anyways.
  2701. M src/base/atomicops-internals-x86.cc
  2702. M src/base/atomicops-internals-x86.h
  2703. commit 7da5bd014d77ddaf694054b1e3ae0a3ef92ab384
  2704. Author: Aliaksey Kandratsenka <alk@tut.by>
  2705. Date: Sat Dec 20 21:18:07 2014 -0800
  2706. enabled aggressive decommit by default
  2707. TCMALLOC_AGGRESSIVE_DECOMMIT=f is one way to disable it and
  2708. SetNumericProperty is another.
  2709. M src/static_vars.cc
  2710. M src/tests/tcmalloc_unittest.sh
  2711. commit 51b0ad55b3267caff6cd2d25815bfb913179b526
  2712. Author: Aliaksey Kandratsenka <alk@tut.by>
  2713. Date: Sun Nov 9 17:36:49 2014 -0800
  2714. added basic unit test for singular malloc hooks
  2715. M src/tests/malloc_extension_c_test.c
  2716. commit bce72dda078d2cb3e9745077f9903e642a966131
  2717. Author: Aliaksey Kandratsenka <alk@tut.by>
  2718. Date: Sun Nov 9 17:12:05 2014 -0800
  2719. inform compiler that tcmalloc allocation sampling is unlikely
  2720. Now compiler generates slightly better code which produces jump-less
  2721. code for common case of not sampling allocations.
  2722. M src/tcmalloc.cc
  2723. commit 4f051fddcd7af53e1607b6a4866ffa461a0033ef
  2724. Author: Aliaksey Kandratsenka <alk@tut.by>
  2725. Date: Sat Mar 15 13:18:28 2014 -0700
  2726. eliminated CheckIfKernelSupportsTLS
  2727. We don't care about pre-2.6.0 kernels anymore. So we can assume that
  2728. if compile time check worked, then at runtime it'll work.
  2729. M src/tcmalloc.cc
  2730. M src/thread_cache.cc
  2731. M src/thread_cache.h
  2732. M src/windows/port.cc
  2733. commit 81291ac3992ec7500faf2026c72feb80c9634dc3
  2734. Author: Aliaksey Kandratsenka <alk@tut.by>
  2735. Date: Sun Nov 9 16:48:45 2014 -0800
  2736. set elf visibility to hidden for malloc hooks
  2737. To speed up access to them under -fPIC.
  2738. M src/malloc_hook-inl.h
  2739. commit 105c004d0c84137f32cc71b8d3f7899fcc8c2e72
  2740. Author: Aliaksey Kandratsenka <alk@tut.by>
  2741. Date: Sun Nov 9 14:40:30 2014 -0800
  2742. introduced ATTRIBUTE_VISIBILITY_HIDDEN
  2743. So that we can disable elf symbol interposition for certain
  2744. perf-sensitive symbols.
  2745. M src/base/basictypes.h
  2746. commit 6a6c49e1f53df3d00a0661a86090534146ce686c
  2747. Author: Aliaksey Kandratsenka <alk@tut.by>
  2748. Date: Sun Nov 9 16:23:06 2014 -0800
  2749. replaced separate singular malloc hooks with faster HookList
  2750. Specifically, we can now check in one place if hooks are set at all,
  2751. instead of two places. Which makes fast path shorter.
  2752. M src/malloc_hook-inl.h
  2753. M src/malloc_hook.cc
  2754. commit ba0441785bae214566008e69adcd915800d9dbb3
  2755. Author: Aliaksey Kandratsenka <alk@tut.by>
  2756. Date: Sun Nov 9 16:13:54 2014 -0800
  2757. removed extra barriers in malloc hooks mutation methods
  2758. Because those are already done under spinlock and read-only and
  2759. lockless Traverse is already tolerant to slight inconsistencies.
  2760. M src/malloc_hook.cc
  2761. commit 890f34c77ef79dfe1e00ce36a3f91aee7fe759b7
  2762. Author: Aliaksey Kandratsenka <alk@tut.by>
  2763. Date: Sun Nov 9 16:08:59 2014 -0800
  2764. introduced support for deprecated singular hooks into HookList
  2765. So that we can later drop separate singular hooks.
  2766. M src/malloc_hook-inl.h
  2767. M src/malloc_hook.cc
  2768. commit 81ed7dff11de915b12c4111d403e52c81c786f82
  2769. Author: Aliaksey Kandratsenka <alk@tut.by>
  2770. Date: Sun Dec 7 13:33:40 2014 -0800
  2771. returned date of 2.3rc in NEWS back
  2772. M NEWS
  2773. commit 463a619408219fff8955d47a71de1aab31ebd129
  2774. Author: Aliaksey Kandratsenka <alk@tut.by>
  2775. Date: Sun Dec 7 12:53:35 2014 -0800
  2776. bumped version to 2.3
  2777. M configure.ac
  2778. M src/windows/config.h
  2779. M src/windows/gperftools/tcmalloc.h
  2780. commit 76e8138e12567e2ee1f638e8fcffadc2ca1de83d
  2781. Author: Aliaksey Kandratsenka <alk@tut.by>
  2782. Date: Sun Dec 7 12:46:49 2014 -0800
  2783. updated NEWS for gperftools 2.3
  2784. M NEWS
  2785. commit 8eb4ed785ae883acb6425fd980e9d3e6bdcab89d
  2786. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  2787. Date: Thu Nov 27 14:11:09 2014 -0200
  2788. Added option to disable libunwind linking
  2789. This patch adds a configure option to enable or disable libunwind
  2790. linking.
  2791. The patch also disables libunwind on ppc by default.
  2792. M configure.ac
  2793. commit 3b94031d21fac39ce5be820f4f8bc37626ed4c08
  2794. Author: Aliaksey Kandratsenka <alk@tut.by>
  2795. Date: Thu Nov 27 11:48:08 2014 -0800
  2796. compile libunwind unwinder only of __thread is supported
  2797. This fixed build on certain OSX that I have access to.
  2798. M src/stacktrace.cc
  2799. commit 3ace468202a8647a16134d0bb42fa497fa3ec0d4
  2800. Author: Aliaksey Kandratsenka <alk@tut.by>
  2801. Date: Thu Nov 27 10:43:11 2014 -0800
  2802. issue-658: correctly close socketpair fds when socketpair fails
  2803. This applies patch by glider.
  2804. M src/symbolize.cc
  2805. commit e7d5e512b068fb76f5eeed7985bebd9c0d14e226
  2806. Author: Aliaksey Kandratsenka <alk@tut.by>
  2807. Date: Sun Nov 2 20:02:12 2014 -0800
  2808. bumped version to 2.3rc
  2809. M configure.ac
  2810. M src/windows/config.h
  2811. M src/windows/gperftools/tcmalloc.h
  2812. commit 1d44d378513a8782c058833118b664f38214810b
  2813. Author: Aliaksey Kandratsenka <alk@tut.by>
  2814. Date: Sun Nov 2 19:38:29 2014 -0800
  2815. updated NEWS for gperftools 2.3rc
  2816. M NEWS
  2817. commit 1108d83cf4a1692fce3b736e16d3e98c33329177
  2818. Author: Aliaksey Kandratsenka <alk@tut.by>
  2819. Date: Sun Sep 7 13:09:14 2014 -0700
  2820. implemented cpu-profiling mode that profiles threads separately
  2821. Default mode of operation of cpu profiler uses itimer and
  2822. SIGPROF. This timer is by definition per-process and no spec defines
  2823. which thread is going to receive SIGPROF. And it provides correct
  2824. profiles only if we assume that probability of picking threads will be
  2825. proportional to cpu time spent by threads.
  2826. It is easy to see, that recent Linux (at least on common SMP hardware)
  2827. doesn't satisfy that assumption. Quite big skews of SIGPROF ticks
  2828. between threads is visible. I.e. I could see as big as 70%/20%
  2829. division instead of 50%/50% for pair of cpu-hog threads. (And I do see
  2830. it become 50/50 with new mode)
  2831. Fortunately POSIX provides mechanism to track per-thread cpu time via
  2832. posix timers facility. And even more fortunately, Linux also provides
  2833. mechanism to deliver timer ticks to specific threads.
  2834. Interestingly, it looks like FreeBSD also has very similar facility
  2835. and seems to suffer from same skew. But due to difference in a way
  2836. how threads are identified, I haven't bothered to try to support this
  2837. mode on FreeBSD.
  2838. This commit implements new profiling mode where every thread creates
  2839. posix timer which tracks thread's cpu time. Threads also also set up
  2840. signal delivery to itself on overflows of that timer.
  2841. This new mode requires every thread to be registered in cpu
  2842. profiler. Existing ProfilerRegisterThread function is used for that.
  2843. Because registering threads requires application support (or suitable
  2844. LD_PRELOAD-able wrapper for thread creation API), new mode is off by
  2845. default. And it has to be manually activated by setting environment
  2846. variable CPUPROFILE_PER_THREAD_TIMERS.
  2847. New mode also requires librt symbols to be available. Which we do not
  2848. link to due to librt's dependency on libpthread. Which we avoid due
  2849. to perf impact of bringing in libpthread to otherwise single-threaded
  2850. programs. So it has to be either already loaded by profiling program
  2851. or LD_PRELOAD-ed.
  2852. M Makefile.am
  2853. M configure.ac
  2854. M src/maybe_threads.cc
  2855. M src/maybe_threads.h
  2856. M src/profile-handler.cc
  2857. M src/tests/profile-handler_unittest.cc
  2858. commit 714bd93e42535e759716324a90fbb395506499d2
  2859. Author: Aliaksey Kandratsenka <alk@tut.by>
  2860. Date: Sun Aug 10 20:28:11 2014 -0700
  2861. drop workaround for too old redhat 7
  2862. Note that this is _not_ RHEL7 but original redhat 7 from early 2000s.
  2863. M configure.ac
  2864. commit 8de46e66fcd2577758ab297b553bb0f468d8a97a
  2865. Author: Aliaksey Kandratsenka <alk@tut.by>
  2866. Date: Sun Aug 10 19:38:07 2014 -0700
  2867. don't add leaf function twice to profile under libunwind
  2868. M src/profiler.cc
  2869. commit 2e5ee0488996437aeef2028ad95d969b56abcad1
  2870. Author: Aliaksey Kandratsenka <alk@tut.by>
  2871. Date: Sun Aug 10 12:19:45 2014 -0700
  2872. pprof: indicate if using remote profile
  2873. Missing profile file is common source of confusion. So a bit more
  2874. clarify is useful.
  2875. M src/pprof
  2876. commit 6efe96b41c9531f68f806faa0464445f884178ce
  2877. Author: Aliaksey Kandratsenka <alk@tut.by>
  2878. Date: Sat Oct 11 15:09:18 2014 -0700
  2879. issue-493: correctly detect __ARM_ARCH_6ZK__ for MemoryBarrier
  2880. Which should fix issue reported by user pedronavf
  2881. M src/base/atomicops-internals-arm-v6plus.h
  2882. commit 8e97626378d5c4151a480dea1964e25969c9311d
  2883. Author: Aliaksey Kandratsenka <alk@tut.by>
  2884. Date: Sun Nov 2 11:28:30 2014 -0800
  2885. issue-655: use safe getenv for aggressive decommit mode flag
  2886. Because otherwise we risk deadlock due to too early use of getenv on
  2887. windows.
  2888. M src/base/commandlineflags.h
  2889. M src/static_vars.cc
  2890. commit 8c3dc52fcfe02412a529769a22cbc75388a5d368
  2891. Author: Aliaksey Kandratsenka <alk@tut.by>
  2892. Date: Sat Oct 18 16:35:57 2014 -0700
  2893. issue-654: [pprof] handle split text segments
  2894. This applies patch by user simonb.
  2895. Quoting:
  2896. Relocation packing splits a single executable load segment into two.
  2897. Before:
  2898. LOAD 0x000000 0x00000000 0x00000000 0x2034d28 0x2034d28
  2899. R E 0x1000
  2900. LOAD 0x2035888 0x02036888 0x02036888 0x182d38 0x1a67d0
  2901. RW 0x1000
  2902. After:
  2903. LOAD 0x000000 0x00000000 0x00000000 0x14648 0x14648 R
  2904. E 0x1000
  2905. LOAD 0x014648 0x0020c648 0x0020c648 0x1e286e0 0x1e286e0
  2906. R E 0x1000
  2907. ...
  2908. LOAD 0x1e3d888 0x02036888 0x02036888 0x182d38 0x1a67d0
  2909. RW 0x1000
  2910. The .text section is in the second LOAD, and this is not at
  2911. offset/address zero. The result is that this library shows up in
  2912. /proc/self/maps as multiple executable entries, for example (note:
  2913. this trace is not from the library dissected above, but rather from an
  2914. earlier version of it):
  2915. 73b0c000-73b21000 r-xp 00000000 b3:19 786460
  2916. /data/.../libchrome.2160.0.so
  2917. 73b21000-73d12000 ---p 00000000 00:00 0
  2918. 73d12000-75a90000 r-xp 00014000 b3:19 786460
  2919. /data/.../libchrome.2160.0.so
  2920. 75a90000-75c0d000 rw-p 01d91000 b3:19 786460
  2921. /data/.../libchrome.2160.0.so
  2922. When parsing this, pprof needs to merge the two r-xp entries above
  2923. into a single entry, otherwise the addresses it prints are incorrect.
  2924. The following fix against 2.2.1 was sufficient to make pprof --text
  2925. print the correct output. Untested with other pprof options.
  2926. M src/pprof
  2927. commit 44c61ce6c4c713b194330641f400bbf64fd2abec
  2928. Author: Ricardo M. Correia <rcorreia@wizy.org>
  2929. Date: Wed Oct 8 04:39:14 2014 +0200
  2930. Fix parsing /proc/pid/maps dump in CPU profile data file
  2931. When trying to use pprof on my machine, the symbols of my program were
  2932. not being recognized.
  2933. It turned out that pprof, when calculating the offset of the text list
  2934. of mapped objects (the last section of the CPU profile data file), was
  2935. assuming that the slot size was always 4 bytes, even on 64-bit
  2936. machines.
  2937. This led to ParseLibraries() reading a lot of garbage data at the
  2938. beginning of the map, and consequently the regex was failing to
  2939. match on
  2940. the first line of the real (non-garbage) map.
  2941. M src/pprof
  2942. commit 2a28ef24ddf8013bff59914b10902f1fb07bf9b2
  2943. Author: Aliaksey Kandratsenka <alk@tut.by>
  2944. Date: Sat Sep 6 16:49:24 2014 -0700
  2945. Added remaining memory allocated info to 'Exiting' dump message
  2946. This applies patch by user yurivict.
  2947. M src/heap-profiler.cc
  2948. commit bbf346a856d4a7c5c2ab0e65d7cccf3dc1f23f13
  2949. Author: Adam McNeeney <adam@meliorist.co.uk>
  2950. Date: Fri Aug 22 10:01:24 2014 +0100
  2951. Cope with new addr2line outputs for DWARF4
  2952. Copes with ? for line number (converts to 0).
  2953. Copes with (discriminator <num>) suffixes to file/linenum (removes).
  2954. Change-Id: I96207165e4852c71d3512157864f12d101cdf44a
  2955. M src/pprof
  2956. commit b08d760958dbacc8da822f7f3db76d58c95a114d
  2957. Author: Aliaksey Kandratsenka <alk@tut.by>
  2958. Date: Sat Aug 23 14:45:08 2014 -0700
  2959. issue-641: Added --show_addresses option
  2960. This applies patch by user yurivict.
  2961. M src/pprof
  2962. commit 3c326d9f200a527bba45f1d222aa6aff20d42bc3
  2963. Author: Aliaksey Kandratsenka <alk@tut.by>
  2964. Date: Tue Aug 19 08:14:08 2014 -0700
  2965. issue-644: fix possible out-of-bounds access in GetenvBeforeMain
  2966. As suggested by user Ivan L.
  2967. M src/base/sysinfo.cc
  2968. commit f1ae3c446f34f6e8ac901caba281051ec269e4df
  2969. Author: jiakai <jia.kai66@gmail.com>
  2970. Date: Mon Jul 28 11:28:03 2014 -0700
  2971. Add an option to allow disabling stripping template argument in pprof
  2972. M src/pprof
  2973. commit a12890df2519d254d1c497b8e0a65bb8fc9e1ab2
  2974. Author: Aliaksey Kandratsenka <alk@tut.by>
  2975. Date: Sat Jul 26 14:12:42 2014 -0700
  2976. issue-635: allow whitespace in libraries paths
  2977. This applies change suggested by user mich...@sebesbefut.com
  2978. M src/pprof
  2979. commit d5e36788d8bc626403dc020a86213cfc740ee73d
  2980. Author: Aliaksey Kandratsenka <alk@tut.by>
  2981. Date: Sat Jul 26 13:59:22 2014 -0700
  2982. issue-636: fix prof/web command on Windows/MinGW
  2983. This applies patch sent by user chaishushan.
  2984. M src/pprof
  2985. commit 4b788656bb9c480640d917d27d8a94a5eae436f5
  2986. Author: Michael Pasieka <michael.pasieka@highwinds.com>
  2987. Date: Sun Jul 13 18:09:35 2014 -0700
  2988. added option to display stack traces in output for heap checker
  2989. Quoting from email:
  2990. I had the same question as William posted to stack overflow back on
  2991. Dec 9,2013: How to display symbols in stack trace of google-perftools
  2992. heap profiler (*). I dug into the source and realized the
  2993. functionality was not there but could be added. I am hoping that
  2994. someone else will find this useful/helpful.
  2995. The patch I created will not attach so I am adding below.
  2996. Enjoy!
  2997. -- Michael
  2998. *
  2999. http://stackoverflow.com/questions/20476918/how-to-display-symbols-in-stack-trace-of-google-perftools-heap-profiler
  3000. M src/pprof
  3001. commit 3abb5cb819bafe7004363f041c194afd827cb053
  3002. Author: WenSheng He <zhsBernie@gmail.com>
  3003. Date: Mon Jun 30 14:39:13 2014 +0800
  3004. issue-630: The env var should be "CPUPROFILE"
  3005. To enable cpu profile, the env var should be "CPUPROFILE", not
  3006. "PROFILE"
  3007. actually.
  3008. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  3009. M src/gperftools/profiler.h
  3010. commit fd81ec257883c6d5486e4568c955dff86dbed5c8
  3011. Author: Aliaksey Kandratsenka <alk@tut.by>
  3012. Date: Sat Jun 28 13:05:12 2014 -0700
  3013. issue-631: fixed miscompilation of debugallocation without mmap
  3014. This applies patch sent by user iamxujian.
  3015. Clearly, when I updated debugallocation to fix issue-464 I've broken
  3016. no-mmap path by forgetting closing brace.
  3017. M src/debugallocation.cc
  3018. commit 2e90b6fd72fec33aedf547d1977bdee6b77645b9
  3019. Author: Aliaksey Kandratsenka <alk@tut.by>
  3020. Date: Sat Jun 21 15:45:44 2014 -0700
  3021. bumped version to 2.2.1
  3022. M configure.ac
  3023. M src/windows/config.h
  3024. M src/windows/gperftools/tcmalloc.h
  3025. commit 577b940cc0a0ef207115d071a81127f93f02c083
  3026. Author: Aliaksey Kandratsenka <alk@tut.by>
  3027. Date: Sat Jun 21 15:39:46 2014 -0700
  3028. updated NEWS for 2.2.1
  3029. M NEWS
  3030. commit 2fe4b329ad4d3f242b0bd73295375e70be79187b
  3031. Author: Aliaksey Kandratsenka <alk@tut.by>
  3032. Date: Sun May 18 10:59:06 2014 -0700
  3033. applied chromium patch fixing some build issue on android
  3034. This applies patch from: https://codereview.chromium.org/284843002/ by
  3035. jungjik.lee@samsung.com
  3036. M src/libc_override_gcc_and_weak.h
  3037. commit c009398e3239be8ae6185ad83685caf7458c49bb
  3038. Author: Aliaksey Kandratsenka <alk@tut.by>
  3039. Date: Sun Jun 15 12:53:14 2014 -0700
  3040. issue-628:package missing stacktrace_powerpc-{linux,darwin}-inl.h
  3041. This headers were missing in .tar.gz because they were not mentioned
  3042. anywhere in Makefile.am.
  3043. M Makefile.am
  3044. commit 81d99f21ede78ab8d5fec15d0055416ac1b581f3
  3045. Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
  3046. Date: Tue Jun 3 07:50:56 2014 -0500
  3047. issue-626: Fix SetupAggressiveDecommit initialization
  3048. This patch fixes the SetupAggressiveDecommit initialization to
  3049. run after
  3050. pageheap_ creation. Current code it not enforcing it, since
  3051. InitStaticVars is being called outside the static_vars module.
  3052. M src/static_vars.cc
  3053. commit 846b775dfadb77901202ae7ddbac30ad1de7df01
  3054. Author: Aliaksey Kandratsenka <alk@tut.by>
  3055. Date: Sat May 3 17:50:11 2014 -0700
  3056. bumped version to 2.2
  3057. M configure.ac
  3058. M src/windows/config.h
  3059. M src/windows/gperftools/tcmalloc.h
  3060. commit cdf8e1e932016bd5f1737e1f10bce07226228d15
  3061. Author: Aliaksey Kandratsenka <alk@tut.by>
  3062. Date: Sat May 3 17:44:38 2014 -0700
  3063. updated NEWS for 2.2
  3064. M NEWS
  3065. commit 0807476f56b9dc024375467be0f0b07fae3ee7fb
  3066. Author: Aliaksey Kandratsenka <alk@tut.by>
  3067. Date: Sat May 3 17:38:14 2014 -0700
  3068. issue-620: windows dll patching: fixed delete of old stub code
  3069. After code for issue 359 was applied PreamblePatcher started using
  3070. it's own code to manage memory of stub code fragments. It's not using
  3071. new[] anymore. And it automatically frees stub code memory on
  3072. Unpatch.
  3073. Clearly, author of that code forgot to remote that no more needed
  3074. delete call. With that delete call we end up trying to free memory
  3075. that was never allocated with any of known allocators and crash.
  3076. M src/windows/patch_functions.cc
  3077. commit facd7e83b341e069875b7c1cd7774cf671d932b5
  3078. Author: Aliaksey Kandratsenka <alk@tut.by>
  3079. Date: Sat Apr 19 11:08:51 2014 -0700
  3080. bumped version to 2.1.90
  3081. M configure.ac
  3082. M src/windows/config.h
  3083. M src/windows/gperftools/tcmalloc.h
  3084. commit e8e082af25952e9bd10c37c3f028c91fcbbd1cbd
  3085. Author: Aliaksey Kandratsenka <alk@tut.by>
  3086. Date: Sat Apr 19 13:16:02 2014 -0700
  3087. updated NEWS for 2.2rc
  3088. M NEWS
  3089. commit 802fdb739e7aabcb15443030842a2137a5559338
  3090. Author: Aliaksey Kandratsenka <alk@tut.by>
  3091. Date: Sat Apr 12 18:07:11 2014 -0700
  3092. issue-610: use TCMallocGetenvSafe from inside malloc
  3093. Instead of plain getenv. So that windows getenv implementation that
  3094. may call malloc does not deadlock.
  3095. M src/common.cc
  3096. M src/thread_cache.cc
  3097. commit 6b83516adefcf0806825f6dba2eb2232615d744b
  3098. Author: Aliaksey Kandratsenka <alk@tut.by>
  3099. Date: Sat Apr 12 18:06:32 2014 -0700
  3100. issue-610: made dynamic_annotations.c use TCMallocGetenvSafe
  3101. M src/base/dynamic_annotations.c
  3102. commit aeef3b44201ba663c19ca1c97792b724346e84a9
  3103. Author: Aliaksey Kandratsenka <alk@tut.by>
  3104. Date: Sat Apr 12 18:05:59 2014 -0700
  3105. issue-610: introduced TCMallocGetenvSafe
  3106. This is version of GetenvBeforeMain that's available to C code.
  3107. M Makefile.am
  3108. M src/base/sysinfo.cc
  3109. A src/getenv_safe.h
  3110. commit 125e5ed58b72550e6b74e0139c2c3dd5e262a6ec
  3111. Author: Aliaksey Kandratsenka <alk@tut.by>
  3112. Date: Sat Apr 12 12:38:19 2014 -0700
  3113. don't enable backtrace() for stacktrace capturing by default
  3114. Because we don't yet have a treatment for deadlocks that are caused by
  3115. (recursive) use of malloc from within that facility.
  3116. M configure.ac
  3117. commit 75b65f96b0bb44d70e0a461a03a3f8c928390283
  3118. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  3119. Date: Tue Apr 8 17:45:13 2014 -0300
  3120. PowerPC: stacktrace function refactor and fixes
  3121. This patch fixes the stacktrace creating when the function is
  3122. interrupted by a signal. For Linux, the vDSO signal trampoline
  3123. symbol is
  3124. compared against LR from stack backchain and handled different in that
  3125. case (since the signal trampoline layout a different stack frame).
  3126. Because of this extensive change the PowerPC stacktrace code has now
  3127. been refactored to split in Linux and Darwin specific codes.
  3128. M src/stacktrace.cc
  3129. A src/stacktrace_powerpc-darwin-inl.h
  3130. A src/stacktrace_powerpc-linux-inl.h
  3131. commit 8deea9ff2a3e6eef8af64ea0727d6cb840c13769
  3132. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  3133. Date: Tue Apr 8 17:44:08 2014 -0300
  3134. VDSOsupport cleanup
  3135. This patch cleans up unused VDSO getcpu racking from VDSOsupport
  3136. class,
  3137. since the code is not used anywhere in gperftools and symbol name
  3138. is not
  3139. architecture independent.
  3140. M src/base/vdso_support.cc
  3141. M src/base/vdso_support.h
  3142. commit 9d5e1a0aa5a6ad1c7af18b65016fa5c9b7fccb47
  3143. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  3144. Date: Tue Apr 8 17:43:11 2014 -0300
  3145. Fixed issues with heap checker on PPC64 LE.
  3146. Fixed the wrapper for the syscall sys_clone and the test for heap
  3147. checker on PPC64 LE. Both use the ODP structure, which is only
  3148. used on BE architectures.
  3149. M src/base/linux_syscall_support.h
  3150. M src/tests/heap-checker_unittest.cc
  3151. commit 49237462c8ae7920332c1034c623e57b50a6109c
  3152. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  3153. Date: Tue Apr 8 17:42:17 2014 -0300
  3154. Fixed the way that pprof packed profile data in BE.
  3155. pprof was writing profile data in a way that only works for
  3156. little-endian
  3157. files, this patch verifies if the system is big-endian and writes
  3158. packed
  3159. data correctly.
  3160. M src/pprof
  3161. commit a1ae66ef110bd87ff97903e86fd84c745db24646
  3162. Author: Raphael Moreira Zinsly <rzinsly@linux.vnet.ibm.com>
  3163. Date: Tue Apr 8 17:37:29 2014 -0300
  3164. Fixed the use of addr2line to discover the separator symbol.
  3165. In systems where addr2line has a version greater than 2.22 pprof fails
  3166. in discover the separator symbol (_fini). This patch identifies if
  3167. addr2line can find the symbol, otherwise pprof uses objdump to recover
  3168. a address that addr2line's newer versions can recognize as the
  3169. separator
  3170. function.
  3171. M src/pprof
  3172. commit 8b2e5ee831760a94bc407dc255a522eda242b04f
  3173. Author: Aliaksey Kandratsenka <alk@tut.by>
  3174. Date: Tue Apr 1 22:29:11 2014 -0700
  3175. issue-614: use tc_memalign in ReallocAfterMemalloc test
  3176. Because some OSes lack plain memalign. And we really need to test our
  3177. implementation which is always available via tc_malloc.
  3178. M configure.ac
  3179. M src/tests/debugallocation_test.cc
  3180. commit 0399af1019240e2d9127a588ddc8e31ff4656df0
  3181. Author: Aliaksey Kandratsenka <alk@tut.by>
  3182. Date: Tue Apr 1 21:30:27 2014 -0700
  3183. added tc_malloc_skip_new_handler
  3184. This is port of corresponding chromium change at:
  3185. https://codereview.chromium.org/55333002/
  3186. Basic idea is that sometimes apps that use tc_set_new_mode in order to
  3187. have C++ out-of-memory handler catch OOMs in malloc, need to invoke
  3188. usual malloc that returns 0 on OOM.
  3189. That new API is exactly for that. It'll always return NULL on OOM even
  3190. if tc_new_mode is set to true.
  3191. M src/debugallocation.cc
  3192. M src/gperftools/tcmalloc.h.in
  3193. M src/tcmalloc.cc
  3194. M src/tests/tcmalloc_unittest.cc
  3195. M src/windows/gperftools/tcmalloc.h
  3196. M src/windows/gperftools/tcmalloc.h.in
  3197. commit d77317247e1c8de1ea4e0419318b26f636e64431
  3198. Author: Aliaksey Kandratsenka <alk@tut.by>
  3199. Date: Sat Mar 1 12:13:02 2014 -0800
  3200. issue deprecation warning on use of google/ headers
  3201. M src/google/heap-checker.h
  3202. M src/google/heap-profiler.h
  3203. M src/google/malloc_extension.h
  3204. M src/google/malloc_extension_c.h
  3205. M src/google/malloc_hook.h
  3206. M src/google/malloc_hook_c.h
  3207. M src/google/profiler.h
  3208. M src/google/stacktrace.h
  3209. M src/google/tcmalloc.h
  3210. commit e7297f0c14b0c09ec52707ed7477c7aee43a1882
  3211. Author: Aliaksey Kandratsenka <alk@tut.by>
  3212. Date: Sat Mar 15 12:44:11 2014 -0700
  3213. speed up MallocExtension::instance()
  3214. It was reported that pthread_once is expensive, especially on ppc.
  3215. In new implementation in hot path instead of doing potentially
  3216. expensive atomic read with barrier, we do just plain read.
  3217. It's slightly less robust than older implementation, but it should be
  3218. faster.
  3219. New code is making assumption that programs do not spawn threads
  3220. before main() is called. And therefore all variables & modules are
  3221. initialized before threads are created. Which looks like pretty safe
  3222. assumption. With that assumption, doing plain read is safe, because
  3223. current_instance is initialized as part of module init and therefore
  3224. before threads are spawned.
  3225. This patch is based on feedback of Adhemerval Zanella.
  3226. M src/malloc_extension.cc
  3227. commit df227794361f9725eca7420d95e65ab997c79716
  3228. Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
  3229. Date: Sun Feb 2 19:32:37 2014 -0200
  3230. Fix getpc_test for PPC64v2 LE
  3231. This patch fix the PPC64 guard to get the function address for
  3232. PPC64v2.
  3233. It removes the use of an indirection (to get the ODP text address),
  3234. since the PPCv2 does not have function descriptors.
  3235. M src/tests/getpc_test.cc
  3236. commit e3deb42d5dcdeeb8a340d03f207f2488ef3fb2eb
  3237. Author: Aliaksey Kandratsenka <alk@tut.by>
  3238. Date: Sat Mar 29 13:28:01 2014 -0700
  3239. issue-613: remove friend declaration from HeapLeakChecker
  3240. This applies patch by davide.italiano@10gen.com:
  3241. heap-checker.h contains the following friend declaration of main:
  3242. friend int main(int, char**).
  3243. C99 allows another declaration of main, i.e. int main(int, char**,
  3244. char**), and if code uses it and includes the heap-checker header,
  3245. this might result in a conflict, e.g.
  3246. error: declaration of C function 'int main(int, char**, char**)'
  3247. conflicts with
  3248. int main(int argc, char* argv[], char** envp)
  3249. Actually the comment above the friend declaration of main() mentions
  3250. that this is required to get the unittest working and for other
  3251. internal usage, but I'm not completely sure if this is true as long as
  3252. I'm able to build and run the unittest removing the declaration.
  3253. M src/gperftools/heap-checker.h
  3254. commit 1a28754656bd6dfc1297d62a4c5811b0a5f03180
  3255. Author: Aliaksey Kandratsenka <alk@tut.by>
  3256. Date: Sat Mar 29 13:23:00 2014 -0700
  3257. issue-612: added missing include for std::min
  3258. Otherwise Visual Studio 2013 rightfully complains
  3259. M src/windows/system-alloc.cc
  3260. commit fe566314267fc3f67c5068d0afe004b1733ff19a
  3261. Author: Aliaksey Kandratsenka <alk@tut.by>
  3262. Date: Sat Mar 1 12:38:08 2014 -0800
  3263. unbreak building with libunwind
  3264. Caused by premature merging of previous patch.
  3265. When we're searching for backtrace in libexecinfo and don't find it,
  3266. we should not reset UNWIND_LIBS to empty value.
  3267. Correct fix is to first search for backtrace in libunwind and then to
  3268. search for it in libexecinfo.
  3269. M configure.ac
  3270. commit 91179961490a601f2c611889b3075e995fa5437e
  3271. Author: Thomas Klausner <wiz@NetBSD.org>
  3272. Date: Tue Feb 25 21:41:28 2014 +0100
  3273. Look for backtrace() in libexecinfo as well.
  3274. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  3275. M configure.ac
  3276. commit fd3379a213b2a99a72a7544b6208056daf15d0d2
  3277. Author: Thomas Klausner <wiz@NetBSD.org>
  3278. Date: Tue Feb 25 21:41:07 2014 +0100
  3279. Fix unportable test(1) construct.
  3280. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  3281. M configure.ac
  3282. commit a7223c2a14431ffd783117c55f84a2c84423d313
  3283. Author: Thomas Klausner <wiz@NetBSD.org>
  3284. Date: Tue Feb 25 21:40:11 2014 +0100
  3285. Test for memalign in configure.ac. Disable a test that uses memalign
  3286. if it is not found.
  3287. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  3288. M configure.ac
  3289. M src/tests/debugallocation_test.cc
  3290. commit bd9665ebbe1aca5e1ba993de4214e64ee8bbe43a
  3291. Author: Aliaksey Kandratsenka <alk@tut.by>
  3292. Date: Sat Feb 22 13:46:42 2014 -0800
  3293. issue-489: added tcmalloc test pass with chromium-style decommit
  3294. M src/tests/tcmalloc_unittest.sh
  3295. commit 6a000d6dd5968ac29f8fc43f7dfc736338e11781
  3296. Author: Aliaksey Kandratsenka <alk@tut.by>
  3297. Date: Sat Feb 22 13:46:11 2014 -0800
  3298. issue-489: added unit test for chromium-style decommitting
  3299. M src/tests/tcmalloc_unittest.cc
  3300. commit eb2d69014cb3e163f2ab3ed676fbedf5c3a97caa
  3301. Author: Aliaksey Kandratsenka <alk@tut.by>
  3302. Date: Sat Feb 22 13:10:08 2014 -0800
  3303. issue-489: made tests pass on enabled chromium-style decommitting
  3304. M src/tests/tcmalloc_unittest.cc
  3305. commit a92fc76f72318f7a46e91d9ef6dd24f2bcf44802
  3306. Author: Aliaksey Kandratsenka <alk@tut.by>
  3307. Date: Sat Feb 22 13:09:05 2014 -0800
  3308. issue-489: enable chromium-style decommitting on env variable
  3309. TCMALLOC_AGGRESSIVE_DECOMMIT=t now enables aggressive decommitting by
  3310. default.
  3311. M src/static_vars.cc
  3312. commit c7ce50cd04ea08bd20d4ea4b2924e6a4451d2565
  3313. Author: Aliaksey Kandratsenka <alk@tut.by>
  3314. Date: Sat Nov 9 17:35:24 2013 -0800
  3315. issue-489: implemented API to set chromium-style de-committing
  3316. Chrome has code to decommit (release back to OS) every span that's
  3317. released. I don't want to make it default, but indeed some
  3318. applications may want to enable this mode.
  3319. The code itself is taken from 2-way-merging of code from Chromium
  3320. fork.
  3321. M src/page_heap.cc
  3322. M src/page_heap.h
  3323. M src/tcmalloc.cc
  3324. commit 1d707cd4a3dfe6f238a530f945291acfd5995042
  3325. Author: Aliaksey Kandratsenka <alk@tut.by>
  3326. Date: Sat Nov 9 17:19:34 2013 -0800
  3327. issue-489: fixed warning
  3328. Computing certain values just for ASSERT raises just warning from
  3329. compiler because if NDEBUG is set those are dead code.
  3330. M src/page_heap.cc
  3331. commit 91bffcbad60d84beebe8b69a1db6c85c10fc04bf
  3332. Author: Aliaksey Kandratsenka <alk@tut.by>
  3333. Date: Sat Nov 9 16:22:35 2013 -0800
  3334. issue-489: ported chromium windows decommitting code
  3335. I tried to do it cleanly with merges but chromium code has so many
  3336. relevant commits (with frequent reverts) that makes it near
  3337. impossible.
  3338. Simpler 2-way emerge-files worked in the end. I've removed chromium's
  3339. aggressive 'always decommit' behavior which I want to make optional
  3340. later.
  3341. Majority of this work is the following commits (but there are more,
  3342. particularly against port.cc):
  3343. commit 9c92338c5f8770c440799d24387c3733fd6d826b
  3344. Author: jamesr@chromium.org
  3345. <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
  3346. Date: Tue Oct 6 18:33:31 2009 +0000
  3347. Tracks the amount of committed vs uncommitted memory in tcmalloc's
  3348. page heap's freelists
  3349. Keeps track of the number of reserved but not committed pages in
  3350. the freelist and uses that to calculate a waste metric, which is
  3351. the ratio of committed pages vs pages used by the application.
  3352. This is exposed in the GetStats() call (which is used for
  3353. about:tcmalloc) and through GetNumericalProperty() in Malloc
  3354. BUG=none
  3355. TEST=open about:tcmalloc and monitor 'WASTE' columns while using
  3356. the browser
  3357. Review URL: http://codereview.chromium.org/251065
  3358. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28133
  3359. 0039d316-1c4b-4281-b951-d872f2087c98
  3360. commit aef4f1be3eec2059a7c6e2c106050a5f3d6ccf12
  3361. Author: jar@chromium.org
  3362. <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
  3363. Date: Mon Oct 5 17:58:51 2009 +0000
  3364. Revert further back to MBelshe's baseline forking TCMalloc
  3365. This changes to decommitting in all paths through the
  3366. page_heap delete method (which adds spans to the free lists).
  3367. r=mbelshe,jamesr
  3368. Review URL: http://codereview.chromium.org/255067
  3369. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28006
  3370. 0039d316-1c4b-4281-b951-d872f2087c98
  3371. commit e94afbb913b95f512cb8745a2729c73f82b15ae7
  3372. Author: jar@chromium.org
  3373. <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
  3374. Date: Thu Oct 1 00:25:41 2009 +0000
  3375. Rollback Scavenge implemetation and rely on existing functionality
  3376. to free
  3377. This is a landing of a patch provided by antonm. See:
  3378. http://codereview.chromium.org/235022
  3379. Also included change to browser_about_handler.cc to fix build,
  3380. and I set
  3381. TCMALLOC_RELEASE_RATE to 1.0 on line 40 of page_heap.cc (I
  3382. think this
  3383. was an inadvertent rollback element).
  3384. r=antonm
  3385. Review URL: http://codereview.chromium.org/257009
  3386. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27692
  3387. 0039d316-1c4b-4281-b951-d872f2087c98
  3388. commit c585892d2c42a47c95d06a684a6685156c545403
  3389. Author: mbelshe@google.com
  3390. <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
  3391. Date: Wed Sep 2 17:33:23 2009 +0000
  3392. Landing for Anton Muhin's tcmalloc patch:
  3393. http://codereview.chromium.org/180021/show
  3394. Restore decommitting in IncrementalScavenge and draft Scavenge
  3395. method to
  3396. be invoked periodically
  3397. to reduce amount of committed pages.
  3398. BUG=none
  3399. TEST=none
  3400. Review URL: http://codereview.chromium.org/187008
  3401. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25188
  3402. 0039d316-1c4b-4281-b951-d872f2087c98
  3403. commit 14239acc00731e94736ac62e80fc6b17c31ea131
  3404. Author: mbelshe@google.com
  3405. <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
  3406. Date: Wed Aug 12 02:17:14 2009 +0000
  3407. Major changes to the Chrome allocator.
  3408. Changes include:
  3409. * Fix tcmalloc to release memory. Implements the
  3410. TCMalloc_SystemCommit()
  3411. mechanism so that tcmalloc can implement SystemRelease()
  3412. and later
  3413. reuse that memory.
  3414. * Enable dynamic switching of allocators based on an environment
  3415. variable.
  3416. Users can now switch between tcmalloc, jemalloc, the default
  3417. windows
  3418. heap, and the windows low-fragmentation heap.
  3419. * Implements set_new_mode() across all allocators so that we
  3420. can be sure
  3421. that out-of-memory conditions are handled safely.
  3422. BUG=18345
  3423. TEST=none; plan to get all unit tests running through these
  3424. allocators.
  3425. Review URL: http://codereview.chromium.org/165275
  3426. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23140
  3427. 0039d316-1c4b-4281-b951-d872f2087c98
  3428. M src/page_heap.cc
  3429. M src/page_heap.h
  3430. M src/system-alloc.cc
  3431. M src/system-alloc.h
  3432. M src/windows/system-alloc.cc
  3433. commit 7be2edfe7f09e7e8c123e958742815784a718880
  3434. Author: Aliaksey Kandratsenka <alk@tut.by>
  3435. Date: Sat Feb 22 12:14:11 2014 -0800
  3436. issue-525: only warn if --enable-frame-pointers are not given
  3437. This fixes issue when frame pointers warning is given even if frame
  3438. pointers are enabled
  3439. M configure.ac
  3440. commit 7e24b6ca2aa2c15a24504c02fad09f47e1ece8b5
  3441. Author: Aliaksey Kandratsenka <alk@tut.by>
  3442. Date: Sun Feb 16 17:04:26 2014 -0800
  3443. added debugallocation check for offset_ corruption
  3444. It was previously possible (although unlikely) for damaged offset_
  3445. field
  3446. to lead FromRawPointer implementation into different MallocBlock.
  3447. As is usual with any damage, it's best to catch errors at earliest
  3448. possible time.
  3449. M src/debugallocation.cc
  3450. commit 6dcd73f1eb5ce2cc44ab918c53cd42c472f44c52
  3451. Author: Aliaksey Kandratsenka <alk@tut.by>
  3452. Date: Sun Feb 16 16:59:43 2014 -0800
  3453. avoid crash in DebugMallocImplementation::GetOwnership
  3454. It was possible that if GetOwnership is passed pointer to memory not
  3455. owned by tcmalloc, it would crash. Or incorrectly return
  3456. owned. I.e. due to indirection in FromRawPointer.
  3457. New implementation prevents that, but introduces different bug
  3458. instead. New implementation incorrectly returns "not owned" for
  3459. memalign chunks with big alignment. But in can be argued that passing
  3460. pointer returned from different memalign implementation did not work
  3461. previously too.
  3462. M src/debugallocation.cc
  3463. commit 33280ffb71fc0e4eb75e455d53824c344d011e35
  3464. Author: Aliaksey Kandratsenka <alk@tut.by>
  3465. Date: Sun Feb 16 16:25:14 2014 -0800
  3466. removed unused "using" in malloc_extension_test.cc
  3467. M src/tests/malloc_extension_test.cc
  3468. commit 066e524d6e33e9e3364bb6819f98a02b347c14ef
  3469. Author: Aliaksey Kandratsenka <alk@tut.by>
  3470. Date: Sun Feb 16 14:58:35 2014 -0800
  3471. eliminated useless BASE_XXX defines in debugallocation.cc
  3472. And closed TODO entry for that.
  3473. M src/debugallocation.cc
  3474. commit a2375a1f360c0451ec2a2b852ea26a71fb731727
  3475. Author: Aliaksey Kandratsenka <alk@tut.by>
  3476. Date: Sun Feb 16 14:49:57 2014 -0800
  3477. issue-464: correctly handle realloc after memalign in debugalloc
  3478. debug memalign is creating special header block to allow us to find
  3479. real allocated block. And previous implementation of data copying
  3480. wasn't taking that into account and was copying that "alignment
  3481. header" into newly allocated block.
  3482. M src/debugallocation.cc
  3483. M src/tests/debugallocation_test.cc
  3484. commit d31f522f0e1b0e87ee3d5941e331ba745a0f5c23
  3485. Author: Riku Voipio <riku.voipio@linaro.org>
  3486. Date: Mon Feb 3 16:31:32 2014 +0200
  3487. Add aarch64 defines
  3488. With atomic operations and system call support in place, enable
  3489. with __aarch64__ defines Aarch64 support in other files around
  3490. the google-perftools header files. After these, google-perftools
  3491. testsuite (make check) results:
  3492. 8 of 46 tests failed.
  3493. FAIL: sampling_test.sh
  3494. FAIL: heap-profiler_unittest.sh
  3495. FAIL: heap-checker_unittest.sh
  3496. FAIL: heap-checker-death_unittest.sh
  3497. FAIL: sampling_debug_test.sh
  3498. FAIL: heap-profiler_debug_unittest.sh
  3499. FAIL: heap-checker_debug_unittest.sh
  3500. FAIL: profiler_unittest.sh
  3501. While it indicates that there is still work to do, This is still
  3502. better than the result I get on ARMv7:
  3503. 12 of 46 tests failed.
  3504. M src/base/basictypes.h
  3505. M src/base/cycleclock.h
  3506. M src/base/linuxthreads.h
  3507. M src/malloc_hook_mmap_linux.h
  3508. commit 15b5e7a35c83ce5d38fa523f2c291a2ac30bb8ed
  3509. Author: Riku Voipio <riku.voipio@linaro.org>
  3510. Date: Tue Feb 4 11:09:47 2014 +0200
  3511. linux_syscall_support.h: add aarch64 support
  3512. Aarch64 support for linux_syscall_support.h. Since Aarch64 is a brand
  3513. new architecture, none of the legacy system calls are neccesarily
  3514. available. Thus some changes were neccesary affect other architectures
  3515. as well:
  3516. 1) use getdents64 where available and else getdents (for ppc64)
  3517. 2) other legacy system calls, pipe, waitpid and open replaced
  3518. by pipe2,
  3519. wait4 and openat where available.
  3520. 3) use fstatat if stat is not available.
  3521. The aarch64 system call interface follows the Aarch64 calling
  3522. convention
  3523. (regs x0-x5 for arguments and x8 system call number - return in x0).
  3524. Clone implementation is adapted from glibc.
  3525. v2: step back in getdents removal due to ppc64
  3526. M src/base/linux_syscall_support.h
  3527. M src/base/linuxthreads.cc
  3528. commit b5e584dfdc22328f713488311707f502aa77ff5f
  3529. Author: Aliaksey Kandratsenka <alk@tut.by>
  3530. Date: Sun Feb 16 19:41:37 2014 -0800
  3531. issue-525: warn user on lack of libunwind but don't fail
  3532. Because we now have access to other backtrace capturing method(s) at
  3533. runtime.
  3534. M configure.ac
  3535. commit 90ba15d1f2f6704af96f62ce1e8c5f214697bab1
  3536. Author: Aliaksey Kandratsenka <alk@tut.by>
  3537. Date: Sat Feb 8 15:30:36 2014 -0800
  3538. issue-604: implement runtime-selectable stacktrace capturing
  3539. We're now building all supported stacktrace capturing methods. And
  3540. there's now a way to select at runtime which method is used.
  3541. M Makefile.am
  3542. M configure.ac
  3543. M src/stacktrace.cc
  3544. M src/stacktrace_arm-inl.h
  3545. D src/stacktrace_config.h
  3546. M src/stacktrace_generic-inl.h
  3547. C055 src/stacktrace.cc src/stacktrace_impl_setup-inl.h
  3548. M src/stacktrace_instrument-inl.h
  3549. M src/stacktrace_libunwind-inl.h
  3550. M src/stacktrace_powerpc-inl.h
  3551. M src/stacktrace_win32-inl.h
  3552. M src/stacktrace_x86-inl.h
  3553. commit 33f6781d64af88ea23698a084188d8c2ab94ecb1
  3554. Author: Aliaksey Kandratsenka <alk@tut.by>
  3555. Date: Sun Feb 16 18:47:04 2014 -0800
  3556. issue-605: avoid compilation errors if pthread_key_t is pointer
  3557. Which seems to be the case on later cygwin
  3558. M src/maybe_threads.cc
  3559. commit 100f310088aa30d347cd5d07bbe9d9f80cf2c2d0
  3560. Author: Aliaksey Kandratsenka <alk@tut.by>
  3561. Date: Sun Feb 16 18:27:14 2014 -0800
  3562. unbreak make dist
  3563. M Makefile.am
  3564. commit a0ed9ace534372fbeee9bfefd6e26b922f0a1835
  3565. Author: Wang YanQing <udknight@gmail.com>
  3566. Date: Tue Feb 11 23:20:31 2014 +0800
  3567. debugallocation: fix bus error on mipsel-linux platform when enable
  3568. use_malloc_page_fence
  3569. Fix below "BUS ERROR" issue:
  3570. a0 hold start address of memory block allocated by DebugAllocate
  3571. in debugallocation.cc
  3572. gdb) info registers
  3573. zero at v0 v1 a0 a1
  3574. a2 a3
  3575. R0 00000000 10008700 772f62a0 00084d40 766dcfef 7fb5f420 00000000
  3576. 004b4dd8
  3577. t0 t1 t2 t3 t4 t5
  3578. t6 t7
  3579. R8 7713c1a0 7712dbc0 ffffffff 777bc000 f0000000 00000001 00000000
  3580. 00403d10
  3581. s0 s1 s2 s3 s4 s5
  3582. s6 s7
  3583. R16 7fb5ff1c 00401b9c 77050020 7fb5fb18 00000000 004cb008 004ca748
  3584. ffffffff
  3585. t8 t9 k0 k1 gp sp
  3586. s8 ra
  3587. R24 0000002f 771adcd4 00000000 00000000 771f4140 7fb5f408 7fb5f430
  3588. 771add6c
  3589. sr lo hi bad cause pc
  3590. 00008713 0000e9fe 00000334 766dcff7 00800010 771adcfc
  3591. fsr fir
  3592. 00000004 00000000
  3593. (gdb) disassemble
  3594. Dump of assembler code for function _ZNSs4_Rep10_M_disposeERKSaIcE:
  3595. 0x771adcd4 <+0>: lui gp,0x4
  3596. 0x771adcd8 <+4>: addiu gp,gp,25708
  3597. 0x771adcdc <+8>: addu gp,gp,t9
  3598. 0x771adce0 <+12>: lw v0,-28696(gp)
  3599. 0x771adce4 <+16>: beq a0,v0,0x771add38
  3600. <_ZNSs4_Rep10_M_disposeERKSaIcE+100>
  3601. 0x771adce8 <+20>: nop
  3602. 0x771adcec <+24>: lw v0,-30356(gp)
  3603. 0x771adcf0 <+28>: beqzl v0,0x771add1c
  3604. <_ZNSs4_Rep10_M_disposeERKSaIcE+72>
  3605. 0x771adcf4 <+32>: lw v0,8(a0)
  3606. 0x771adcf8 <+36>: sync
  3607. => 0x771adcfc <+40>: ll v0,8(a0)
  3608. 0x771add00 <+44>: addiu at,v0,-1
  3609. 0x771add04 <+48>: sc at,8(a0)
  3610. 0x771add08 <+52>: beqz at,0x771adcfc
  3611. <_ZNSs4_Rep10_M_disposeERKSaIcE+40>
  3612. 0x771add0c <+56>: nop
  3613. 0x771add10 <+60>: sync
  3614. 0x771add14 <+64>: b 0x771add24
  3615. <_ZNSs4_Rep10_M_disposeERKSaIcE+80>
  3616. 0x771add18 <+68>: nop
  3617. 0x771add1c <+72>: addiu v1,v0,-1
  3618. 0x771add20 <+76>: sw v1,8(a0)
  3619. 0x771add24 <+80>: bgtz v0,0x771add38
  3620. <_ZNSs4_Rep10_M_disposeERKSaIcE+100>
  3621. 0x771add28 <+84>: nop
  3622. 0x771add2c <+88>: lw t9,-27072(gp)
  3623. 0x771add30 <+92>: jr t9
  3624. 0x771add34 <+96>: nop
  3625. 0x771add38 <+100>: jr ra
  3626. 0x771add3c <+104>: nop
  3627. End of assembler dump.
  3628. ll instruction manual:
  3629. Load Linked:
  3630. Loads the destination register with the contents of the word
  3631. that is at the memory location. This instruction implicity performs
  3632. a SYNC operation; all loads and stores to shared memory fetched prior
  3633. to the ll must access memory before the ll, and loads and stores to
  3634. shared memory fetched subsequent to the ll must access memory
  3635. after ll.
  3636. Load Linked and Store Conditional can be use to automatically update
  3637. memory locations. *This instruction is not valid in the mips1
  3638. architectures.
  3639. The machine signals an address exception when the effective address
  3640. is not
  3641. divisible by four.
  3642. Signed-off-by: Wang YanQing <udknight@gmail.com>
  3643. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  3644. [alk@tut.by: removed addition of unused #include]
  3645. M src/debugallocation.cc
  3646. commit 38bfc7a1c2f9ba718bcaa9b82fdcd9c429c8f85f
  3647. Author: Aliaksey Kandratsenka <alk@tut.by>
  3648. Date: Sat Feb 8 14:10:11 2014 -0800
  3649. removed irrelevant comment
  3650. M src/base/atomicops.h
  3651. commit d03c467a3446088b229f0106d9f47fab6d7c52a4
  3652. Author: Aliaksey Kandratsenka <alk@tut.by>
  3653. Date: Sat Feb 8 13:35:16 2014 -0800
  3654. allow asking for gcc atomics on all platforms
  3655. I.e. by doing ./configure CPPFLAGS=-DTCMALLOC_PREFER_GCC_ATOMICS
  3656. M src/base/atomicops.h
  3657. commit 6de1f38b687e3974d67adad45217f35a2c376049
  3658. Author: Aliaksey Kandratsenka <alk@tut.by>
  3659. Date: Sat Feb 8 13:43:04 2014 -0800
  3660. chmod -x configure.ac
  3661. Because configure.ac is not really executable. And because it
  3662. interferes with tab completion of configure.
  3663. M configure.ac
  3664. commit e8fe990fa06e337a07059c55adc6ed2a0888de95
  3665. Author: Riku Voipio <riku.voipio@linaro.org>
  3666. Date: Wed Jan 29 10:54:29 2014 +0200
  3667. implement atomics with gcc intrinsics
  3668. Gcc after 4.7 provides atomic builtins[1]. Use these instead of adding
  3669. yet-another-assembly port for Aarch64 (64-bit ARM). This patch enables
  3670. succesfully building and running atomicops unittest on Aarch64.
  3671. This patch enables using gcc builtins only when no assembly
  3672. implementation is provided. But as a quick check, atomicops_unittest
  3673. and rest of testsuite passes with atomicops-internals-gcc also
  3674. ARMv7 and X86_64 if the ifdef in atomicops is adjusted to prefer
  3675. the generic implementation.
  3676. [1] http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
  3677. A src/base/atomicops-internals-gcc.h
  3678. M src/base/atomicops.h
  3679. commit fa4b1c401da1ac381d4d72172825231b3d5518d9
  3680. Author: Aliaksey Kandratsenka <alk@tut.by>
  3681. Date: Sun Jan 19 22:37:44 2014 -0800
  3682. issue-599: fixing FreeBSD issue with sbrk
  3683. Applied patch by yurivict.
  3684. It was wrong assembly specifically for FreeBSD in sbrk overriding
  3685. code.
  3686. M src/malloc_hook_mmap_freebsd.h
  3687. commit 71a239e559c9ea2300ad0511f8de7077db5369c3
  3688. Author: Aliaksey Kandratsenka <alk@tut.by>
  3689. Date: Sun Jan 19 12:30:53 2014 -0800
  3690. check debug_malloc_implementation_space via COMPILE_ASSERT
  3691. Because we can and because compile-time is always better.
  3692. M src/debugallocation.cc
  3693. commit 54568e32fc2321e0adef15fb1eab4e3a7f8ce5b0
  3694. Author: Aliaksey Kandratsenka <alk@tut.by>
  3695. Date: Sat Sep 21 18:14:00 2013 -0700
  3696. issue-565: don't pollute global namespace with thread lister API
  3697. Instead those functions that are original taken from google's "base"
  3698. code now have prefix TCMalloc_. So that they don't conflict with other
  3699. google's libraries having same functions.
  3700. M src/base/linuxthreads.cc
  3701. M src/base/thread_lister.c
  3702. M src/base/thread_lister.h
  3703. M src/gperftools/heap-checker.h
  3704. M src/heap-checker.cc
  3705. M src/memory_region_map.h
  3706. commit 64bc1baa1f4723d73ba40cd730b72896bd45a810
  3707. Author: Aliaksey Kandratsenka <alk@tut.by>
  3708. Date: Sat May 18 17:11:58 2013 -0700
  3709. issue-{66,547}: use signal's ucontext when unwinding backtrace
  3710. In issue-66 (and readme) it is pointed out that sometimes there are
  3711. some issues grabbing backtrace across signal handler boundary.
  3712. This code attempts to fix it by grabbing backtrace from signal's
  3713. ucontext which clearly does not include signal handler boundary.
  3714. We're using "feature" of libunwind that for some important platforms
  3715. libunwind's context is same as libc's ucontext_t which is given to us
  3716. as part of calling signal handler.
  3717. M src/stacktrace_libunwind-inl.h
  3718. commit 185bf3fcc36f8cb3839abdfe652f615bfb5306d1
  3719. Author: Aliaksey Kandratsenka <alk@tut.by>
  3720. Date: Sat Jan 11 12:46:02 2014 -0800
  3721. issue-581: avoid destructing DebugMallocImplementation
  3722. Because otherwise destructor might be invoked well before other places
  3723. that might touch malloc extension instance.
  3724. We're using placement new to initialize it and pass pointer to
  3725. MallocExtension::Register. Which ensures that destructor for it is
  3726. never run.
  3727. Based on idea suggested by Andrew C. Morrow.
  3728. M src/debugallocation.cc
  3729. commit 48a0d131c1aa088c6075e9c4676ee430f81d8600
  3730. Author: Aliaksey Kandratsenka <alk@tut.by>
  3731. Date: Sat Jan 18 13:27:41 2014 -0800
  3732. issue-548: pass -fno-builtin to compiler for unittests
  3733. Because clang doesn't understand -fno-builtin-malloc and friends. And
  3734. otherwise new/delete pairs get optimized away causing our tests that
  3735. expect hooks to be called to fail.
  3736. M Makefile.am
  3737. commit e98371540d63dde53ce4b7c772d78c1da6b59ea8
  3738. Author: Aliaksey Kandratsenka <alk@tut.by>
  3739. Date: Sat Jan 11 16:28:15 2014 -0800
  3740. eliminated gcc warning on __thread configure snippet
  3741. gcc complained about lack of matching ' in code that force-fails
  3742. __thread detection on mingw
  3743. M configure.ac
  3744. commit 60b12171bc73117c0108b847bb310af095cd2778
  3745. Author: xiaoyur347 <xiaoyur347@gmail.com>
  3746. Date: Sat Jan 11 11:39:53 2014 +0800
  3747. fix GCC version detect for platforms other than X86/X64
  3748. [alk@tut.by: commented why we're disabling __thread not just for x86]
  3749. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  3750. M configure.ac
  3751. commit 764d304222f0c3057ab99babd06246016cbfa505
  3752. Author: Aliaksey Kandratsenka <alk@tut.by>
  3753. Date: Sun Jan 5 12:49:23 2014 -0800
  3754. don't re-define strtoq for VS2013
  3755. Which is part of previous change that wasn't correctly applied.
  3756. M src/windows/port.h
  3757. commit 1fc768864d506466b45f3f38474912bcb69bb772
  3758. Author: Aliaksey Kandratsenka <alk@tut.by>
  3759. Date: Sat Jan 4 18:28:36 2014 -0800
  3760. fix compilation under VS 2013
  3761. This is essentially a copy of corresponding chromium change from:
  3762. https://codereview.chromium.org/27017003
  3763. M src/windows/port.cc
  3764. M src/windows/port.h
  3765. commit 4c274b9e20132230e62117ff583ebadd83081d90
  3766. Author: Aliaksey Kandratsenka <alk@tut.by>
  3767. Date: Sat Jan 4 18:28:36 2014 -0800
  3768. issue-592: handle recent mingw with C++11 threads
  3769. Somehow it's c++ headers (like string) define pthread symbols without
  3770. even us asking for. That breaks old assumption that pthread symbols
  3771. are not available on windows.
  3772. In order to fix that we detect this condition in configure.ac and
  3773. avoid defining windows versions of pthread symbols.
  3774. M Makefile.am
  3775. M configure.ac
  3776. M src/windows/mingw.h
  3777. M src/windows/port.h
  3778. commit 1458ee2239e0791567e69112931dc17eb0456cf8
  3779. Author: Aliaksey Kandratsenka <alk@tut.by>
  3780. Date: Sat Jan 4 13:54:24 2014 -0800
  3781. issue-596: removed unused AtomicIncrement operation
  3782. There's no need for us to attempt to maintain Google's atomic ops code
  3783. in era of C++11.
  3784. M src/base/atomicops-internals-arm-generic.h
  3785. M src/base/atomicops-internals-arm-v6plus.h
  3786. M src/base/atomicops-internals-linuxppc.h
  3787. M src/base/atomicops-internals-macosx.h
  3788. M src/base/atomicops-internals-mips.h
  3789. M src/base/atomicops-internals-windows.h
  3790. M src/base/atomicops-internals-x86.h
  3791. M src/base/atomicops.h
  3792. M src/tests/atomicops_unittest.cc
  3793. commit 6630b24e27c6a62727fe73aaae21dcc7364b8fee
  3794. Author: Aliaksey Kandratsenka <alk@tut.by>
  3795. Date: Sat Jan 4 13:07:35 2014 -0800
  3796. Removed unused AtomicPtr::CompareAndSwap
  3797. M src/malloc_hook-inl.h
  3798. M src/malloc_hook.cc
  3799. commit a15115271cc475509b17bf7fecbe1ac4966baf2e
  3800. Author: xiaoyur347 <xiaoyur347@gmail.com>
  3801. Date: Fri Dec 20 09:41:08 2013 +0800
  3802. add "-finstrument-functions" support for MIPS uclibc.
  3803. should configure with CXXFLAGS="-finstrument-functions"
  3804. M src/stacktrace_config.h
  3805. A src/stacktrace_instrument-inl.h
  3806. commit 7c4888515ed93347d4793fc066cd6048e519a197
  3807. Author: xiaoyur347 <xiaoyur347@gmail.com>
  3808. Date: Fri Dec 20 09:02:49 2013 +0800
  3809. add uclibc support
  3810. * some variables defined with "char *" should be modified to
  3811. "const char*"
  3812. * For uclibc, glibc's "void malloc_stats(void)" should be "void
  3813. malloc_stats(FILE *)", is commented now.
  3814. * For uclibc, __sbrk is with attribute "hidden", so we use mmap
  3815. allocator for uclibc.
  3816. M Makefile.am
  3817. M src/heap-checker.cc
  3818. M src/heap-profiler.cc
  3819. M src/libc_override_gcc_and_weak.h
  3820. M src/malloc_hook_mmap_linux.h
  3821. M src/memory_region_map.cc
  3822. M src/symbolize.cc
  3823. M src/system-alloc.cc
  3824. commit 7bd193bca97d93b43ff6c824bc9f39227329312f
  3825. Author: Aliaksey Kandratsenka <alk@tut.by>
  3826. Date: Sat Dec 14 12:03:02 2013 -0800
  3827. issue-586: detect main executable even if PIE is active
  3828. Previous logic of detecting main program addresses is to assume that
  3829. main executable is at least addressess. With PIE (active by default on
  3830. Ubuntus) it doesn't work.
  3831. In order to deal with that, we're attempting to find main executable
  3832. mapping in /proc/[pid]/maps. And old logic is preserved too just in
  3833. case.
  3834. M src/pprof
  3835. commit f8a2163b5131050765ea877e2573f4930e41f630
  3836. Author: Aliaksey Kandratsenka <alk@tut.by>
  3837. Date: Fri Dec 6 12:23:48 2013 -0800
  3838. Added AM_MAINTAINER_MODE to disable Makefile rebuild rules
  3839. Some people might want to check-in unpacked result on make dist into
  3840. git. But because git doesn't preserve timestamps it would cause those
  3841. automatic "auto-retool" rules to trigger. Sometimes even causing build
  3842. breakage if system's autotools version don't match autotools version
  3843. used for make dist.
  3844. Easiest way around this problem is to simply disable those unnecessary
  3845. "maintainer" rebuild rules. Especially given that source is always
  3846. freely available via git and therefore there should be no reason to
  3847. regenerate any of autotools products in 'make dist'-produced sources.
  3848. M configure.ac
  3849. commit 925bbaea76b91bd307634908cfd6902f99804544
  3850. Author: Aliaksey Kandratsenka <alk@tut.by>
  3851. Date: Sat Nov 16 14:01:38 2013 -0800
  3852. actually check result of CheckAddressBits
  3853. Previously call to CheckAddressBits was made but nothing was done to
  3854. it's result.
  3855. I've also make sure that actual size is used in checks and in bumping
  3856. up of TCMalloc_SystemTaken.
  3857. M src/system-alloc.cc
  3858. commit f216317a879e972ceafe77e61b2d66fd5f29922e
  3859. Author: Aliaksey Kandratsenka <alk@tut.by>
  3860. Date: Sat Nov 16 15:05:45 2013 -0800
  3861. use AC_PROG_LIBTOOL to summon libtool
  3862. So that older autotools of rhel 5 can be used
  3863. M configure.ac
  3864. commit d4f4c5a3104e30b14b1090241fb4d0fac6a0e357
  3865. Author: Aliaksey Kandratsenka <alk@tut.by>
  3866. Date: Sat Nov 16 14:00:19 2013 -0800
  3867. assert that ClassSize(0) is 0 instead >=0
  3868. Because it's return value being size_t cannot be negative
  3869. anyways. This fixes clang warning
  3870. M src/common.cc
  3871. commit 946203d60e50488a0b9e0fe003c13662873fa17d
  3872. Author: Aliaksey Kandratsenka <alk@tut.by>
  3873. Date: Sat Nov 16 13:35:59 2013 -0800
  3874. assert key size in way that is clearer to gcc
  3875. Both new and old asserts are checking same condition, however new
  3876. assert helps gcc see that out of bounds access is not possible in
  3877. root_ array.
  3878. M src/pagemap.h
  3879. commit bf2d7bd3f8c1fb6a0843e55e652e37f4ce0fae3d
  3880. Author: Aliaksey Kandratsenka <alk@tut.by>
  3881. Date: Sat Nov 16 13:31:34 2013 -0800
  3882. fixed gcc warning
  3883. We've recently changed old_signal_handler to by integer, so comparing
  3884. it with NULL is not good idea.
  3885. M src/heap-profiler.cc
  3886. commit dd5f979c5e6e7e3127835a659a5af89ac21597d5
  3887. Author: Aliaksey Kandratsenka <alk@tut.by>
  3888. Date: Sat Nov 16 13:31:08 2013 -0800
  3889. fixed -Wreorder warning in HeapProfileTable constructor
  3890. M src/heap-profile-table.cc
  3891. commit e4ea98f147a7602979f70be022de068b04e68060
  3892. Author: Aliaksey Kandratsenka <alk@tut.by>
  3893. Date: Sat Nov 9 14:19:16 2013 -0800
  3894. issue-585: fixed use of TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES
  3895. In order to apply that, we're now doing explicit EnvToInt64 call as
  3896. part of initializing thread cache module.
  3897. M src/thread_cache.cc
  3898. commit e0102230ec7e8304155798bf7f03d6abcd5991ee
  3899. Author: Aliaksey Kandratsenka <alk@tut.by>
  3900. Date: Sat Nov 16 12:03:35 2013 -0800
  3901. issue-588: Fix profiler_unittest.cc fork()
  3902. As suggested by Hannes Weisbach.
  3903. Call heap-profiler_unittest with the arguments 1 -2 (one iteration, 2
  3904. fork()ed children).
  3905. Instead of running the test, the program crashes with a std::bad_alloc
  3906. exception. This is caused by unconditionally passing the
  3907. number-of-threads-argument (0 or positive for threads, negative for
  3908. fork()s) in RunManyThreads(), thus allocating an array of pthread_t of
  3909. size -2. Depending on the sign of the thread number argument either
  3910. RunManyThreads or fork() should be called.
  3911. M src/tests/profiler_unittest.cc
  3912. commit 2bf83af65664a2badbaebdb722ad498e8b38548c
  3913. Author: Aliaksey Kandratsenka <alk@tut.by>
  3914. Date: Sat Nov 16 11:35:32 2013 -0800
  3915. issue-587: fix typos in unit test scripts
  3916. As proposed by Hannes Weisbach.
  3917. The argument will be garbled because of a misplaced brace, for example
  3918. (heap-checker_unittest.sh):
  3919. HEAP_CHECKER="${1:-$BINDIR}/heap-checker_unittest"
  3920. which should be:
  3921. HEAP_CHECKER="${1:-$BINDIR/heap-checker_unittest}"
  3922. This unit test is used to check the binaries heap-checker_unittest and
  3923. heap-checker_debug_unittest. With the typo, the executable
  3924. heap-checker_debug_unittest is never actually run.
  3925. M src/tests/heap-checker-death_unittest.sh
  3926. M src/tests/heap-checker_unittest.sh
  3927. M src/tests/heap-profiler_unittest.sh
  3928. M src/tests/tcmalloc_unittest.sh
  3929. commit b3b19269783cf1ed163bdb447cef9ca11b10851c
  3930. Author: Aliaksey Kandratsenka <alk@tut.by>
  3931. Date: Sat Nov 9 12:28:55 2013 -0800
  3932. issue-584: added license note to files without explicit license
  3933. As suggested at corresponding chromium issue discussion it's seemingly
  3934. sufficient to simply refer to project-wide LICENSE file.
  3935. M src/tests/page_heap_test.cc
  3936. M src/tests/profile-handler_unittest.cc
  3937. M src/tests/raw_printer_test.cc
  3938. M src/tests/stack_trace_table_test.cc
  3939. M src/windows/config.h
  3940. commit 7be35fb0d844c73f5c5301f62074294df5acbc5c
  3941. Author: Joonsoo Kim <iamjoonsoo.kim@lge.com>
  3942. Date: Thu Oct 10 14:26:47 2013 +0900
  3943. central_freelist: change fetch ordering
  3944. When we fetch objects from the span for thread cache, we make
  3945. reverse-ordered list against original list on the span and suppy
  3946. this list
  3947. to thread cache. This algorithm has trouble with newly created span.
  3948. Newly created span has ascending ordered objects list. Since thread
  3949. cache
  3950. will get reverse-ordered list against it, user gets objects as
  3951. descending order.
  3952. Following example shows what occurs in this algorithm.
  3953. new span: object list: 1 -> 2 -> 3 -> 4 -> 5 -> ...
  3954. fetch N items: N -> N-1 -> N-2 -> ... -> 2 -> 1 -> NULL
  3955. thread cache: N -> N-1 -> N-2 -> ... -> 2 -> 1 -> NULL
  3956. user's 1st malloc: N
  3957. user's 2nd malloc: N-1
  3958. ...
  3959. user's Nth malloc: 1
  3960. In general, access memory with ascending order is better than
  3961. descending
  3962. order in terms of the performance. So this patch fix this situation.
  3963. I run below program to measure performance effect.
  3964. #define MALLOC_SIZE (512)
  3965. #define CACHE_SIZE (64)
  3966. #define TOUCH_SIZE (512 / CACHE_SIZE)
  3967. array = malloc(sizeof(void *) * count);
  3968. for (i = 0; i < 1; i++) {
  3969. for (j = 0; j < count; j++) {
  3970. x = malloc(MALLOC_SIZE);
  3971. array[j] = x;
  3972. }
  3973. }
  3974. repeat = 10;
  3975. for (i = 0; i < repeat; i++) {
  3976. for (j = 0; j < count; j++) {
  3977. x = array[j];
  3978. for (k = 0; k < TOUCH_SIZE; k++) {
  3979. *(x + (k * CACHE_SIZE)) = '1';
  3980. }
  3981. }
  3982. }
  3983. LD_PRELOAD=libtcmalloc_minimal.so perf stat -r 10 ./a.out 1000000
  3984. **** Before ****
  3985. Performance counter stats for './a.out 1000000' (10 runs):
  3986. 2.715161299 seconds time elapsed
  3987. ( +- 0.07% )
  3988. **** After ****
  3989. Performance counter stats for './a.out 1000000' (10 runs):
  3990. 2.259366428 seconds time elapsed
  3991. ( +- 0.08% )
  3992. M src/central_freelist.cc
  3993. commit 7315b45c28564afdc2699beff934a3b45457edc6
  3994. Author: Joonsoo Kim <iamjoonsoo.kim@lge.com>
  3995. Date: Thu Oct 10 11:46:12 2013 +0900
  3996. central_freelist: fetch objects as much as possible during each trial
  3997. It is better to reduce function call if possible. If we try to fetch
  3998. objects from one span as much as possible during each function call,
  3999. number of function call would be reduced and this would help
  4000. performance.
  4001. M src/central_freelist.cc
  4002. M src/central_freelist.h
  4003. commit cc002ea19363e1ebbd7f3e809d116ab81a6862cd
  4004. Author: Joonsoo Kim <iamjoonsoo.kim@lge.com>
  4005. Date: Thu Oct 10 10:06:33 2013 +0900
  4006. skip unnecessary check during double-check SizeClass intergrity
  4007. On initialization step, tcmalloc double-checks SizeClass integrity
  4008. with
  4009. all possible size values, 0 to kMaxSize. This causes tremendous
  4010. overhead
  4011. for short-lived applications.
  4012. For example, consider following command.
  4013. 'find -exec grep something {} \;'
  4014. Actual work of each grep is really small, but double-check requires
  4015. more work. To reduce this overhead, it is best to remove double-check
  4016. entirely. But we cannot be sure the integrity without double-checking,
  4017. so alternative is needed.
  4018. This patch doesn't remove double-check, instead, try to skip
  4019. unnecessary
  4020. check based on ClassIndex() implementation. This reduce much
  4021. overhead and
  4022. the code has same coverage as previous double-check. Following is
  4023. the result of this patch.
  4024. time LD_PRELOAD=libtcmalloc_minimal.so find ./ -exec grep "SOMETHING"
  4025. {} \;
  4026. * Before
  4027. real 0m3.675s
  4028. user 0m1.000s
  4029. sys 0m0.640s
  4030. * This patch
  4031. real 0m2.833s
  4032. user 0m0.056s
  4033. sys 0m0.220s
  4034. * Remove double-check entirely
  4035. real 0m2.675s
  4036. user 0m0.072s
  4037. sys 0m0.184s
  4038. M src/common.cc
  4039. commit 3e9a33e8c708ccf3ec91e3a3b14e924f5f79e4a6
  4040. Author: Aliaksey Kandratsenka <alk@tut.by>
  4041. Date: Sat Oct 26 16:54:03 2013 -0700
  4042. issue-583: include pthread.h into static_var.cc
  4043. Because we're doing pthread_atfork.
  4044. Fix suggested by user named drussel.
  4045. M src/static_vars.cc
  4046. commit db0d5730ee059d72b895fbead5237f9cb5bbf98a
  4047. Author: Aliaksey Kandratsenka <alk@tut.by>
  4048. Date: Sat Jun 22 13:48:11 2013 -0700
  4049. issue-579: ensure order between memory region and libunwind locks
  4050. I.e. to prevent possible deadlock when this locks are taked by
  4051. different threads in different order.
  4052. This particular problem was also reported as part of issue 66.
  4053. M src/memory_region_map.cc
  4054. commit 42ddc8d42c82ba6f5137c26b4e7f752b1a022831
  4055. Author: Aliaksey Kandratsenka <alk@tut.by>
  4056. Date: Sat Sep 21 19:03:52 2013 -0700
  4057. added emacs -*- mode lines for google coding style
  4058. M src/addressmap-inl.h
  4059. M src/base/atomicops-internals-arm-generic.h
  4060. M src/base/atomicops-internals-arm-v6plus.h
  4061. M src/base/atomicops-internals-linuxppc.h
  4062. M src/base/atomicops-internals-macosx.h
  4063. M src/base/atomicops-internals-mips.h
  4064. M src/base/atomicops-internals-windows.h
  4065. M src/base/atomicops-internals-x86.cc
  4066. M src/base/atomicops-internals-x86.h
  4067. M src/base/atomicops.h
  4068. M src/base/basictypes.h
  4069. M src/base/commandlineflags.h
  4070. M src/base/cycleclock.h
  4071. M src/base/elf_mem_image.cc
  4072. M src/base/elf_mem_image.h
  4073. M src/base/elfcore.h
  4074. M src/base/googleinit.h
  4075. M src/base/linux_syscall_support.h
  4076. M src/base/linuxthreads.cc
  4077. M src/base/logging.cc
  4078. M src/base/logging.h
  4079. M src/base/low_level_alloc.cc
  4080. M src/base/low_level_alloc.h
  4081. M src/base/simple_mutex.h
  4082. M src/base/spinlock.cc
  4083. M src/base/spinlock.h
  4084. M src/base/spinlock_internal.cc
  4085. M src/base/spinlock_internal.h
  4086. M src/base/spinlock_linux-inl.h
  4087. M src/base/spinlock_posix-inl.h
  4088. M src/base/spinlock_win32-inl.h
  4089. M src/base/stl_allocator.h
  4090. M src/base/synchronization_profiling.h
  4091. M src/base/sysinfo.cc
  4092. M src/base/sysinfo.h
  4093. M src/base/thread_lister.h
  4094. M src/central_freelist.cc
  4095. M src/central_freelist.h
  4096. M src/common.cc
  4097. M src/common.h
  4098. M src/config_for_unittests.h
  4099. M src/debugallocation.cc
  4100. M src/getpc.h
  4101. M src/gperftools/heap-checker.h
  4102. M src/gperftools/heap-profiler.h
  4103. M src/gperftools/malloc_extension.h
  4104. M src/gperftools/malloc_hook.h
  4105. M src/gperftools/profiler.h
  4106. M src/gperftools/stacktrace.h
  4107. M src/gperftools/tcmalloc.h.in
  4108. M src/heap-checker-bcad.cc
  4109. M src/heap-checker.cc
  4110. M src/heap-profile-stats.h
  4111. M src/heap-profile-table.cc
  4112. M src/heap-profile-table.h
  4113. M src/heap-profiler.cc
  4114. M src/internal_logging.cc
  4115. M src/internal_logging.h
  4116. M src/libc_override.h
  4117. M src/libc_override_gcc_and_weak.h
  4118. M src/libc_override_glibc.h
  4119. M src/libc_override_osx.h
  4120. M src/libc_override_redefine.h
  4121. M src/linked_list.h
  4122. M src/malloc_extension.cc
  4123. M src/malloc_hook-inl.h
  4124. M src/malloc_hook.cc
  4125. M src/malloc_hook_mmap_freebsd.h
  4126. M src/malloc_hook_mmap_linux.h
  4127. M src/maybe_threads.cc
  4128. M src/maybe_threads.h
  4129. M src/memfs_malloc.cc
  4130. M src/memory_region_map.cc
  4131. M src/memory_region_map.h
  4132. M src/packed-cache-inl.h
  4133. M src/page_heap.cc
  4134. M src/page_heap.h
  4135. M src/page_heap_allocator.h
  4136. M src/pagemap.h
  4137. M src/profile-handler.cc
  4138. M src/profile-handler.h
  4139. M src/profiledata.cc
  4140. M src/profiledata.h
  4141. M src/profiler.cc
  4142. M src/raw_printer.cc
  4143. M src/raw_printer.h
  4144. M src/sampler.cc
  4145. M src/sampler.h
  4146. M src/span.cc
  4147. M src/span.h
  4148. M src/stack_trace_table.cc
  4149. M src/stack_trace_table.h
  4150. M src/stacktrace.cc
  4151. M src/stacktrace_arm-inl.h
  4152. M src/stacktrace_config.h
  4153. M src/stacktrace_generic-inl.h
  4154. M src/stacktrace_libunwind-inl.h
  4155. M src/stacktrace_powerpc-inl.h
  4156. M src/stacktrace_win32-inl.h
  4157. M src/stacktrace_x86-inl.h
  4158. M src/static_vars.cc
  4159. M src/static_vars.h
  4160. M src/symbolize.cc
  4161. M src/symbolize.h
  4162. M src/system-alloc.cc
  4163. M src/system-alloc.h
  4164. M src/tcmalloc.cc
  4165. M src/tcmalloc.h
  4166. M src/tcmalloc_guard.h
  4167. M src/tests/addressmap_unittest.cc
  4168. M src/tests/atomicops_unittest.cc
  4169. M src/tests/current_allocated_bytes_test.cc
  4170. M src/tests/debugallocation_test.cc
  4171. M src/tests/frag_unittest.cc
  4172. M src/tests/getpc_test.cc
  4173. M src/tests/heap-checker_unittest.cc
  4174. M src/tests/heap-profiler_unittest.cc
  4175. M src/tests/low_level_alloc_unittest.cc
  4176. M src/tests/malloc_extension_c_test.c
  4177. M src/tests/malloc_extension_test.cc
  4178. M src/tests/malloc_hook_test.cc
  4179. M src/tests/markidle_unittest.cc
  4180. M src/tests/memalign_unittest.cc
  4181. M src/tests/packed-cache_test.cc
  4182. M src/tests/page_heap_test.cc
  4183. M src/tests/pagemap_unittest.cc
  4184. M src/tests/profile-handler_unittest.cc
  4185. M src/tests/profiledata_unittest.cc
  4186. M src/tests/profiler_unittest.cc
  4187. M src/tests/raw_printer_test.cc
  4188. M src/tests/realloc_unittest.cc
  4189. M src/tests/sampler_test.cc
  4190. M src/tests/sampling_test.cc
  4191. M src/tests/simple_compat_test.cc
  4192. M src/tests/stack_trace_table_test.cc
  4193. M src/tests/system-alloc_unittest.cc
  4194. M src/tests/tcmalloc_large_unittest.cc
  4195. M src/tests/tcmalloc_unittest.cc
  4196. M src/tests/testutil.cc
  4197. M src/tests/testutil.h
  4198. M src/tests/thread_dealloc_unittest.cc
  4199. M src/thread_cache.cc
  4200. M src/thread_cache.h
  4201. M src/windows/auto_testing_hook.h
  4202. M src/windows/get_mangled_names.cc
  4203. M src/windows/gperftools/tcmalloc.h
  4204. M src/windows/gperftools/tcmalloc.h.in
  4205. M src/windows/mingw.h
  4206. M src/windows/mini_disassembler.cc
  4207. M src/windows/mini_disassembler.h
  4208. M src/windows/mini_disassembler_types.h
  4209. M src/windows/override_functions.cc
  4210. M src/windows/port.cc
  4211. M src/windows/port.h
  4212. M src/windows/preamble_patcher.cc
  4213. M src/windows/preamble_patcher.h
  4214. M src/windows/preamble_patcher_test.cc
  4215. M src/windows/preamble_patcher_with_stub.cc
  4216. commit 799a22624c85e8749f8bed0bfa63282b03e75bdd
  4217. Author: Aliaksey Kandratsenka <alk@tut.by>
  4218. Date: Sat Sep 28 19:32:20 2013 -0700
  4219. issue-575: do not use cycle count register on arm6
  4220. Apparently not all arm6 implementations implement it in this
  4221. particular way.
  4222. This applies patch by Ben Avison.
  4223. M src/base/cycleclock.h
  4224. commit 2a2d6596f8c3d62b7ec444761f4edf0c85d10d92
  4225. Author: Petr Hosek <phosek@chromium.org>
  4226. Date: Fri Aug 23 23:58:47 2013 -0700
  4227. Adds system-alloc_unittest Visual Studio project
  4228. M gperftools.sln
  4229. A vsprojects/system-alloc_unittest/system-alloc_unittest.vcproj
  4230. commit 83aed118e009b92ea88645ef1f7b842a921612c5
  4231. Author: Petr Hosek <phosek@chromium.org>
  4232. Date: Fri Aug 23 13:53:35 2013 -0700
  4233. issue-567: Allows for overriding system allocator on Windows
  4234. [alk@tut.by: minor changes to make mingw build work]
  4235. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  4236. M Makefile.am
  4237. M src/windows/port.cc
  4238. A src/windows/system-alloc.cc
  4239. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  4240. M vsprojects/tmu-static/tmu-static.vcproj
  4241. commit 4ad16873a0a2d8861a0bfe8234d45e31cc70ee90
  4242. Author: Petr Hosek <phosek@chromium.org>
  4243. Date: Sat Aug 24 14:24:47 2013 -0700
  4244. Exports SysAllocator class to avoid .dll build errors
  4245. M src/gperftools/malloc_extension.h
  4246. commit 326990b5c30d249c3cf4688a88fc415b05494aca
  4247. Author: Aliaksey Kandratsenka <alk@tut.by>
  4248. Date: Sat Sep 14 14:38:53 2013 -0700
  4249. issue-557: added support for dumping heap profile via signal
  4250. This applies patch from Jean Lee.
  4251. I've reformatted it to match surronding code style and changed
  4252. validation logic a bit. I.e. we're not checking signal for range
  4253. anymore given we're not sure what different platforms support, but
  4254. we're checking return value of signal() for SIG_ERR instead.
  4255. M src/heap-profiler.cc
  4256. commit cb65e49b83c84bc205203c12793f2dd00c4a7721
  4257. Author: Aliaksey Kandratsenka <alk@tut.by>
  4258. Date: Sat Sep 14 16:45:42 2013 -0700
  4259. issue-536: do not PrintStats if running under valgrind
  4260. When we detect running under valgrind we do not initialize our own
  4261. malloc. So trying to print malloc stats when asked via MALLOCSTATS
  4262. cannot work.
  4263. This does fix proposed by Philippe Waroquiers. In which we detect
  4264. running under valgrind prior to checking MALLOCSTATS environment
  4265. variable and refuse printing stats if we detect valgrind.
  4266. M src/tcmalloc.cc
  4267. commit 6979583592df555a369a2c975f5117a1f61911af
  4268. Author: Aliaksey Kandratsenka <alk@tut.by>
  4269. Date: Mon Sep 9 07:59:25 2013 -0700
  4270. issue-564: added atomic ops support for mips{,64}
  4271. This merges patch contributed by Jovan Zelincevic.
  4272. And with that patch tcmalloc build with --enable-minimal (just malloc
  4273. replacement) appears to work (passes unit tests).
  4274. M Makefile.am
  4275. A src/base/atomicops-internals-mips.h
  4276. M src/base/atomicops.h
  4277. M src/base/basictypes.h
  4278. M src/base/linux_syscall_support.h
  4279. M src/stacktrace_config.h
  4280. commit 28dd85e2825af71138621a4417e6ab004631924d
  4281. Author: Aliaksey Kandratsenka <alk@tut.by>
  4282. Date: Fri Aug 30 16:57:14 2013 +0300
  4283. implement pc from ucontext access for mips
  4284. M m4/pc_from_ucontext.m4
  4285. commit 819a2b051f1dba9526f2338098fff6dd1700bdb6
  4286. Author: Aliaksey Kandratsenka <alk@tut.by>
  4287. Date: Thu Aug 29 19:00:31 2013 +0300
  4288. issue-413: disable __thread usage on OSX
  4289. Because it was found that __thread variables access is compiled into
  4290. calls to tlv_get_addr which was found to call malloc. Because we
  4291. actually use thread-local storage from inside malloc it leads to stack
  4292. overflow. So we'll continue using pthreads API for that which is known
  4293. to work on OSX.
  4294. M configure.ac
  4295. commit 43809080931127037ce6e748f37a28ce7489387d
  4296. Author: Aliaksey Kandratsenka <alk@tut.by>
  4297. Date: Thu Aug 29 18:51:48 2013 +0300
  4298. lowered autoconf requirement
  4299. Autoconf 2.59 works. And most notably it will not affect our releases
  4300. which are all prepared with newer autoconf.
  4301. M configure.ac
  4302. commit 7a178d472737d988583bade3f0345201651cd43f
  4303. Author: Joon-Sung Um <joonsung.um@gmail.com>
  4304. Date: Tue Aug 27 22:16:18 2013 +0900
  4305. Update document for tcmalloc
  4306. Update tcmalloc.html for new parameters.
  4307. * kMaxSize = 256k
  4308. * kNumClasses = 88
  4309. * kPageShift = 13
  4310. Signed-off-by: Aliaksey Kandratsenka <alk@tut.by>
  4311. M doc/tcmalloc.html
  4312. commit 313e08b5a1a951f710b0323b3ca4e1e8d869520e
  4313. Author: Aliaksey Kandratsenka <alk@tut.by>
  4314. Date: Sun Aug 4 20:44:06 2013 +0300
  4315. issue-560: Revert "issue-481: ...
  4316. ...Replaced test mechanism for distinct address spaces with a more
  4317. reliable mechanism"
  4318. This reverts commit 5dd53ab6cbf9d98f2d60546835e84785a104da46 (svn
  4319. revision 167)
  4320. With this commit rhel 6.2 fails heap-checker-death_unittest and
  4321. without it passes.
  4322. Ticket refers to 2 things and both are invalid:
  4323. * that ptrace PEEKDATA ignores data argument. I've checked kernel
  4324. source and found it to be wrong
  4325. * something about distinct address spaces
  4326. And in addition to all that original ticket admits that it doesn't fix
  4327. anything.
  4328. It looks like, compared to original code that "fix" is not succesfully
  4329. wait-ing on parent's ptrace request. I.e. by adding some additional
  4330. diagnostics I'm seeing this sys_waitpid returning ECHILD.
  4331. M src/base/linuxthreads.cc
  4332. commit 6d00cbce92c5576b4bcf07a2b5634b4dcfa14f8a
  4333. Author: Aliaksey Kandratsenka <alk@tut.by>
  4334. Date: Sat Aug 17 15:52:53 2013 +0300
  4335. issue-561: don't cast function pointer to void *
  4336. Which gcc-3.4 (as shipped in rhel 4) doesn't like.
  4337. Cast to void * was originally added to avoid issue on OSX which
  4338. doesn't have sighandler_t.
  4339. In that place we only need to know if it's null or not. So casting to
  4340. intptr_t looks like simplest possible way to achieve that.
  4341. M src/profiler.cc
  4342. commit 7d8d522d737f6c55169264b35ebe0be1f9b23efd
  4343. Author: Aliaksey Kandratsenka <alk@tut.by>
  4344. Date: Sat Aug 17 15:52:22 2013 +0300
  4345. add heap-profile-stats.h to dist .tar.gz
  4346. M Makefile.am
  4347. commit d76cfa6d6ca5944d6300765fcb9160e889423750
  4348. Author: Aliaksey Kandratsenka <alk@tut.by>
  4349. Date: Sun Aug 4 18:35:55 2013 +0300
  4350. issue-502: Count m(un)map for each stacktrace in MemoryRegionMap
  4351. ..instead of HeapProfileTable
  4352. This upstreams chromium commit reviewed at:
  4353. https://codereview.chromium.org/12388070
  4354. Original and upstreaming author is: Dai MIKURUBE
  4355. This patch fixes a bug that gperftools(TCMalloc)'s mmap profiler
  4356. (HEAP_PROFILE_MMAP) doesn't hook some memory pages used by the
  4357. profiler itself.
  4358. This problem has been lived in gperftools for a long time.
  4359. It is discussed in gperftools' issue 502.
  4360. https://code.google.com/p/gperftools/issues/detail?id=502
  4361. Some bugs in the mmap profiler were fixed by
  4362. https://code.google.com/p/gperftools/issues/detail?id=383,
  4363. but the patch in the issue 383 didn't fix the bug mentioned in
  4364. the issue 502.
  4365. This change reverts the previous patch and http://crrev.com/132771
  4366. at first. Then, it modifies MemoryRegionMap to count m(un)map
  4367. calls for each stacktrace in itself instead of merging the counts
  4368. for each stacktrace in HeapProfileTable.
  4369. This change also cleans up heap-profiler, heap-profile-table and
  4370. deep-heap-profile.
  4371. Chromium-BUG=https://code.google.com/p/chromium/issues/detail?id=181517
  4372. Chromium-Committed:
  4373. https://src.chromium.org/viewvc/chrome?view=rev&revision=188176
  4374. M src/heap-checker.cc
  4375. A src/heap-profile-stats.h
  4376. M src/heap-profile-table.cc
  4377. M src/heap-profile-table.h
  4378. M src/heap-profiler.cc
  4379. M src/memory_region_map.cc
  4380. M src/memory_region_map.h
  4381. commit 89b163a0883d40a612331ed8565b8ab1219fdbd0
  4382. Author: Aliaksey Kandratsenka <alk@tut.by>
  4383. Date: Sun Aug 4 18:27:07 2013 +0300
  4384. added .gitignore
  4385. A .gitignore
  4386. commit 18fbc316eebea9db2d7ec41e161c0a3fbb09fa42
  4387. Author: alkondratenko@gmail.com
  4388. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4389. Date: Wed Jul 31 04:02:19 2013 +0000
  4390. Fix a C++11 error.
  4391. This merges patch by Nico Weber.
  4392. New clang versions complain in C++11 mode that:
  4393. error: cannot initialize a variable of type 'void *' with an rvalue
  4394. of type 'uintptr_t' (aka 'unsigned long')
  4395. This same change was done for the google-internal version of
  4396. tcmalloc too.
  4397. Reviewed-at: https://codereview.appspot.com/12132043
  4398. git-svn-id: http://gperftools.googlecode.com/svn/trunk@238
  4399. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4400. M src/stack_trace_table.cc
  4401. commit 674fcd94a8a0a3595f64e13762ba3a6529e09926
  4402. Author: alkondratenko@gmail.com
  4403. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4404. Date: Tue Jul 30 09:14:20 2013 +0000
  4405. bump version to 2.1
  4406. git-svn-id: http://gperftools.googlecode.com/svn/trunk@236
  4407. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4408. M NEWS
  4409. M configure.ac
  4410. M packages/deb/changelog
  4411. M src/windows/config.h
  4412. M src/windows/gperftools/tcmalloc.h
  4413. commit 805a6601939edd9bca60a8911e56b217e477c75e
  4414. Author: alkondratenko@gmail.com
  4415. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4416. Date: Tue Jul 30 08:30:45 2013 +0000
  4417. issue-559: don't setup fork handler in InitStaticVars
  4418. Because on OSX it calls malloc which leads to deadlock.
  4419. Given that we don't really need that fork handler _that_ early, it's
  4420. fine to change it to normal static initializer
  4421. git-svn-id: http://gperftools.googlecode.com/svn/trunk@235
  4422. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4423. M src/static_vars.cc
  4424. commit c583a5babb54aedf6ab6e7746fd976ef2469839d
  4425. Author: alkondratenko@gmail.com
  4426. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4427. Date: Tue Jul 30 08:30:19 2013 +0000
  4428. issue-559: don't depend on sighandler_t
  4429. Which is not available on OSX.
  4430. I've also fixed style around this place.
  4431. git-svn-id: http://gperftools.googlecode.com/svn/trunk@234
  4432. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4433. M src/profiler.cc
  4434. commit 1af20041bf5821167e69bf905596b2d45d1d94da
  4435. Author: alkondratenko@gmail.com
  4436. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4437. Date: Tue Jul 30 08:29:46 2013 +0000
  4438. issue-559: AtomicWord xxx_AtomicExchange are all inline
  4439. Otherwise OSX correctly complains about duplicate definitions
  4440. git-svn-id: http://gperftools.googlecode.com/svn/trunk@233
  4441. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4442. M src/base/atomicops.h
  4443. commit 7a9c4e075fe2572307cddd11bc2f5c7d6b3d29ee
  4444. Author: alkondratenko@gmail.com
  4445. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4446. Date: Fri Jul 26 19:36:08 2013 +0000
  4447. issue-556: update windows PACKAGE_{VERSION,STRING}
  4448. git-svn-id: http://gperftools.googlecode.com/svn/trunk@232
  4449. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4450. M src/windows/config.h
  4451. commit 11d46f0aac5ef941b74114412bda4747a349c60d
  4452. Author: alkondratenko@gmail.com
  4453. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4454. Date: Fri Jul 26 19:35:38 2013 +0000
  4455. issue-556: dll-export getpagesize
  4456. Because page_heap_test needs this.
  4457. git-svn-id: http://gperftools.googlecode.com/svn/trunk@231
  4458. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4459. M src/windows/port.cc
  4460. M src/windows/port.h
  4461. commit 6d4ad4428bb8f587d890fa5b7a76ba65dcf48dcb
  4462. Author: alkondratenko@gmail.com
  4463. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4464. Date: Fri Jul 26 19:35:20 2013 +0000
  4465. issue-556: drop malloc limit at the end of page_heap_test
  4466. Which otherwise causes somewhat weird stack overflow on release
  4467. windows builds.
  4468. git-svn-id: http://gperftools.googlecode.com/svn/trunk@230
  4469. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4470. M src/tests/page_heap_test.cc
  4471. commit be54c3f3ed192eabab9b075ec924d2479a956b9d
  4472. Author: alkondratenko@gmail.com
  4473. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4474. Date: Fri Jul 26 19:34:54 2013 +0000
  4475. issue-556: dll-export TCMalloc_System{Alloc,Release}
  4476. because page_heap_test is using this stuff
  4477. git-svn-id: http://gperftools.googlecode.com/svn/trunk@229
  4478. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4479. M src/system-alloc.h
  4480. M src/windows/port.cc
  4481. commit e3716145cbfa1247fa37dd627b2136a061944255
  4482. Author: alkondratenko@gmail.com
  4483. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4484. Date: Fri Jul 26 18:19:05 2013 +0000
  4485. issue-552: Fix page_heap_test for system with different page size
  4486. This is patch by Adhemerval Zanella.
  4487. PowerPC uses 64K page size instead of 4k for x86 and x86_64. It
  4488. makes the
  4489. page_heap_test fails because the following test:
  4490. static bool HaveSystemRelease =
  4491. TCMalloc_SystemRelease(TCMalloc_SystemAlloc(kPageSize, NULL,
  4492. 0), kPageSize);
  4493. will always fail if kPageSize is less than getpagesize() (the default
  4494. configuration).
  4495. The following patch fixes it by trying to allocate/deallocate
  4496. an entire
  4497. page instead.
  4498. git-svn-id: http://gperftools.googlecode.com/svn/trunk@228
  4499. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4500. M src/tests/page_heap_test.cc
  4501. commit f45133e75c09ca7d5e86bda2db16e30c6fa348c0
  4502. Author: alkondratenko@gmail.com
  4503. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4504. Date: Fri Jul 26 18:04:03 2013 +0000
  4505. issue-553: Fix syscall wrapper for PowerPC
  4506. This is patch by Adhemerval Zanella.
  4507. * src/stacktrace_powerpc-inl.h: It is just a cleanup for the
  4508. stacktrace
  4509. functions for PowerPC. The idea is to simplify the code.
  4510. * src/tests/heap-checker_unittest.cc: Handles the PPC64 function
  4511. descriptor
  4512. correctly in malloc tracers. Different from other architecture,
  4513. for PPC64
  4514. the address returned in function pointers are the ODP entry, not the
  4515. symbol address in .text segment. This leads the comparison bogus,
  4516. since
  4517. it will compare a ODP entry with a .text address.
  4518. * src/heap-checker.cc: Add support for PPC in ptrace.
  4519. * src/base/elfcore.h: Likewise.
  4520. * src/base/linuxthreads.cc: Fix the thread creation using the clone
  4521. wrapper.
  4522. * src/base/linux_syscall_support.h: Various fixes for PPC32 and PPC64:
  4523. fixes the kernel_stat[64] struct layout, and sys_clone and
  4524. sys_socket
  4525. implementation.
  4526. git-svn-id: http://gperftools.googlecode.com/svn/trunk@227
  4527. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4528. M src/base/elfcore.h
  4529. M src/base/linux_syscall_support.h
  4530. M src/base/linuxthreads.cc
  4531. M src/heap-checker.cc
  4532. M src/stacktrace_powerpc-inl.h
  4533. M src/tests/heap-checker_unittest.cc
  4534. commit ee2bf097133b115e3da249e43507e02645e46e59
  4535. Author: alkondratenko@gmail.com
  4536. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4537. Date: Sat Jul 20 21:37:26 2013 +0000
  4538. updated NEWS and packages/ for 2.1rc
  4539. git-svn-id: http://gperftools.googlecode.com/svn/trunk@226
  4540. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4541. M NEWS
  4542. M packages/deb/changelog
  4543. M packages/deb/control
  4544. M packages/deb/copyright
  4545. M packages/rpm/rpm.spec
  4546. commit 60ab178aeb827378d78cae8f1c6f893b14deaaf0
  4547. Author: alkondratenko@gmail.com
  4548. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4549. Date: Sat Jul 20 21:37:01 2013 +0000
  4550. bump version number for 2.1rc
  4551. git-svn-id: http://gperftools.googlecode.com/svn/trunk@225
  4552. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4553. M configure.ac
  4554. M src/windows/gperftools/tcmalloc.h
  4555. commit 7c2aa2f7c2cf901c17b9b9215224f725e798d1f2
  4556. Author: alkondratenko@gmail.com
  4557. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4558. Date: Sat Jul 20 21:35:56 2013 +0000
  4559. issue-546: fixed return type of Release_AtomicExchange on arm6+
  4560. git-svn-id: http://gperftools.googlecode.com/svn/trunk@224
  4561. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4562. M src/base/atomicops-internals-arm-v6plus.h
  4563. commit d8e12e94ea09eaf8b040c6887f75cdf832b5619b
  4564. Author: alkondratenko@gmail.com
  4565. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4566. Date: Sat Jul 20 21:35:14 2013 +0000
  4567. issue-549: handle most recent mingw that has sleep and nanosleep
  4568. I.e. we have to check their presence in configure and in case of their
  4569. presence we have to avoid re-defining then in window's port.h
  4570. git-svn-id: http://gperftools.googlecode.com/svn/trunk@223
  4571. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4572. M configure.ac
  4573. M src/windows/port.h
  4574. commit ac354636de8a4f11e4fde679b52e9f58fda0e079
  4575. Author: alkondratenko@gmail.com
  4576. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4577. Date: Sun Jul 14 04:19:02 2013 +0000
  4578. issue-550: remove config.h.in
  4579. Which is autoconf product and thus is not needed in source repository
  4580. git-svn-id: http://gperftools.googlecode.com/svn/trunk@222
  4581. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4582. D src/config.h.in
  4583. commit e54971d58641853a9515d9f0313645729eab113a
  4584. Author: alkondratenko@gmail.com
  4585. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4586. Date: Sat Jul 6 21:54:34 2013 +0000
  4587. issue-534: fixed a number of gcc warnings
  4588. This applies patch from Adhemerval Zanella.
  4589. git-svn-id: http://gperftools.googlecode.com/svn/trunk@221
  4590. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4591. M src/base/basictypes.h
  4592. M src/heap-profiler.cc
  4593. M src/profiler.cc
  4594. M src/tests/heap-checker_unittest.cc
  4595. M src/tests/page_heap_test.cc
  4596. commit 7dd038d7c58c9de889e3fcc552161533ea1baab1
  4597. Author: alkondratenko@gmail.com
  4598. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4599. Date: Sat Jul 6 20:48:18 2013 +0000
  4600. issue-545: corrected README for CPUPROFILE_FREQUENCY variable
  4601. Applied patch by Mikhail Veltishchev
  4602. git-svn-id: http://gperftools.googlecode.com/svn/trunk@220
  4603. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4604. M README
  4605. commit a833a146b7de93774f0a9428edc5eda410d9a7dc
  4606. Author: alkondratenko@gmail.com
  4607. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4608. Date: Sat Jul 6 20:46:50 2013 +0000
  4609. issue-528: fixed spelling
  4610. This simply applies patch by Lajos Veres
  4611. git-svn-id: http://gperftools.googlecode.com/svn/trunk@219
  4612. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4613. M doc/heapprofile.html
  4614. M doc/pprof_remote_servers.html
  4615. M src/base/spinlock.cc
  4616. M src/base/sysinfo.cc
  4617. M src/base/sysinfo.h
  4618. M src/gperftools/profiler.h
  4619. M src/pprof
  4620. M src/stacktrace_x86-inl.h
  4621. M src/windows/patch_functions.cc
  4622. M src/windows/preamble_patcher.cc
  4623. commit 205abf1e7cb860224cbf391c7f69a6192ccc5076
  4624. Author: alkondratenko@gmail.com
  4625. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4626. Date: Sun May 12 19:15:13 2013 +0000
  4627. issue-518: add support for x32 ABI to linux_syscall_support.h
  4628. As pointed out in the ticket this is taken from chromium review system
  4629. here: https://codereview.chromium.org/13648012
  4630. git-svn-id: http://gperftools.googlecode.com/svn/trunk@218
  4631. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4632. M src/base/linux_syscall_support.h
  4633. commit 376a3107aa06063d72132318ac5ad266466e4325
  4634. Author: alkondratenko@gmail.com
  4635. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4636. Date: Tue May 7 22:28:05 2013 +0000
  4637. issue-368: allocate enough bytes for large metadata allocations
  4638. During issue-368 review it was correctly pointed out then in place
  4639. where I compare metadata allocation size to threshold I should pass
  4640. that size down to TCMalloc_SystemAlloc instead of threshold.
  4641. git-svn-id: http://gperftools.googlecode.com/svn/trunk@217
  4642. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4643. M src/common.cc
  4644. commit 58d39a1b2190b9d0b719ee33f7bc5383a9b27462
  4645. Author: alkondratenko@gmail.com
  4646. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4647. Date: Tue May 7 22:23:37 2013 +0000
  4648. issue-368: added missing large_heap_fragmentation_unittest.cc
  4649. git-svn-id: http://gperftools.googlecode.com/svn/trunk@216
  4650. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4651. A src/tests/large_heap_fragmentation_unittest.cc
  4652. commit c45bb7d6033952ea33bb181c1f96999317b535a1
  4653. Author: alkondratenko@gmail.com
  4654. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4655. Date: Tue May 7 19:22:45 2013 +0000
  4656. issue-511: fixed negative offset handling for conditional jumps
  4657. While doing and testing issue-511 I've found one subtle bug which is
  4658. incorrect handling of short offsets. They are defined to be signed but
  4659. previous code used unsigned char for them which caused negative
  4660. offsets to look like larger positive offsets. Fix is trivial.
  4661. git-svn-id: http://gperftools.googlecode.com/svn/trunk@215
  4662. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4663. M src/windows/preamble_patcher.cc
  4664. commit 3567b1701aa55a6421aefa5f3de1ca5507cbdf79
  4665. Author: alkondratenko@gmail.com
  4666. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4667. Date: Tue May 7 19:15:35 2013 +0000
  4668. issue-511: recognise rex.w jmpq *<literal>(%rip) as iat jump
  4669. Apparently Windows Server 2012 (and presumably windows 8) now has this
  4670. form of iat jump. Which is quite useless (rex.w is according to my
  4671. understanding is not needed at all) but because of rex.w our code to
  4672. recognize jumps like that didn't work.
  4673. Fix is just skip this prefix.
  4674. git-svn-id: http://gperftools.googlecode.com/svn/trunk@214
  4675. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4676. M src/windows/preamble_patcher.cc
  4677. commit 7fcb5ac0696e7ef7f7e7e51c18745af25de7da96
  4678. Author: alkondratenko@gmail.com
  4679. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4680. Date: Tue May 7 19:13:29 2013 +0000
  4681. issue-511: implemented rel8 jump patching
  4682. I've found that Visual Studio 2012 release 32-bit C runtime library
  4683. patching fails because array new has rel8 jmp which previous code
  4684. could not handle.
  4685. Implementation is largely copied from conditional jumps handling code.
  4686. git-svn-id: http://gperftools.googlecode.com/svn/trunk@213
  4687. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4688. M src/windows/preamble_patcher.cc
  4689. M src/windows/preamble_patcher.h
  4690. M src/windows/preamble_patcher_with_stub.cc
  4691. commit 8cb4086a0aee539869bd087a85881788545b23d6
  4692. Author: alkondratenko@gmail.com
  4693. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4694. Date: Mon May 6 19:50:59 2013 +0000
  4695. issue-368: test that we don't fragment large spans too badly
  4696. This adds unit test that does essentially same things as code to
  4697. reproduce bug in
  4698. https://code.google.com/p/gperftools/issues/detail?id=368
  4699. git-svn-id: http://gperftools.googlecode.com/svn/trunk@212
  4700. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4701. M Makefile.am
  4702. commit f25ac4421f9efb635b88105e9c0830293ce19f9d
  4703. Author: alkondratenko@gmail.com
  4704. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4705. Date: Mon May 6 19:50:23 2013 +0000
  4706. issue-{368,443}: allocate metadata in big batches
  4707. It uses same approach as PageHeapAllocator. Namely allocates big chunk
  4708. which is then used to satisfy smaller allocations.
  4709. In issue-443 gradual heap grows causes old code that allocates
  4710. metadata in smaller pieces and thus more frequently to fragment the
  4711. heap. It's also causing most of 368 heap fragmentation too.
  4712. New code allocates 8 megs of address space at once for metadata
  4713. allocations. Most OSes will allocate actual memory only when
  4714. corresponding pages are touched. Thus this change should not cause
  4715. increased memory usage.
  4716. I've also made sure metadata is always properly aligned in case we
  4717. ever allocate something that breaks natural alignment. E.g. strings.
  4718. git-svn-id: http://gperftools.googlecode.com/svn/trunk@211
  4719. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4720. M src/common.cc
  4721. commit 4fd762cead660d4661359ad507083ac4f4967ee4
  4722. Author: alkondratenko@gmail.com
  4723. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4724. Date: Mon May 6 19:49:48 2013 +0000
  4725. issue-368: unmap free spans and retry before growing heap
  4726. Because unmapped spans are not coalesced with normal spans it's
  4727. possible that we indeed have a large enough free span, but we fail to
  4728. see that because we always consider unmapped and normal spans
  4729. separately. That behavior is more likely for larger spans.
  4730. In order to protect programs that grow heap frequently and by small
  4731. amounts from much more frequent minor page faults, there's limit of
  4732. running that force pages unmap path once per 128 megs of heap growth.
  4733. git-svn-id: http://gperftools.googlecode.com/svn/trunk@210
  4734. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4735. M src/page_heap.cc
  4736. commit 99fe9944de32046fd954399e60415fba7d03eeb0
  4737. Author: alkondratenko@gmail.com
  4738. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4739. Date: Mon Apr 1 05:32:22 2013 +0000
  4740. issue-510: remove duplicate arm #elif
  4741. git-svn-id: http://gperftools.googlecode.com/svn/trunk@209
  4742. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4743. M src/base/basictypes.h
  4744. commit 6354e2c8cdaaaeffdfe7d5b347b125394e2d55fa
  4745. Author: alkondratenko@gmail.com
  4746. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4747. Date: Mon Mar 11 19:24:49 2013 +0000
  4748. issue-506: fixed bogus unit test failure
  4749. Looks like my version of GCC is aware that free(malloc(X)) is a
  4750. no-op. So it optimizes that away completely ignoring simple fact that
  4751. we're observing malloc hooks invocations. By adding check that malloc
  4752. succeeded we force gcc to actually preserve that malloc call.
  4753. git-svn-id: http://gperftools.googlecode.com/svn/trunk@208
  4754. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4755. M src/tests/malloc_extension_c_test.c
  4756. commit 7896dcb9db2375fcd1d8d19052985a12ad113ba9
  4757. Author: alkondratenko@gmail.com
  4758. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4759. Date: Mon Mar 11 19:16:47 2013 +0000
  4760. issue-504: disable tls on mingw
  4761. Which is known to fail.
  4762. git-svn-id: http://gperftools.googlecode.com/svn/trunk@207
  4763. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4764. M configure.ac
  4765. commit 8bf4522aa53a7b612a865bc10716192f0f05314b
  4766. Author: alkondratenko@gmail.com
  4767. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4768. Date: Mon Mar 11 19:15:46 2013 +0000
  4769. issue-504: do not define HAVE_MMAP on mingw
  4770. Because, clearly, windows doesn't have one
  4771. git-svn-id: http://gperftools.googlecode.com/svn/trunk@206
  4772. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4773. M configure.ac
  4774. commit 9c24d255cdd8dab7482d968acc69d493680233ce
  4775. Author: alkondratenko@gmail.com
  4776. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4777. Date: Mon Mar 11 19:15:23 2013 +0000
  4778. issue-504: add AM_LDFLAGS to all *_la targets
  4779. Because automake will not automatically add AM_LDFLAGS if there's
  4780. per-target LDFLAGS. See their good info manual.
  4781. This fixes .dll compilation of tcmalloc
  4782. git-svn-id: http://gperftools.googlecode.com/svn/trunk@205
  4783. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4784. M Makefile.am
  4785. commit a2275fc6b48b98d5265388bb8586faa7c8cc581f
  4786. Author: alkondratenko@gmail.com
  4787. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4788. Date: Mon Mar 11 19:14:18 2013 +0000
  4789. issue-504: don't try to typedef pid_t on mingw
  4790. Because recent mingws (more then few years ago seemingly) do that
  4791. already.
  4792. git-svn-id: http://gperftools.googlecode.com/svn/trunk@204
  4793. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4794. M src/windows/mingw.h
  4795. M src/windows/port.h
  4796. commit f00977533de6fd27a2f796b2e8e9adb7fcd965e8
  4797. Author: alkondratenko@gmail.com
  4798. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4799. Date: Mon Mar 11 19:13:53 2013 +0000
  4800. issue-504: use gcc inline assembly atomic ops on mingw
  4801. Because those are well tested and can be trusted
  4802. git-svn-id: http://gperftools.googlecode.com/svn/trunk@203
  4803. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4804. M Makefile.am
  4805. M src/base/atomicops.h
  4806. commit 34cdd6821b637b124722687578aa119e8714266c
  4807. Author: alkondratenko@gmail.com
  4808. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4809. Date: Mon Mar 11 19:13:13 2013 +0000
  4810. issue-504: use lowercase windows includes for mingw x-compilation
  4811. I.e. so that I can build tcmalloc.dll using comfortable environment of
  4812. my GNU/Linux box and without having to touch actual windows box or VM.
  4813. git-svn-id: http://gperftools.googlecode.com/svn/trunk@202
  4814. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4815. M Makefile.am
  4816. M src/base/sysinfo.h
  4817. M src/windows/patch_functions.cc
  4818. commit 0971d80d0ef0c881dcf46453e576a7e289d86975
  4819. Author: alkondratenko@gmail.com
  4820. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4821. Date: Mon Mar 11 18:35:16 2013 +0000
  4822. issue-503: updated svn:ignore to ignore generated files
  4823. git-svn-id: http://gperftools.googlecode.com/svn/trunk@201
  4824. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4825. commit 05b100d9d4ffeb1342eb5ecf50bd0d2339e626c5
  4826. Author: alkondratenko@gmail.com
  4827. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4828. Date: Mon Mar 11 18:32:05 2013 +0000
  4829. issue-503: removed checked in configure and other auto* products
  4830. So that it's easier to contribute and review contributions.
  4831. People wishing to build gperftools from svn checkout should run
  4832. autogen.sh first which will create those files and then ./configure &&
  4833. make as usual
  4834. INSTALL file has updated instructions too.
  4835. git-svn-id: http://gperftools.googlecode.com/svn/trunk@200
  4836. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4837. M INSTALL
  4838. D Makefile.in
  4839. D aclocal.m4
  4840. M autogen.sh
  4841. D compile
  4842. D config.guess
  4843. D config.sub
  4844. D configure
  4845. M configure.ac
  4846. D depcomp
  4847. D install-sh
  4848. D ltmain.sh
  4849. D m4/libtool.m4
  4850. D m4/ltoptions.m4
  4851. D m4/ltsugar.m4
  4852. D m4/ltversion.m4
  4853. D m4/lt~obsolete.m4
  4854. D missing
  4855. D mkinstalldirs
  4856. commit dcf55b976f19a186ac04d60d95e03ed2795285c4
  4857. Author: alkondratenko@gmail.com
  4858. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4859. Date: Mon Mar 11 18:29:00 2013 +0000
  4860. issue-503: recover original INSTALL file
  4861. That was accidently overwritten by autotools files update in r196
  4862. git-svn-id: http://gperftools.googlecode.com/svn/trunk@199
  4863. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4864. M INSTALL
  4865. commit 5037f687d1de80722f634e84763572caf2725f98
  4866. Author: chappedm@gmail.com
  4867. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4868. Date: Mon Mar 11 01:35:37 2013 +0000
  4869. issue-425: Fixed tcmalloc unittest crashes for windows builds
  4870. Missing use of volatile was causing vs2010 to perform unwanted
  4871. optimization resulting in the crash. See issue for more details.
  4872. git-svn-id: http://gperftools.googlecode.com/svn/trunk@198
  4873. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4874. M src/tests/tcmalloc_unittest.cc
  4875. commit beb78cc05babf0a49d21aed0ec789f19fc0f2d28
  4876. Author: chappedm@gmail.com
  4877. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4878. Date: Mon Mar 11 00:23:03 2013 +0000
  4879. issue-493: Fix for building against ARM targets
  4880. gperftools was failing to build for arm targets for the following
  4881. reasons:
  4882. 1. Some ARMv7 instructions used when the target is ARMv6 so those
  4883. fail to assemble
  4884. 2. The cache line length is undefined for ARM architectures
  4885. git-svn-id: http://gperftools.googlecode.com/svn/trunk@197
  4886. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4887. M src/base/atomicops-internals-arm-v6plus.h
  4888. M src/base/basictypes.h
  4889. commit bd3b3a7e9a67fac846cf574f5bfd241157bdfe3c
  4890. Author: chappedm@gmail.com
  4891. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4892. Date: Sun Mar 10 20:17:21 2013 +0000
  4893. issue-496: Fixes an issue where tcmalloc might deadlock in a thread
  4894. calling fork
  4895. tcmalloc contained a bug where some internal locks were left in a
  4896. undefined state
  4897. between fork, leaving the child process in a deadlock state. This
  4898. patch fixes the
  4899. issue by introducing stricter locking between the parent nd child
  4900. while forking.
  4901. git-svn-id: http://gperftools.googlecode.com/svn/trunk@196
  4902. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4903. M INSTALL
  4904. M Makefile.in
  4905. M aclocal.m4
  4906. M config.guess
  4907. M config.sub
  4908. M configure
  4909. M configure.ac
  4910. M depcomp
  4911. M install-sh
  4912. M missing
  4913. M mkinstalldirs
  4914. M src/central_freelist.h
  4915. M src/config.h.in
  4916. M src/static_vars.cc
  4917. commit 560ca8650c8a9d2971420970f0ed5e17848150eb
  4918. Author: chappedm@gmail.com
  4919. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4920. Date: Sun Mar 10 20:02:46 2013 +0000
  4921. issue-491: Significant performance improvement for spin lock
  4922. contention
  4923. This patch fixes issues where spinlocks under contention were
  4924. failing to
  4925. wakeup waiters, sometimes resulting in blow ups from 13ns to as high
  4926. as 256ms.
  4927. Under heavy contention, applications were observed sleeping for
  4928. minutes at a
  4929. time giving the appearance of a hang.
  4930. git-svn-id: http://gperftools.googlecode.com/svn/trunk@195
  4931. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4932. M src/base/spinlock.h
  4933. commit b591d53af951eac60683237204464ebfec2c3afa
  4934. Author: chappedm@gmail.com
  4935. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4936. Date: Sun Mar 10 19:54:39 2013 +0000
  4937. issue-490: Added support for acquire/release atomic exchange
  4938. The atomic ops API was missing support for all of the various
  4939. flavors of Acquire_AtomicExchange and Release_AtomicExchange
  4940. which have now been added.
  4941. git-svn-id: http://gperftools.googlecode.com/svn/trunk@194
  4942. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4943. M src/base/atomicops-internals-arm-generic.h
  4944. M src/base/atomicops-internals-arm-v6plus.h
  4945. M src/base/atomicops-internals-linuxppc.h
  4946. M src/base/atomicops-internals-macosx.h
  4947. M src/base/atomicops-internals-windows.h
  4948. M src/base/atomicops-internals-x86.h
  4949. M src/base/atomicops.h
  4950. M src/tests/atomicops_unittest.cc
  4951. commit 687207b5fcfadc821a3d5b94f2ea112ca933e476
  4952. Author: chappedm@gmail.com
  4953. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4954. Date: Sun Mar 10 19:44:43 2013 +0000
  4955. issue-443: Increase the number of objects transferred between thread
  4956. cache and central free list
  4957. This fix is a result of a performance degradation observed in
  4958. multi-threaded programs where large
  4959. amounts of memory (30GB) are consumed, released by a pool of threads
  4960. in a cyclic manner. This was
  4961. mainly due to the amount of time we were spending in the slow path
  4962. consolidating memory between
  4963. the thread cache and central free list. The default has been bumped
  4964. up to 32768 and is now also
  4965. controllable through the TCMALLOC_TRANSFER_NUM_OBJ environment
  4966. setting.
  4967. git-svn-id: http://gperftools.googlecode.com/svn/trunk@193
  4968. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4969. M Makefile.am
  4970. M Makefile.in
  4971. M src/common.cc
  4972. M src/common.h
  4973. A src/tests/tcmalloc_unittest.sh
  4974. commit 19eff86f850e54683c8868316e362af8919df18a
  4975. Author: alkondratenko@gmail.com
  4976. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4977. Date: Sat Mar 9 01:16:17 2013 +0000
  4978. actually made svn:ignore work
  4979. git-svn-id: http://gperftools.googlecode.com/svn/trunk@192
  4980. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4981. commit 177a896a8273ae73affc48a126fcf9a3ba91f502
  4982. Author: alkondratenko@gmail.com
  4983. <alkondratenko@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4984. Date: Sat Mar 9 01:06:58 2013 +0000
  4985. added proper svn:ignore
  4986. git-svn-id: http://gperftools.googlecode.com/svn/trunk@191
  4987. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4988. commit b96203b591f63d24cd2979241b18534d22358bca
  4989. Author: chappedm@gmail.com
  4990. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  4991. Date: Sat Dec 22 20:14:08 2012 +0000
  4992. issue-461: Fix to malloc_extension.h so that it builds with
  4993. -std=gnu++98
  4994. git-svn-id: http://gperftools.googlecode.com/svn/trunk@190
  4995. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  4996. M src/gperftools/malloc_extension.h
  4997. commit 84b983c8d43f43a3c7f71d45d51fc4adcc688cd9
  4998. Author: chappedm@gmail.com
  4999. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5000. Date: Sat Dec 22 20:06:47 2012 +0000
  5001. issue-465: Adding automagic support for __builtin_expect
  5002. Previously __builtin_ expect was based on a macro check against
  5003. gcc version.
  5004. Now we perform the check via AM which is a cleaner approach. There
  5005. are also
  5006. a number of code changes here to utilize LIKELY/UNLIKELY macros
  5007. based on
  5008. __builtin_expect to improve performance.
  5009. git-svn-id: http://gperftools.googlecode.com/svn/trunk@189
  5010. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5011. M configure
  5012. M configure.ac
  5013. M src/base/basictypes.h
  5014. M src/common.h
  5015. M src/config.h.in
  5016. M src/tcmalloc.cc
  5017. commit a5dacccd6ae4cbfedb5263bfe0f325f03c7f0db8
  5018. Author: chappedm@gmail.com
  5019. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5020. Date: Sat Dec 22 19:06:35 2012 +0000
  5021. issue-466: Clarified stats output and comments for ExtractStats()
  5022. and GetThreadStats()
  5023. git-svn-id: http://gperftools.googlecode.com/svn/trunk@188
  5024. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5025. M src/tcmalloc.cc
  5026. M src/thread_cache.h
  5027. commit 09d97533b09e473c0cdd269e8cf4e9a9737e49fa
  5028. Author: chappedm@gmail.com
  5029. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5030. Date: Sat Dec 22 19:02:52 2012 +0000
  5031. issue-467: Fixed issue with allocation size being narrowed to 32-bit
  5032. git-svn-id: http://gperftools.googlecode.com/svn/trunk@187
  5033. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5034. M src/tcmalloc.cc
  5035. commit 990889e6232ff3787f1d42d4091a0478ffb93988
  5036. Author: chappedm@gmail.com
  5037. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5038. Date: Sat Dec 22 18:53:18 2012 +0000
  5039. issue-470: Allows the default system allocator to be overidden
  5040. This is useful when you run into cases where you need an allocator
  5041. before tcmalloc has been fully initialized.
  5042. git-svn-id: http://gperftools.googlecode.com/svn/trunk@186
  5043. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5044. M src/system-alloc.cc
  5045. commit 3bf5f55d78769d2f8525626dd662457d2f014151
  5046. Author: chappedm@gmail.com
  5047. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5048. Date: Sat Dec 22 18:38:48 2012 +0000
  5049. issue-482: Adds support for CACHELINE_ALIGNED value for arm based
  5050. devices
  5051. Hardcoded the cacheline size to 32 because this value is supported
  5052. by several
  5053. arm devices, however a better logic needs to be implemented at some
  5054. point to
  5055. handle more arm devices.
  5056. git-svn-id: http://gperftools.googlecode.com/svn/trunk@185
  5057. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5058. M src/base/basictypes.h
  5059. commit 6856d1d1b2a807efd84dcafa10b865b6de22bc28
  5060. Author: chappedm@gmail.com
  5061. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5062. Date: Sat Dec 22 18:34:43 2012 +0000
  5063. issue-488: Performance improvement for initialization checks
  5064. These came in from the Google-internal version of tcmalloc. They
  5065. saw some
  5066. decent speed improvements, both on microbenchmarks and big
  5067. programs. The
  5068. idea is to improve the speed of the "Is everything initialized?" type
  5069. of
  5070. code, that's at the start of all allocations and deallocations.
  5071. git-svn-id: http://gperftools.googlecode.com/svn/trunk@184
  5072. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5073. M src/static_vars.h
  5074. M src/tcmalloc.cc
  5075. M src/thread_cache.cc
  5076. M src/thread_cache.h
  5077. commit ad5aa05838121d52ad1fde5463a796c3320fe067
  5078. Author: chappedm@gmail.com
  5079. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5080. Date: Sat Dec 22 18:25:58 2012 +0000
  5081. issue-483: Speed up accesses to ClassIndex()
  5082. Making its return type unsigned can save a conversion from
  5083. signed to unsigned, and getting rid of the ternary operators
  5084. seems to help a little bit as well. Various gcc versions weren't
  5085. generating conditional moves for them as one would expect.
  5086. git-svn-id: http://gperftools.googlecode.com/svn/trunk@183
  5087. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5088. M src/base/basictypes.h
  5089. M src/common.h
  5090. commit 8de78fd85b69bc569ac8fc9e75144e02f5cae851
  5091. Author: chappedm@gmail.com
  5092. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5093. Date: Mon Nov 5 04:45:01 2012 +0000
  5094. issue-452: Adds a control mechanism to the cpu profiler to be switched
  5095. on and off using a user defined signal.
  5096. CPUPROFILESIGNAL - Takes a signal number between the value of 1 and
  5097. 64 inclusive which represents a signal
  5098. number as defined by signal.h. The signal must
  5099. not be in use by the program. Sending this
  5100. signal to the program turns profiling on and off
  5101. like a switch. By default the switch is
  5102. off when the program starts. Successive profiles
  5103. are suffixed with a monotonically increasing
  5104. number.
  5105. git-svn-id: http://gperftools.googlecode.com/svn/trunk@182
  5106. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5107. M doc/cpuprofile.html
  5108. M src/profiler.cc
  5109. commit 46f06ca0db41d3f598750caefdaf3c6063969e64
  5110. Author: chappedm@gmail.com
  5111. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5112. Date: Sun Nov 4 23:08:17 2012 +0000
  5113. issue-451: Fixed incorrect assembly for 64-bit barrier load and
  5114. store on windows platforms.
  5115. git-svn-id: http://gperftools.googlecode.com/svn/trunk@181
  5116. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5117. M src/base/atomicops-internals-windows.h
  5118. commit 5fe91d5623c2351ba4675db71822fc6be5e2cbce
  5119. Author: chappedm@gmail.com
  5120. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5121. Date: Sun Nov 4 22:53:01 2012 +0000
  5122. issue-450: Move includes for struct mallinfo from tcmalloc.cc to
  5123. tcmalloc.h to fix compiler warnings from clang.
  5124. git-svn-id: http://gperftools.googlecode.com/svn/trunk@180
  5125. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5126. M src/gperftools/tcmalloc.h.in
  5127. M src/tcmalloc.cc
  5128. commit 86a55316baf2a7c0718670fd7342b648e0ef4a87
  5129. Author: chappedm@gmail.com
  5130. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5131. Date: Sun Nov 4 19:12:42 2012 +0000
  5132. issue-449: Disables mmap check when cross compiling since it is
  5133. meaningless anyways
  5134. git-svn-id: http://gperftools.googlecode.com/svn/trunk@179
  5135. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5136. M configure
  5137. M configure.ac
  5138. commit 6f6c2bf68576e43491884364fc05c9ed752adb4f
  5139. Author: chappedm@gmail.com
  5140. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5141. Date: Sun Nov 4 19:02:15 2012 +0000
  5142. issue-448: New environment setting that allows you to set an explicit
  5143. heap limit
  5144. TCMALLOC_HEAP_LIMIT_MB - The maximum amount of heap memory that
  5145. tcmalloc can use.
  5146. TCMALLOC_DISABLE_MEMORY_RELEASE - emulate platform with no
  5147. MADV_DONTNEED support (generally for testing purposes).
  5148. git-svn-id: http://gperftools.googlecode.com/svn/trunk@178
  5149. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5150. M src/page_heap.cc
  5151. M src/page_heap.h
  5152. M src/system-alloc.cc
  5153. M src/system-alloc.h
  5154. M src/tests/page_heap_test.cc
  5155. M src/tests/tcmalloc_unittest.cc
  5156. M src/windows/port.cc
  5157. commit 644b1c6e355a0f5dd948ca482a575f49a4bd2032
  5158. Author: chappedm@gmail.com
  5159. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5160. Date: Sun Nov 4 18:30:05 2012 +0000
  5161. issue-445: Fix for wrong cmpx instruction in OSAtomicCompareAndSwap64
  5162. for ppc64
  5163. git-svn-id: http://gperftools.googlecode.com/svn/trunk@177
  5164. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5165. M src/base/atomicops-internals-linuxppc.h
  5166. commit e32bb2d9a76dc5ee42ee41a2ca2c6e5caece0150
  5167. Author: chappedm@gmail.com
  5168. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5169. Date: Sun Nov 4 18:24:46 2012 +0000
  5170. issue-444: Fix for invalid conversion build error in signal handler
  5171. code
  5172. git-svn-id: http://gperftools.googlecode.com/svn/trunk@176
  5173. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5174. M src/base/linux_syscall_support.h
  5175. commit abeaf46028c8dfab7e7867ee7a3a49ebe21cf129
  5176. Author: chappedm@gmail.com
  5177. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5178. Date: Sun Nov 4 18:15:11 2012 +0000
  5179. issue-430: Introduces 8-byte alignment support for tcmalloc
  5180. git-svn-id: http://gperftools.googlecode.com/svn/trunk@175
  5181. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5182. M src/common.cc
  5183. M src/common.h
  5184. M src/tests/tcmalloc_unittest.cc
  5185. commit baaf0188295582ca68df03f70baa13d96a88e2eb
  5186. Author: chappedm@gmail.com
  5187. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5188. Date: Sun Nov 4 17:41:47 2012 +0000
  5189. issue-473: Fix for make install error regarding
  5190. src/windows/google/tcmalloc.h
  5191. git-svn-id: http://gperftools.googlecode.com/svn/trunk@174
  5192. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5193. M Makefile.am
  5194. M Makefile.in
  5195. commit 1363bc69550f43af693f6455118432988042a8dd
  5196. Author: chappedm@gmail.com
  5197. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5198. Date: Sun Nov 4 17:21:00 2012 +0000
  5199. issue-475: Re-applying changes made originally for r150 and r151
  5200. - Used aclocal, autoupdate, autoconf, and automake to
  5201. correctly apply changes made to Makefile.am. Detailed
  5202. instructions on this procedure can be found here
  5203. http://inti.sourceforge.net/tutorial/libinti/autotoolsproject.html.
  5204. - Fixed a number of error/warning messages due to use of newer
  5205. aclocal, autoconf, and automake utilities.
  5206. - Directly and indirectly related to issue-385 and issue-480.
  5207. git-svn-id: http://gperftools.googlecode.com/svn/trunk@173
  5208. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5209. M Makefile.am
  5210. M Makefile.in
  5211. M aclocal.m4
  5212. M configure
  5213. M configure.ac
  5214. M m4/libtool.m4
  5215. commit 1243295cdcc20f2f47df9bdc9b8bb50b69c085b0
  5216. Author: chappedm@gmail.com
  5217. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5218. Date: Sun Nov 4 15:59:08 2012 +0000
  5219. issue-475: Amend of r151 and r150
  5220. In revisions 151 and 150 an attempt was made to enable frame pointers
  5221. by default for i386. However, in the process of doing so a number of
  5222. files were inadvertently touched as a result of running autogen.sh. As
  5223. a result, I have needed to roll back these revisions so that I can
  5224. reattempt the change.
  5225. git-svn-id: http://gperftools.googlecode.com/svn/trunk@172
  5226. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5227. M INSTALL
  5228. M Makefile.am
  5229. M Makefile.in
  5230. M aclocal.m4
  5231. M config.guess
  5232. M config.sub
  5233. M configure
  5234. M configure.ac
  5235. M depcomp
  5236. M install-sh
  5237. M ltmain.sh
  5238. M m4/libtool.m4
  5239. M m4/ltoptions.m4
  5240. M m4/ltversion.m4
  5241. M m4/lt~obsolete.m4
  5242. M missing
  5243. M mkinstalldirs
  5244. commit 5c17459c5e7b4133a2dec5ffe6a9237a114f5378
  5245. Author: chappedm@gmail.com
  5246. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5247. Date: Sat Nov 3 16:14:25 2012 +0000
  5248. issue-476: Amendment to r152:issue-437 to fix a build error due to
  5249. PR_SET_TRACER not being defined in older glibc releases.
  5250. git-svn-id: http://gperftools.googlecode.com/svn/trunk@171
  5251. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5252. M src/base/linuxthreads.cc
  5253. commit 6287bbbbad8730712cfd1ee28ecc0648cbaa9f94
  5254. Author: chappedm@gmail.com
  5255. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5256. Date: Sat Nov 3 15:56:27 2012 +0000
  5257. issue-477: Fix clang compilation errors regarding format specifiers
  5258. git-svn-id: http://gperftools.googlecode.com/svn/trunk@170
  5259. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5260. M src/base/sysinfo.cc
  5261. M src/debugallocation.cc
  5262. M src/getpc.h
  5263. M src/heap-checker.cc
  5264. M src/heap-profile-table.cc
  5265. M src/heap-profiler.cc
  5266. M src/malloc_extension.cc
  5267. M src/memory_region_map.cc
  5268. M src/symbolize.cc
  5269. M src/tcmalloc.cc
  5270. M src/tests/markidle_unittest.cc
  5271. M src/tests/tcmalloc_unittest.cc
  5272. commit 87699c97cc07b30fc2765415853ae685f7bc45f2
  5273. Author: chappedm@gmail.com
  5274. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5275. Date: Sat Nov 3 15:40:01 2012 +0000
  5276. issue-478: Added the heap profiler tunnable setting
  5277. HEAP_PROFILER_TIME_INTERVAL used to dump heap profiles on a specified
  5278. time interval.
  5279. git-svn-id: http://gperftools.googlecode.com/svn/trunk@169
  5280. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5281. M doc/heapprofile.html
  5282. M src/heap-profiler.cc
  5283. commit 4eb6946d689bbaa74f8be78265f6d6ff9ae04ab2
  5284. Author: chappedm@gmail.com
  5285. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5286. Date: Sat Nov 3 15:27:58 2012 +0000
  5287. issue-479: Replaced sscanf usage while iterating proc maps entries
  5288. to fix a deadlock introduced by glibc-2.15.
  5289. git-svn-id: http://gperftools.googlecode.com/svn/trunk@168
  5290. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5291. M src/base/sysinfo.cc
  5292. commit 5dd53ab6cbf9d98f2d60546835e84785a104da46
  5293. Author: chappedm@gmail.com
  5294. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5295. Date: Sat Nov 3 14:52:42 2012 +0000
  5296. issue-481: Replaced test mechanism for distinct address spaces with
  5297. a more reliable mechanism
  5298. Rather than using sys_ptrace+PTRACE_PEEK_DATA to determine whether
  5299. address spaces are distinct, we now use sys_waitpid+__WCLONE. See
  5300. issue-481 for a more detailed rationale.
  5301. git-svn-id: http://gperftools.googlecode.com/svn/trunk@167
  5302. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5303. M src/base/linuxthreads.cc
  5304. commit 6c436203522156699ef11c6792ed481e02cef366
  5305. Author: chappedm@gmail.com
  5306. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5307. Date: Sat Nov 3 14:36:33 2012 +0000
  5308. amend-r165: forgot to regenrate configure and Makefile.in
  5309. git-svn-id: http://gperftools.googlecode.com/svn/trunk@166
  5310. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5311. M Makefile.in
  5312. M configure
  5313. commit c566266b10d2fc4e0c67fec25e2a45ebad803196
  5314. Author: chappedm@gmail.com
  5315. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5316. Date: Sat Nov 3 14:13:21 2012 +0000
  5317. issue-480: duplicate of issue-385 fixed in r150 however some of the
  5318. comments in the code
  5319. regarding frame pointers needed to be clarified.
  5320. git-svn-id: http://gperftools.googlecode.com/svn/trunk@165
  5321. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5322. M Makefile.am
  5323. M configure.ac
  5324. commit 4f325fbcc9f0db17fbf108188a32b2c67bcd38e0
  5325. Author: chappedm@gmail.com
  5326. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5327. Date: Sun Oct 28 19:45:03 2012 +0000
  5328. issue-424: Updated heap profiler documentation that had
  5329. mispelling for the heap profiler mmap only environment setting
  5330. (HEAP_PROFILE_ONLY_MMAP)
  5331. git-svn-id: http://gperftools.googlecode.com/svn/trunk@164
  5332. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5333. M doc/heapprofile.html
  5334. commit a828c0a8ff59300fffce466cc617d40fa39dedea
  5335. Author: chappedm@gmail.com
  5336. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5337. Date: Sun Oct 28 19:30:23 2012 +0000
  5338. issue-417: This commit removed the fatal error message printed along
  5339. with the pprof usage information when pprof is run with no arguments.
  5340. git-svn-id: http://gperftools.googlecode.com/svn/trunk@163
  5341. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5342. M src/pprof
  5343. commit e5b095abdc2368111f53cedf376cd1505a2c7583
  5344. Author: chappedm@gmail.com
  5345. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5346. Date: Sun Oct 28 18:28:21 2012 +0000
  5347. issue-411: This commit adds additional logging to the cpu profiler
  5348. to warn when the profiler is run and no CPUPROFILE environment
  5349. setting can be found. It also adds a new environment variable
  5350. PERFTOOLS_UNITTEST to allow certain modules to take action when
  5351. running under the umbrella of a unit test.
  5352. git-svn-id: http://gperftools.googlecode.com/svn/trunk@162
  5353. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5354. M src/profiler.cc
  5355. M src/tests/profiler_unittest.sh
  5356. commit 57c48e9b5ffdb0f177c07ea8420c4072e816e1a7
  5357. Author: chappedm@gmail.com
  5358. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5359. Date: Sun Oct 28 14:51:41 2012 +0000
  5360. issue-405: backed out original commit made in revision 147 due to
  5361. the fact that it didn't work as intended
  5362. git-svn-id: http://gperftools.googlecode.com/svn/trunk@161
  5363. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5364. M src/heap-checker.cc
  5365. commit 3e296c28c3c2b67df624d372b75650ae65c87b04
  5366. Author: chappedm@gmail.com
  5367. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5368. Date: Tue Sep 18 02:47:24 2012 +0000
  5369. issue-442: Fixes an issue encountered on PPC with undefined
  5370. conversions from 'base::subtle::Atomic64*' to 'const volatile
  5371. Atomic32*'
  5372. git-svn-id: http://gperftools.googlecode.com/svn/trunk@160
  5373. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5374. M src/base/spinlock_internal.cc
  5375. commit 1f59bb34d3ce03df51c8356dd44fcb0b15de4769
  5376. Author: chappedm@gmail.com
  5377. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5378. Date: Tue Sep 18 02:33:00 2012 +0000
  5379. Adding support for CPU frequencies for Linux on PowerPC
  5380. git-svn-id: http://gperftools.googlecode.com/svn/trunk@159
  5381. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5382. M src/base/sysinfo.cc
  5383. commit a2fec7c694ce992a3b7d3fe4205bb8710b017bab
  5384. Author: chappedm@gmail.com
  5385. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5386. Date: Tue Sep 18 01:43:02 2012 +0000
  5387. issue-446: Fixes compatability issues in malloc_hook_test for PPC64
  5388. git-svn-id: http://gperftools.googlecode.com/svn/trunk@158
  5389. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5390. M src/tests/malloc_hook_test.cc
  5391. commit b05b6fc7655ba7fee8397da7013db007f0c47e30
  5392. Author: chappedm@gmail.com
  5393. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5394. Date: Tue Sep 18 01:27:34 2012 +0000
  5395. issue-458: Optimizes malloc hooks for weakly consistent memory
  5396. architectures
  5397. git-svn-id: http://gperftools.googlecode.com/svn/trunk@157
  5398. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5399. M src/malloc_hook-inl.h
  5400. commit 00edf667f62e17a268f03c6aaef19946add75dcf
  5401. Author: chappedm@gmail.com
  5402. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5403. Date: Tue Sep 18 01:18:15 2012 +0000
  5404. issue-456: Adds support for CACHELINE_ALIGNED values for PPC
  5405. git-svn-id: http://gperftools.googlecode.com/svn/trunk@156
  5406. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5407. M src/base/basictypes.h
  5408. commit 731d0932a081d521a36462df7dcbc45fa4221011
  5409. Author: chappedm@gmail.com
  5410. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5411. Date: Tue Sep 18 00:59:16 2012 +0000
  5412. issue-455: Adds another size for large pages in tcmalloc through
  5413. the new define TCMALLOC_LARGE_PAGES64K
  5414. git-svn-id: http://gperftools.googlecode.com/svn/trunk@155
  5415. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5416. M src/common.h
  5417. commit 771b6bcf689bd089b802ddcdb27a40b4fb4a8e3b
  5418. Author: chappedm@gmail.com
  5419. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5420. Date: Tue Sep 18 00:52:13 2012 +0000
  5421. issue-457: Fixed an issue where the 'getpc' testcase was using the
  5422. wrong PPC64 preprocessor directive
  5423. git-svn-id: http://gperftools.googlecode.com/svn/trunk@154
  5424. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5425. M src/tests/getpc_test.cc
  5426. commit 711232a1ef4997305a681287191de74f6597dabc
  5427. Author: chappedm@gmail.com
  5428. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5429. Date: Tue Sep 18 00:42:23 2012 +0000
  5430. issue-453 Added support to get the timebase register value using
  5431. just one instruction and also adjusts the PPC32 code to the recent
  5432. GLIBC one that implements the same functionality
  5433. git-svn-id: http://gperftools.googlecode.com/svn/trunk@153
  5434. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5435. M src/base/cycleclock.h
  5436. commit fa0209f261c5e065d523bb1858f84fd91eb2f39a
  5437. Author: chappedm@gmail.com
  5438. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5439. Date: Tue Sep 18 00:00:20 2012 +0000
  5440. issue-437 Fixed issues related to new glibc shipped with Ubuntu 10.10
  5441. 1. ptrace permissions were modifed to be a bit more strict which
  5442. required
  5443. us to programatically set the permissions while syncing up to
  5444. the profiling
  5445. thread.
  5446. 2. Order of destructors registered with atexit changed which was
  5447. casuing us to
  5448. miss generating the backtrace when heap checker was finished. Seems
  5449. that we
  5450. initially fixed this for FreeBSD and now linux has changed their
  5451. behaviour
  5452. to be the same. We are now a bit stricter on the rules here
  5453. accross all
  5454. platforms.
  5455. git-svn-id: http://gperftools.googlecode.com/svn/trunk@152
  5456. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5457. M src/base/linuxthreads.cc
  5458. M src/heap-checker.cc
  5459. commit cd723b43ff783a05321f0c0ba79a82494185b23c
  5460. Author: chappedm@gmail.com
  5461. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5462. Date: Wed May 16 12:24:13 2012 +0000
  5463. issue-385: updates to automake to pick up the explicit setting of
  5464. the -fno-omit-frame-pointer for i386
  5465. git-svn-id: http://gperftools.googlecode.com/svn/trunk@151
  5466. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5467. M INSTALL
  5468. M Makefile.am
  5469. M Makefile.in
  5470. M aclocal.m4
  5471. M config.guess
  5472. M config.sub
  5473. M configure
  5474. M configure.ac
  5475. M depcomp
  5476. M install-sh
  5477. M ltmain.sh
  5478. M m4/libtool.m4
  5479. M m4/ltoptions.m4
  5480. M m4/ltversion.m4
  5481. M m4/lt~obsolete.m4
  5482. M missing
  5483. M mkinstalldirs
  5484. commit 0c0382234d5812474b070b6eccdfd99c98490548
  5485. Author: chappedm@gmail.com
  5486. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5487. Date: Wed May 16 01:28:08 2012 +0000
  5488. issue-385: as of gcc 4.6 we now need to enable frame pointers for
  5489. i386 platforms since the default is to now omit frame pointers
  5490. git-svn-id: http://gperftools.googlecode.com/svn/trunk@150
  5491. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5492. M Makefile.am
  5493. commit bafd0f8b7cec4dd0b74a4a8e5456b96744640679
  5494. Author: chappedm@gmail.com
  5495. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5496. Date: Sat Apr 21 17:27:54 2012 +0000
  5497. Changing internal behaviour of tcmalloc to return an
  5498. allocated size of 0 when the target pointer is null (refer to
  5499. TCMallocImplementation::GetAllocatedSize). This change was reviewed
  5500. as https://codereview.appspot.com/5833050/.
  5501. git-svn-id: http://gperftools.googlecode.com/svn/trunk@149
  5502. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5503. M src/tcmalloc.cc
  5504. commit 9be2f8d802a19ab6e4b2abed3f7cd84780628d16
  5505. Author: chappedm@gmail.com
  5506. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5507. Date: Sat Apr 21 16:15:20 2012 +0000
  5508. Adding in further support for 64-bit NoBarrier_Load on windows
  5509. git-svn-id: http://gperftools.googlecode.com/svn/trunk@148
  5510. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5511. M src/base/atomicops-internals-windows.h
  5512. commit 68df7fa6057a29b3130d41a27592f74d58c2df57
  5513. Author: chappedm@gmail.com
  5514. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5515. Date: Sat Mar 3 19:45:49 2012 +0000
  5516. issue-405: Added a tunable to the heap checker that allows the heap
  5517. checker error exit code to be overridden. For larger projects this
  5518. allows certain heap checked programs that have intentional/known
  5519. leaks to be managed.
  5520. git-svn-id: http://gperftools.googlecode.com/svn/trunk@147
  5521. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5522. M src/heap-checker.cc
  5523. commit 0a9d3f8af373c71e5fabdc8c01239c47df4743ed
  5524. Author: chappedm@gmail.com
  5525. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5526. Date: Fri Mar 2 06:04:08 2012 +0000
  5527. issue-410: This set of changes exposes the central cache free list
  5528. size, transfer cache free list size, and the meta data overhead size
  5529. through the getNumericProperty() function.
  5530. git-svn-id: http://gperftools.googlecode.com/svn/trunk@146
  5531. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5532. M src/gperftools/malloc_extension.h
  5533. M src/tcmalloc.cc
  5534. commit 1233f0f9101c3f4e85e04711c7223dc7f73ec4fb
  5535. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5536. Date: Tue Feb 21 03:02:43 2012 +0000
  5537. This file is in the tarball, but I forgot to put it in svn as well.
  5538. (It's tricky because it's auto-generated from tcmalloc.h.in at
  5539. tarball-making time.)
  5540. git-svn-id: http://gperftools.googlecode.com/svn/trunk@145
  5541. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5542. A src/windows/gperftools/tcmalloc.h
  5543. commit ce2891234584069f90e6e0a446e28bf7ca3e031d
  5544. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5545. Date: Sat Feb 4 00:10:11 2012 +0000
  5546. Url-typo in the latest NEWS message.
  5547. git-svn-id: http://gperftools.googlecode.com/svn/trunk@144
  5548. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5549. M NEWS
  5550. commit 4e9432c5090d5b8354b0b57fca8b96b2efef37e3
  5551. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5552. Date: Sat Feb 4 00:07:36 2012 +0000
  5553. Fri Feb 03 15:40:45 2012 Google
  5554. Inc. <google-perftools@googlegroups.com>
  5555. * gperftools: version 2.0
  5556. * Renamed the project from google-perftools to gperftools
  5557. (csilvers)
  5558. * Renamed the .deb/.rpm packagse from google-perftools to
  5559. gperftools too
  5560. * Renamed include directory from google/ to gperftools/
  5561. (csilvers)
  5562. * Changed the 'official' perftools email in setup.py/etc
  5563. * Renamed google-perftools.sln to gperftools.sln
  5564. * PORTING: Removed bash-isms & grep -q in
  5565. heap-checker-death_unittest.sh
  5566. * Changed copyright text to reflect Google's relinquished
  5567. ownership
  5568. git-svn-id: http://gperftools.googlecode.com/svn/trunk@142
  5569. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5570. M AUTHORS
  5571. M ChangeLog
  5572. M INSTALL
  5573. M Makefile.am
  5574. M Makefile.in
  5575. M NEWS
  5576. M README
  5577. M README_windows.txt
  5578. M aclocal.m4
  5579. M config.guess
  5580. M config.sub
  5581. M configure
  5582. M configure.ac
  5583. M depcomp
  5584. M doc/cpuprofile.html
  5585. M doc/designstyle.css
  5586. M doc/heap_checker.html
  5587. M doc/heapprofile.html
  5588. M doc/index.html
  5589. M doc/pprof.1
  5590. M doc/pprof.see_also
  5591. M doc/pprof_remote_servers.html
  5592. R100 google-perftools.sln gperftools.sln
  5593. M install-sh
  5594. M missing
  5595. M mkinstalldirs
  5596. M packages/deb/changelog
  5597. M packages/deb/control
  5598. M packages/deb/copyright
  5599. R071 packages/deb/libgoogle-perftools-dev.dirs
  5600. packages/deb/libgperftools-dev.dirs
  5601. R079 packages/deb/libgoogle-perftools-dev.install
  5602. packages/deb/libgperftools-dev.install
  5603. R100 packages/deb/libgoogle-perftools0.dirs
  5604. packages/deb/libgperftools0.dirs
  5605. R100 packages/deb/libgoogle-perftools0.install
  5606. packages/deb/libgperftools0.install
  5607. R100 packages/deb/libgoogle-perftools0.manpages
  5608. packages/deb/libgperftools0.manpages
  5609. M packages/rpm/rpm.spec
  5610. M src/base/low_level_alloc.cc
  5611. M src/config.h.in
  5612. M src/debugallocation.cc
  5613. M src/google/heap-checker.h
  5614. M src/google/heap-profiler.h
  5615. M src/google/malloc_extension.h
  5616. M src/google/malloc_extension_c.h
  5617. M src/google/malloc_hook.h
  5618. M src/google/malloc_hook_c.h
  5619. M src/google/profiler.h
  5620. M src/google/stacktrace.h
  5621. A src/google/tcmalloc.h
  5622. C099 src/google/heap-checker.h src/gperftools/heap-checker.h
  5623. C100 src/google/heap-profiler.h src/gperftools/heap-profiler.h
  5624. C100 src/google/malloc_extension.h src/gperftools/malloc_extension.h
  5625. C100 src/google/malloc_extension_c.h
  5626. src/gperftools/malloc_extension_c.h
  5627. C099 src/google/malloc_hook.h src/gperftools/malloc_hook.h
  5628. C100 src/google/malloc_hook_c.h src/gperftools/malloc_hook_c.h
  5629. C100 src/google/profiler.h src/gperftools/profiler.h
  5630. C100 src/google/stacktrace.h src/gperftools/stacktrace.h
  5631. R098 src/google/tcmalloc.h.in src/gperftools/tcmalloc.h.in
  5632. M src/heap-checker-bcad.cc
  5633. M src/heap-checker.cc
  5634. M src/heap-profile-table.cc
  5635. M src/heap-profiler.cc
  5636. M src/internal_logging.cc
  5637. M src/libc_override.h
  5638. M src/libc_override_gcc_and_weak.h
  5639. M src/libc_override_glibc.h
  5640. M src/libc_override_osx.h
  5641. M src/malloc_extension.cc
  5642. M src/malloc_hook-inl.h
  5643. M src/malloc_hook.cc
  5644. M src/memfs_malloc.cc
  5645. M src/memory_region_map.cc
  5646. M src/page_heap.cc
  5647. M src/page_heap.h
  5648. M src/pprof
  5649. M src/profiler.cc
  5650. M src/stacktrace.cc
  5651. M src/stacktrace_arm-inl.h
  5652. M src/stacktrace_generic-inl.h
  5653. M src/stacktrace_libunwind-inl.h
  5654. M src/stacktrace_powerpc-inl.h
  5655. M src/stacktrace_win32-inl.h
  5656. M src/stacktrace_x86-inl.h
  5657. M src/system-alloc.cc
  5658. M src/tcmalloc.cc
  5659. M src/tests/current_allocated_bytes_test.cc
  5660. M src/tests/debugallocation_test.cc
  5661. M src/tests/frag_unittest.cc
  5662. M src/tests/heap-checker-death_unittest.sh
  5663. M src/tests/heap-checker_unittest.cc
  5664. M src/tests/heap-profiler_unittest.cc
  5665. M src/tests/low_level_alloc_unittest.cc
  5666. M src/tests/malloc_extension_c_test.c
  5667. M src/tests/malloc_extension_test.cc
  5668. M src/tests/malloc_hook_test.cc
  5669. M src/tests/markidle_unittest.cc
  5670. M src/tests/profiler_unittest.cc
  5671. M src/tests/sampling_test.cc
  5672. C059 src/tests/current_allocated_bytes_test.cc
  5673. src/tests/simple_compat_test.cc
  5674. M src/tests/stacktrace_unittest.cc
  5675. M src/tests/system-alloc_unittest.cc
  5676. M src/tests/tcmalloc_unittest.cc
  5677. M src/tests/thread_dealloc_unittest.cc
  5678. A src/windows/auto_testing_hook.h
  5679. M src/windows/config.h
  5680. A src/windows/google/tcmalloc.h
  5681. R098 src/windows/google/tcmalloc.h.in
  5682. src/windows/gperftools/tcmalloc.h.in
  5683. M src/windows/patch_functions.cc
  5684. M
  5685. vsprojects/current_allocated_bytes_test/current_allocated_bytes_test.vcproj
  5686. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  5687. M
  5688. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  5689. M vsprojects/malloc_extension_test/malloc_extension_test.vcproj
  5690. M vsprojects/malloc_hook_test/malloc_hook_test.vcproj
  5691. M vsprojects/tmu-static/tmu-static.vcproj
  5692. commit e10b720797359e1855a5e4769424988b4e76c3e7
  5693. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5694. Date: Sat Feb 4 00:06:48 2012 +0000
  5695. Last of the remnant empty directories that I don't know why they're
  5696. there.
  5697. git-svn-id: http://gperftools.googlecode.com/svn/trunk@141
  5698. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5699. commit e55949bba69b7a6eede3468765e86c5ed000be52
  5700. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5701. Date: Sat Feb 4 00:06:06 2012 +0000
  5702. This directory got renamed tmu-static a long time ago. Get rid of
  5703. this ancient remnant.
  5704. git-svn-id: http://gperftools.googlecode.com/svn/trunk@140
  5705. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5706. commit 0f588815f979721346a6cb05a1cbd83d670b975a
  5707. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5708. Date: Sat Feb 4 00:05:39 2012 +0000
  5709. Apparently I'm not good at deleting files from svn after they're no
  5710. longer used anymore. Get rid of a few more that fall into this
  5711. category.
  5712. git-svn-id: http://gperftools.googlecode.com/svn/trunk@139
  5713. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5714. D src/stacktrace_nacl-inl.h
  5715. D src/stacktrace_x86_64-inl.h
  5716. commit 2b2016f6844a88b9448d445f90ad1c849a56ea23
  5717. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5718. Date: Sat Feb 4 00:03:35 2012 +0000
  5719. I have no idea why I created this directory, but it's never been
  5720. used. Delete it.
  5721. git-svn-id: http://gperftools.googlecode.com/svn/trunk@138
  5722. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5723. commit ace2da06732ee549b6d64c1f59b62181f5110230
  5724. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5725. Date: Sat Feb 4 00:02:15 2012 +0000
  5726. This file has been obsolete for almost a year now; I just forgot to
  5727. delete it from svn.
  5728. git-svn-id: http://gperftools.googlecode.com/svn/trunk@137
  5729. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5730. D src/base/atomicops-internals-arm-gcc.h
  5731. commit 0afb078b34700859cef8d708463fc5c955e26c31
  5732. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5733. Date: Tue Jan 31 19:11:26 2012 +0000
  5734. Tue Jan 31 10:43:50 2012 Google Inc. <opensource@google.com>
  5735. * google-perftools: version 1.10 release
  5736. * PORTING: Support for patching assembly on win
  5737. x86_64! (scott.fr...)
  5738. * PORTING: Work around atexit-execution-order bug on freebsd
  5739. (csilvers)
  5740. * PORTING: Patch _calloc_crt for windows (roger orr)
  5741. * PORTING: Add C++11 compatibility method for stl allocator
  5742. (jdennett)
  5743. * PORTING: use MADV_FREE, not MADV_DONTNEED, on freebsd
  5744. (csilvers)
  5745. * PORTING: Don't use SYS_open when not supported on solaris
  5746. (csilvers)
  5747. * PORTING: Do not assume uname() returns 0 on success
  5748. (csilvers)
  5749. * LSS: Improved ARM support in linux-syscall-support
  5750. (dougkwan)
  5751. * LSS: Get rid of unused syscalls in linux-syscall-support
  5752. (csilvers)
  5753. * LSS: Fix broken mmap wrapping for ppc (markus)
  5754. * LSS: Emit .cfi_adjust_cfa_offset when appropriate
  5755. (ppluzhnikov)
  5756. * LSS: Be more accurate in register use in __asm__ (markus)
  5757. * LSS: Fix __asm__ calls to compile under clang (chandlerc)
  5758. * LSS: Fix ARM inline assembly bug around r7 and swi (lcwu)
  5759. * No longer log when an allocator fails (csilvers)
  5760. * void* -> const void* for MallocExtension methods (llib)
  5761. * Improve HEAP_PROFILE_MMAP and fix bugs with it (dmikurube)
  5762. * Replace int-based abs with more correct fabs in a test
  5763. (pmurin)
  5764. git-svn-id: http://gperftools.googlecode.com/svn/trunk@135
  5765. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5766. M ChangeLog
  5767. M Makefile.am
  5768. M Makefile.in
  5769. M NEWS
  5770. M README_windows.txt
  5771. M configure
  5772. M configure.ac
  5773. M google-perftools.sln
  5774. M packages/deb/changelog
  5775. M packages/deb/copyright
  5776. M src/pprof
  5777. M src/system-alloc.cc
  5778. M src/tcmalloc.cc
  5779. M src/windows/config.h
  5780. M src/windows/mini_disassembler.h
  5781. M src/windows/patch_functions.cc
  5782. M src/windows/preamble_patcher.h
  5783. M src/windows/preamble_patcher_test.cc
  5784. M src/windows/shortproc.asm
  5785. A vsprojects/preamble_patcher_test/preamble_patcher_test.vcproj
  5786. commit e0eaf5981eede6311e311ac5054489b85015c5d7
  5787. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5788. Date: Sat Jan 28 00:13:43 2012 +0000
  5789. * PORTING: Support for patching assembly on win
  5790. x86_64! (scott.fr...)
  5791. * PORTING: Work around atexit-execution-order bug on freebsd
  5792. (csilvers)
  5793. * PORTING: Patch _calloc_crt for windows (roger orr)
  5794. * PORTING: Add C++11 compatibility method for stl allocator
  5795. (jdennett)
  5796. * PORTING: use MADV_FREE, not MADV_DONTNEED, on freebsd
  5797. (csilvers)
  5798. * PORTING: Don't use SYS_open when not supported on solaris
  5799. (csilvers)
  5800. * PORTING: Do not assume uname() returns 0 on success
  5801. (csilvers)
  5802. * LSS: Improved ARM support in linux-syscall-support
  5803. (dougkwan)
  5804. * LSS: Get rid of unused syscalls in linux-syscall-support
  5805. (csilvers)
  5806. * LSS: Fix broken mmap wrapping for ppc (markus)
  5807. * LSS: Emit .cfi_adjust_cfa_offset when appropriate
  5808. (ppluzhnikov)
  5809. * LSS: Be more accurate in register use in __asm__ (markus)
  5810. * LSS: Fix __asm__ calls to compile under clang (chandlerc)
  5811. * LSS: Fix ARM inline assembly bug around r7 and swi (lcwu)
  5812. * No longer log when an allocator fails (csilvers)
  5813. * void* -> const void* for MallocExtension methods (llib)
  5814. * Improve HEAP_PROFILE_MMAP and fix bugs with it (dmikurube)
  5815. * Replace int-based abs with more correct fabs in a test
  5816. (pmurin)
  5817. git-svn-id: http://gperftools.googlecode.com/svn/trunk@134
  5818. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5819. M NEWS
  5820. M configure
  5821. M configure.ac
  5822. M doc/cpuprofile.html
  5823. M src/base/atomicops-internals-arm-v6plus.h
  5824. M src/base/linux_syscall_support.h
  5825. M src/base/stl_allocator.h
  5826. M src/base/sysinfo.cc
  5827. M src/debugallocation.cc
  5828. M src/google/malloc_extension.h
  5829. M src/google/malloc_extension_c.h
  5830. M src/heap-checker.cc
  5831. M src/heap-profile-table.cc
  5832. M src/heap-profile-table.h
  5833. M src/heap-profiler.cc
  5834. M src/malloc_extension.cc
  5835. M src/memory_region_map.cc
  5836. M src/memory_region_map.h
  5837. M src/system-alloc.cc
  5838. M src/tcmalloc.cc
  5839. M src/tests/sampler_test.cc
  5840. M src/thread_cache.cc
  5841. M src/windows/ia32_opcode_map.cc
  5842. M src/windows/mini_disassembler.cc
  5843. M src/windows/mini_disassembler.h
  5844. M src/windows/mini_disassembler_types.h
  5845. M src/windows/patch_functions.cc
  5846. M src/windows/preamble_patcher.cc
  5847. M src/windows/preamble_patcher.h
  5848. A src/windows/preamble_patcher_test.cc
  5849. M src/windows/preamble_patcher_with_stub.cc
  5850. A src/windows/shortproc.asm
  5851. commit 4fa02db374683d3c69c1b36158534c011513ed31
  5852. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5853. Date: Sat Dec 24 01:00:32 2011 +0000
  5854. Ready to release perftools 1.9.1 :-/
  5855. Added the ARM stacktrace file to the tarball (for 'make dist')
  5856. git-svn-id: http://gperftools.googlecode.com/svn/trunk@132
  5857. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5858. M Makefile.am
  5859. M Makefile.in
  5860. M NEWS
  5861. M configure
  5862. M configure.ac
  5863. commit 2a7b3b88371c2f78ab31be202f384fd0ed466890
  5864. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5865. Date: Fri Dec 23 00:45:49 2011 +0000
  5866. Thu Dec 22 16:22:45 2011 Google Inc. <opensource@google.com>
  5867. * google-perftools: version 1.9 release
  5868. * Lightweight check for double-frees (blount)
  5869. * BUGFIX: Fix pprof to exit properly if run with no args
  5870. (dagitses)
  5871. * Suggest ASan as a way to diagnose buggy code (ppluzhnikov)
  5872. * Get rid of unused CACHELINE_SIZE (csilvers)
  5873. * Replace atexit() calls with global dtors; helps freebsd
  5874. (csilvers)
  5875. * Disable heap-checker under AddressSanitizer (kcc)
  5876. * Fix bug in powerpc stacktracing (ppluzhnikov)
  5877. * PERF: Use exponential backoff waiting for spinlocks (m3b)
  5878. * Fix 64-bit nm on 32-bit binaries in pprof (csilvers)
  5879. * Add ProfileHandlerDisallowForever (rsc)
  5880. * BUGFIX: Shell escape when forking in pprof (csilvers)
  5881. * No longer combine overloaded functions in pprof (csilvers)
  5882. * Fix address-normalizing bug in pprof (csilvers)
  5883. * More consistently call abort() instead of exit() on failure
  5884. (csilvers)
  5885. * Allow NoGlobalLeaks to be safely called more than once
  5886. (csilvers)
  5887. * PORTING/BUGFIX: Fix ARM cycleclock to use volatile asm
  5888. (dougkwan)
  5889. * PORTING: 64-bit atomic ops for ARMv7 (dougkwan)
  5890. * PORTING: Implement stacktrace for ARM (dougkwan)
  5891. * PORTING: Fix malloc_hook_mmap_linux for ARM (dougkwan)
  5892. * PORTING: Update linux_syscall_support.h for ARM/etc
  5893. (evannier, sanek)
  5894. * PORTING: Fix freebsd to work on x86_64 (chapp...@gmail.com)
  5895. * PORTING: Added additional SYS_mmap fixes for FreeBSD
  5896. (chappedm)
  5897. * PORTING: Allow us to compile on OS X 10.6 and run on 10.5
  5898. (raltherr)
  5899. * PORTING: Check for mingw compilers that *do* define timespec
  5900. * PORTING: Add "support" for MIPS cycletimer
  5901. * PORTING: Fix fallback cycle-timer to work with Now
  5902. (dougkwan)
  5903. * PERF: Move stack trace collecting out of the mutex (taylorc)
  5904. * PERF: Get the deallocation stack trace outside the mutex
  5905. (sean)
  5906. * Make PageHeap dynamically allocated for leak checks (maxim)
  5907. * BUGFIX: Fix probing of nm -f behavior in pprof (dpeng)
  5908. * BUGFIX: Fix a race with the CentralFreeList lock before main
  5909. (sanjay)
  5910. * Support /pprof/censusprofile url arguments (rajatjain)
  5911. * Change IgnoreObject to return its argument (nlewycky)
  5912. * Update malloc-hook files to support more CPUs
  5913. * BUGFIX: write our own strstr to avoid libc problems
  5914. (csilvers)
  5915. * Use simple callgrind compression facility in pprof
  5916. * Print an error message when we can't run pprof to symbolize
  5917. (csilvers)
  5918. * Die in configure when g++ is't installed (csilvers)
  5919. * DOC: Beef up the documentation a bit about using libunwind
  5920. (csilvers)
  5921. git-svn-id: http://gperftools.googlecode.com/svn/trunk@130
  5922. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5923. M ChangeLog
  5924. M INSTALL
  5925. M NEWS
  5926. M configure
  5927. M configure.ac
  5928. M packages/deb/changelog
  5929. M src/pprof
  5930. M src/windows/config.h
  5931. commit 75f5a791bc1c0af0ddf43453c18f44723884f37e
  5932. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5933. Date: Fri Dec 23 00:45:14 2011 +0000
  5934. Add the magical incantations to get perftools to compile
  5935. cleanly under windows. The only non-trivial one is the #undef
  5936. of small, which I needed to compile under the latest cygwin --
  5937. I ran g++ with -dD under cygwin and saw the '#define small
  5938. char' with my own eyes. I wouldn't have thought it...
  5939. git-svn-id: http://gperftools.googlecode.com/svn/trunk@129
  5940. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5941. M src/internal_logging.h
  5942. M src/tcmalloc.cc
  5943. M src/windows/port.h
  5944. commit 76131b04cf41a7f0fed99503f985847fc261b930
  5945. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5946. Date: Fri Dec 23 00:44:53 2011 +0000
  5947. In my testing for a new release, I was noticing hangs on
  5948. cygwin, that went away when I turned off tls support. Since I
  5949. didn't use to have such problems, I am being conservative and
  5950. only turning off TLS for the particular version of cygwin I'm
  5951. testing on (as returned by uname()).
  5952. git-svn-id: http://gperftools.googlecode.com/svn/trunk@128
  5953. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5954. M src/thread_cache.cc
  5955. commit 3d30fbcc85021b267f7e3faf4c2280d70681920c
  5956. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5957. Date: Fri Dec 23 00:44:30 2011 +0000
  5958. We use mmx instructions now in perftools, so specify -xmms for
  5959. gcc on i386, where it's not on by default (it is for
  5960. gcc/x86_64, in my tests). This could potentially cause an
  5961. error for embedded systems, which can have i386 but no mms,
  5962. but the code wouldn't run properly on them anyway without
  5963. tweaks.
  5964. git-svn-id: http://gperftools.googlecode.com/svn/trunk@127
  5965. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5966. M Makefile.am
  5967. M Makefile.in
  5968. commit f622d261e9a4331724d222cc2a41b517607c07d7
  5969. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5970. Date: Tue Dec 20 18:43:38 2011 +0000
  5971. * Fix ARM cycleclock to use volatile asm (dougkwan)
  5972. * BUGFIX: Define BASE_HAS_ATOMIC64 for ARMv7 (dougkwan)
  5973. * Fix fallback cycle-timer to work with Now (dougkwan)
  5974. * Fix pprof to exit properly if run with no args (dagitses)
  5975. * Suggest ASan as a way to diagnose buggy code (ppluzhnikov)
  5976. * Get rid of unused CACHELINE_SIZE (csilvers)
  5977. git-svn-id: http://gperftools.googlecode.com/svn/trunk@126
  5978. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5979. M src/base/atomicops-internals-arm-v6plus.h
  5980. M src/base/basictypes.h
  5981. M src/base/cycleclock.h
  5982. M src/debugallocation.cc
  5983. M src/malloc_hook_mmap_freebsd.h
  5984. M src/pprof
  5985. M src/windows/port.h
  5986. commit 7da02003014644f73893df8530ee788dc0e626de
  5987. Author: chappedm@gmail.com
  5988. <chappedm@gmail.com@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5989. Date: Wed Nov 30 02:54:35 2011 +0000
  5990. Added additional SYS_mmap fixes for FreeBSD due to syscall differences
  5991. between os versions (pulled from differences between FreeBSD6 and
  5992. FreeBSD8 mmap implementations)
  5993. git-svn-id: http://gperftools.googlecode.com/svn/trunk@125
  5994. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  5995. M src/malloc_hook_mmap_freebsd.h
  5996. commit 8c8329390cd05a1bf1bf9613712521a9ee9fe260
  5997. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  5998. Date: Tue Nov 22 01:06:33 2011 +0000
  5999. * Eliminate some TSAN warnings (wilsonh)
  6000. * Better fix for freebsd on x86_64 (chapp...@gmail.com)
  6001. * Lightweight check for double-frees (blount)
  6002. * 64-bit atomic ops for ARMv7 (dougkwan)
  6003. * Remove dynamic annotations in some cases (dvyukov)
  6004. * Update linux_syscall_support.h for ARM, etc (evannier)
  6005. git-svn-id: http://gperftools.googlecode.com/svn/trunk@124
  6006. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6007. M src/base/atomicops-internals-arm-v6plus.h
  6008. M src/base/dynamic_annotations.c
  6009. M src/malloc_hook_mmap_freebsd.h
  6010. M src/profile-handler.cc
  6011. M src/thread_cache.h
  6012. commit ca23f57679e2bd4e0390d6891aa765b7e9daca22
  6013. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6014. Date: Thu Nov 17 00:11:42 2011 +0000
  6015. Fix bad #include paths.
  6016. git-svn-id: http://gperftools.googlecode.com/svn/trunk@123
  6017. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6018. M src/stacktrace.cc
  6019. M src/stacktrace_config.h
  6020. commit e580d7888154fa7f95b3cef9e18f1ce69182212b
  6021. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6022. Date: Wed Nov 16 21:20:45 2011 +0000
  6023. Some linux_syscall_support.h improvements:
  6024. * Fix socketcall functions (mec)
  6025. * Add ARM related defs and syscall asembly code (sanek)
  6026. * Use __arm__ instead of particular ARM arch macro (dougkwan)
  6027. git-svn-id: http://gperftools.googlecode.com/svn/trunk@122
  6028. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6029. M src/base/linux_syscall_support.h
  6030. commit 6c3eaabd7306173b6b71b63797ebf050675046cf
  6031. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6032. Date: Wed Nov 16 05:21:54 2011 +0000
  6033. * Check for mingw compilers that *do* define timespec
  6034. * Replace atexit() calls with global dtors; helps freebsd
  6035. (csilvers)
  6036. * Fix malloc_hook_mmap_linux for ARM (dougkwan)
  6037. * Disalbe heap-checker under AddressSanitizer (kcc)
  6038. * Fix bug in powerpc stacktracing (ppluzhnikov)
  6039. * Use exponential backoff waiting for spinlocks (m3b)
  6040. * Fix 64-bit nm on 32-bit binaries in pprof (csilvers)
  6041. * Implement stacktrace for ARM (dougkwan)
  6042. * Add ProfileHandlerDisallowForever (rsc)
  6043. * Shell escape when forking in pprof (csilvers)
  6044. * Fix freebsd to work on x86_64 (chapp...@gmail.com)
  6045. * No longer combine overloaded functions in pprof (csilvers)
  6046. * Fix address-normalizing bug in pprof (csilvers)
  6047. * More consistently call abort() instead of exit() on failure
  6048. (csilvers)
  6049. * Allow NoGlobalLeaks to be safely called more than once
  6050. (csilvers)
  6051. * Beef up the documentation a bit about using libunwind
  6052. (csilvers)
  6053. git-svn-id: http://gperftools.googlecode.com/svn/trunk@121
  6054. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6055. M INSTALL
  6056. M Makefile.am
  6057. M Makefile.in
  6058. M src/base/googleinit.h
  6059. M src/base/linux_syscall_support.h
  6060. M src/base/logging.h
  6061. M src/base/spinlock_internal.cc
  6062. M src/base/spinlock_linux-inl.h
  6063. M src/base/spinlock_posix-inl.h
  6064. M src/base/spinlock_win32-inl.h
  6065. M src/debugallocation.cc
  6066. M src/google/heap-checker.h
  6067. M src/heap-checker.cc
  6068. M src/malloc_hook_mmap_freebsd.h
  6069. M src/malloc_hook_mmap_linux.h
  6070. M src/pprof
  6071. M src/profile-handler.cc
  6072. M src/profile-handler.h
  6073. M src/stacktrace.cc
  6074. C059 src/stacktrace_powerpc-inl.h src/stacktrace_arm-inl.h
  6075. M src/stacktrace_config.h
  6076. M src/stacktrace_powerpc-inl.h
  6077. M src/stacktrace_x86-inl.h
  6078. M src/tests/heap-checker_unittest.cc
  6079. M src/tests/profile-handler_unittest.cc
  6080. commit a6076edd177d59e67207753b799ce047a3663cb0
  6081. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6082. Date: Tue Oct 18 20:57:45 2011 +0000
  6083. * Get the deallocation stack trace outside the lock (sean)
  6084. * Make PageHeap dynamically allocated for leak checks (maxim)
  6085. * BUGFIX: Fix probing of nm -f behavior in pprof (dpeng)
  6086. * PORTING: Add "support" for MIPS cycletimer
  6087. * BUGFIX: Fix a race with the CentralFreeList lock (sanjay)
  6088. * Allow us to compile on OS X 10.6 and run on 10.5 (raltherr)
  6089. * Support /pprof/censusprofile url arguments (rajatjain)
  6090. * Die in configure when g++ is't installed (csilvers)
  6091. * Change IgnoreObject to return its argument (nlewycky)
  6092. * Update malloc-hook files to support more CPUs
  6093. * Move stack trace collecting out of the mutex (taylorc)
  6094. * BUGFIX: write our own strstr to avoid libc problems
  6095. (csilvers)
  6096. * use simple callgrind compression facility in pprof
  6097. * print an error message when we can't run pprof to symbolize
  6098. (csilvers)
  6099. git-svn-id: http://gperftools.googlecode.com/svn/trunk@120
  6100. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6101. M INSTALL
  6102. M Makefile.am
  6103. M Makefile.in
  6104. M configure
  6105. M configure.ac
  6106. M packages/rpm.sh
  6107. M src/base/basictypes.h
  6108. M src/base/cycleclock.h
  6109. M src/base/dynamic_annotations.h
  6110. M src/base/spinlock_internal.cc
  6111. M src/base/spinlock_linux-inl.h
  6112. M src/central_freelist.cc
  6113. M src/central_freelist.h
  6114. M src/common.cc
  6115. M src/common.h
  6116. M src/debugallocation.cc
  6117. M src/google/heap-checker.h
  6118. M src/heap-checker.cc
  6119. M src/heap-profile-table.cc
  6120. M src/heap-profile-table.h
  6121. M src/heap-profiler.cc
  6122. M src/internal_logging.cc
  6123. M src/internal_logging.h
  6124. M src/libc_override_osx.h
  6125. M src/malloc_hook.cc
  6126. M src/malloc_hook_mmap_linux.h
  6127. M src/memfs_malloc.cc
  6128. M src/page_heap.cc
  6129. M src/page_heap.h
  6130. M src/page_heap_allocator.h
  6131. M src/pprof
  6132. M src/profile-handler.cc
  6133. M src/profiler.cc
  6134. M src/span.cc
  6135. M src/span.h
  6136. M src/stack_trace_table.cc
  6137. M src/stacktrace.cc
  6138. M src/stacktrace_config.h
  6139. M src/static_vars.cc
  6140. M src/static_vars.h
  6141. M src/symbolize.cc
  6142. M src/system-alloc.cc
  6143. M src/tcmalloc.cc
  6144. M src/tests/tcmalloc_unittest.cc
  6145. M src/thread_cache.cc
  6146. M src/thread_cache.h
  6147. M src/windows/config.h
  6148. commit c2eedce2a718913ed6264ac8e96571c233761e3b
  6149. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6150. Date: Fri Aug 26 21:08:59 2011 +0000
  6151. Fri Aug 26 13:29:25 2011 Google Inc. <opensource@google.com>
  6152. * google-perftools: version 1.8.3 release
  6153. * Added back the 'pthreads unsafe early' #define, needed
  6154. for FreeBSD
  6155. git-svn-id: http://gperftools.googlecode.com/svn/trunk@117
  6156. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6157. M ChangeLog
  6158. M NEWS
  6159. M configure
  6160. M configure.ac
  6161. M src/config.h.in
  6162. M src/pprof
  6163. M src/windows/config.h
  6164. commit f633b40ba5d3785c7e31fd9b575c5cf5e7c174f3
  6165. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6166. Date: Thu Aug 11 22:06:22 2011 +0000
  6167. Thu Aug 11 15:01:47 2011 Google Inc. <opensource@google.com>
  6168. * google-perftools: version 1.8.2 release
  6169. * Fixed calculation of patchlevel, 'make check' should all
  6170. pass again
  6171. git-svn-id: http://gperftools.googlecode.com/svn/trunk@115
  6172. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6173. M ChangeLog
  6174. M NEWS
  6175. M configure
  6176. M configure.ac
  6177. M src/pprof
  6178. M src/windows/config.h
  6179. commit ffcdf7bf5a7e97428f7521b3c9e6d854e3a424a9
  6180. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6181. Date: Thu Aug 11 22:05:09 2011 +0000
  6182. Fix #includes for ARM.
  6183. git-svn-id: http://gperftools.googlecode.com/svn/trunk@114
  6184. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6185. M src/base/atomicops-internals-arm-generic.h
  6186. commit d2faf4646dc79486babfbd63cf5f658b917dd6ab
  6187. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6188. Date: Wed Jul 27 04:18:01 2011 +0000
  6189. Tue Jul 26 20:57:51 2011 Google Inc. <opensource@google.com>
  6190. * google-perftools: version 1.8 release
  6191. * Added an #include to fix compile breakage on latest gcc's
  6192. * Removed an extra , in the configure.ac script
  6193. git-svn-id: http://gperftools.googlecode.com/svn/trunk@112
  6194. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6195. M ChangeLog
  6196. M NEWS
  6197. M configure
  6198. M configure.ac
  6199. M src/base/elf_mem_image.cc
  6200. M src/config.h.in
  6201. M src/pprof
  6202. M src/tests/tcmalloc_unittest.cc
  6203. M src/windows/config.h
  6204. commit 100c38c1a225446c1bbeeaac117902d0fbebfefe
  6205. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6206. Date: Sat Jul 16 01:07:10 2011 +0000
  6207. Fri Jul 15 16:10:51 2011 Google Inc. <opensource@google.com>
  6208. * google-perftools: version 1.8 release
  6209. * PORTING: (Disabled) support for patching mmap on freebsd
  6210. (chapp...)
  6211. * PORTING: Support volatile __malloc_hook for glibc 2.14
  6212. (csilvers)
  6213. * PORTING: Use _asm rdtsc and __rdtsc to get cycleclock in
  6214. windows (koda)
  6215. * PORTING: Fix fd vs. HANDLE compiler error on cygwin
  6216. (csilvers)
  6217. * PORTING: Do not test memalign or double-linking on OS X
  6218. (csilvers)
  6219. * PORTING: Actually enable TLS on windows (jontra)
  6220. * PORTING: Some work to compile under Native Client (krasin)
  6221. * PORTING: deal with pthread_once w/o -pthread on freebsd
  6222. (csilvers)
  6223. * Rearrange libc-overriding to make it easier to port
  6224. (csilvers)
  6225. * Display source locations in pprof disassembly (sanjay)
  6226. * BUGFIX: Actually initialize allocator name (mec)
  6227. * BUGFIX: Keep track of 'overhead' bytes in malloc reporting
  6228. (csilvers)
  6229. * Allow ignoring one object twice in the leak checker (glider)
  6230. * BUGFIX: top10 in pprof should print 10 lines, not 11 (rsc)
  6231. * Refactor vdso source files (tipp)
  6232. * Some documentation cleanups
  6233. * Document MAX_TOTAL_THREAD_CACHE_SIZE <= 1Gb (nsethi)
  6234. * Add MallocExtension::GetOwnership(ptr) (csilvers)
  6235. * BUGFIX: We were leaving out a needed $(top_srcdir) in
  6236. the Makefile
  6237. * PORTING: Support getting argv0 on OS X
  6238. * Add 'weblist' command to pprof: like 'list' but html
  6239. (sanjay)
  6240. * Improve source listing in pprof (sanjay)
  6241. * Cap cache sizes to reduce fragmentation (ruemmler)
  6242. * Improve performance by capping or increasing sizes
  6243. (ruemmler)
  6244. * Add M{,un}mapReplacmenet hooks into MallocHook (ribrdb)
  6245. * Refactored system allocator logic (gangren)
  6246. * Include cleanups (csilvers)
  6247. * Add TCMALLOC_SMALL_BUT_SLOW support (ruemmler)
  6248. * Clarify that tcmalloc stats are MiB (robinson)
  6249. * Remove support for non-tcmalloc debugallocation (blount)
  6250. * Add a new test: malloc_hook_test (csilvers)
  6251. * Change the configure script to be more crosstool-friendly
  6252. (mcgrathr)
  6253. * PORTING: leading-underscore changes to support win64
  6254. (csilvers)
  6255. * Improve debugallocation tc_malloc_size (csilvers)
  6256. * Extend atomicops.h and cyceclock to use ARM V6+ optimized
  6257. code (sanek)
  6258. * Change malloc-hook to use a list-like structure (llib)
  6259. * Add flag to use MAP_PRIVATE in memfs_malloc (gangren)
  6260. * Windows support for pprof: nul and /usr/bin/file (csilvers)
  6261. * TESTING: add test on strdup to tcmalloc_test (csilvers)
  6262. * Augment heap-checker to deal with no-inode maps (csilvers)
  6263. * Count .dll/.dylib as shared libs in heap-checker (csilvers)
  6264. * Disable sys_futex for arm; it's not always reliable (sanek)
  6265. * PORTING: change lots of windows/port.h macros to functions
  6266. * BUGFIX: Generate correct version# in tcmalloc.h on windows
  6267. (csilvers)
  6268. * PORTING: Some casting to make solaris happier about types
  6269. (csilvers)
  6270. * TESTING: Disable debugallocation_test in 'minimal' mode
  6271. (csilvers)
  6272. * Rewrite debugallocation to be more modular (csilvers)
  6273. * Don't try to run the heap-checker under valgrind
  6274. (ppluzhnikov)
  6275. * BUGFIX: Make focused stat %'s relative, not absolute
  6276. (sanjay)
  6277. * BUGFIX: Don't use '//' comments in a C file (csilvers)
  6278. * Quiet new-gcc compiler warnings via -Wno-unused-result,
  6279. etc (csilvers)
  6280. git-svn-id: http://gperftools.googlecode.com/svn/trunk@110
  6281. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6282. M ChangeLog
  6283. M Makefile.am
  6284. M Makefile.in
  6285. M NEWS
  6286. M README
  6287. M configure
  6288. M configure.ac
  6289. M doc/heapprofile.html
  6290. M doc/tcmalloc.html
  6291. M google-perftools.sln
  6292. M packages/deb/changelog
  6293. M src/base/atomicops-internals-windows.h
  6294. M src/base/atomicops.h
  6295. M src/base/cycleclock.h
  6296. C067 src/base/vdso_support.cc src/base/elf_mem_image.cc
  6297. A src/base/elf_mem_image.h
  6298. M src/base/low_level_alloc.cc
  6299. M src/base/spinlock_internal.cc
  6300. M src/base/vdso_support.cc
  6301. M src/base/vdso_support.h
  6302. M src/central_freelist.cc
  6303. M src/central_freelist.h
  6304. M src/common.cc
  6305. M src/common.h
  6306. M src/config.h.in
  6307. M src/debugallocation.cc
  6308. M src/google/heap-checker.h
  6309. M src/google/malloc_extension.h
  6310. M src/google/malloc_extension_c.h
  6311. M src/google/malloc_hook.h
  6312. M src/heap-checker.cc
  6313. A src/libc_override.h
  6314. A src/libc_override_gcc_and_weak.h
  6315. A src/libc_override_glibc.h
  6316. A src/libc_override_osx.h
  6317. A src/libc_override_redefine.h
  6318. M src/malloc_extension.cc
  6319. M src/malloc_hook-inl.h
  6320. M src/malloc_hook.cc
  6321. A src/malloc_hook_mmap_freebsd.h
  6322. A src/malloc_hook_mmap_linux.h
  6323. M src/maybe_threads.cc
  6324. M src/memfs_malloc.cc
  6325. M src/memory_region_map.cc
  6326. M src/pprof
  6327. M src/profile-handler.cc
  6328. M src/profiler.cc
  6329. M src/stack_trace_table.h
  6330. M src/stacktrace.cc
  6331. M src/stacktrace_config.h
  6332. C053 src/stack_trace_table.h src/stacktrace_nacl-inl.h
  6333. M src/symbolize.cc
  6334. M src/system-alloc.cc
  6335. M src/system-alloc.h
  6336. M src/tcmalloc.cc
  6337. M src/tests/debugallocation_test.cc
  6338. M src/tests/malloc_extension_c_test.c
  6339. M src/tests/malloc_extension_test.cc
  6340. M src/tests/malloc_hook_test.cc
  6341. M src/tests/profiler_unittest.cc
  6342. M src/tests/system-alloc_unittest.cc
  6343. M src/tests/tcmalloc_unittest.cc
  6344. M src/thread_cache.cc
  6345. M src/windows/config.h
  6346. M src/windows/google/tcmalloc.h.in
  6347. M src/windows/mingw.h
  6348. M src/windows/port.cc
  6349. M src/windows/port.h
  6350. M
  6351. vsprojects/current_allocated_bytes_test/current_allocated_bytes_test.vcproj
  6352. M vsprojects/malloc_hook_test/malloc_hook_test.vcproj
  6353. commit 8c7d2289d24f7a49f1f6f60d4a6eaee06fa04c60
  6354. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6355. Date: Thu May 19 21:37:12 2011 +0000
  6356. * Fix typos in comment in profiler.h (nrhodes)
  6357. * #include fixes (jyrki)
  6358. * Add missing stddef.h for ptrdiff_t (mec)
  6359. * Add M{,un}mapReplacement hooks into MallocHook (ribrdb)
  6360. * Force big alloc in frag test (ruemmler)
  6361. * PERF: Increase the size class cache to 64K entries
  6362. (ruemmler)
  6363. * PERF: Increase the transfer cache by 16x (ruemmler)
  6364. * Use windows intrinsic to get the tsc (csilvers)
  6365. * Rename atomicops-internals-x86-msvc.h->windows.h (csilvers)
  6366. * Remove flaky DEATH test in malloc_hook_test (ppluzhnikov)
  6367. * Expose internal ReadStackTraces()/etc (lantran)
  6368. * Refactored system allocator logic (gangren)
  6369. * Include-what-you-use: cleanup tcmalloc #includes (csilvers)
  6370. * Don't set kAddressBits to 48 on 32-bit systems (csilvers)
  6371. * Add declaration for __rdtsc() for windows (koda)
  6372. * Don't revert to system alloc for expected errors (gangren)
  6373. * Add TCMALLOC_SMALL_BUT_SLOW support (ruemmler)
  6374. * Clarify that tcmalloc stats are MiB (robinson)
  6375. * Avoid setting cpuinfo_cycles_per_second to 0 (koda)
  6376. * Fix frag_unittest memory calculations (ruemmler)
  6377. * Remove support for non-tcmalloc debugallocation (blount)
  6378. * Add malloc_hook_test (llib)
  6379. * Change the objcopy -W test to be cross-friendly (mcgrathr)
  6380. * Export __tcmalloc in addition to _tcmalloc, for 86_64
  6381. (csilvers)
  6382. git-svn-id: http://gperftools.googlecode.com/svn/trunk@109
  6383. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6384. M INSTALL
  6385. M Makefile.am
  6386. M Makefile.in
  6387. M README
  6388. M README_windows.txt
  6389. M configure
  6390. M configure.ac
  6391. M google-perftools.sln
  6392. R096 src/base/atomicops-internals-x86-msvc.h
  6393. src/base/atomicops-internals-windows.h
  6394. M src/base/atomicops.h
  6395. M src/base/cycleclock.h
  6396. M src/base/sysinfo.cc
  6397. M src/base/sysinfo.h
  6398. M src/base/vdso_support.h
  6399. M src/central_freelist.cc
  6400. M src/central_freelist.h
  6401. M src/common.cc
  6402. M src/common.h
  6403. M src/config.h.in
  6404. M src/debugallocation.cc
  6405. M src/google/malloc_extension.h
  6406. M src/google/malloc_hook.h
  6407. M src/google/malloc_hook_c.h
  6408. M src/google/profiler.h
  6409. M src/google/tcmalloc.h.in
  6410. M src/heap-profiler.cc
  6411. M src/internal_logging.cc
  6412. M src/internal_logging.h
  6413. M src/malloc_extension.cc
  6414. M src/malloc_hook-inl.h
  6415. M src/malloc_hook.cc
  6416. M src/memfs_malloc.cc
  6417. M src/memory_region_map.cc
  6418. M src/memory_region_map.h
  6419. M src/packed-cache-inl.h
  6420. M src/page_heap.cc
  6421. M src/page_heap.h
  6422. M src/page_heap_allocator.h
  6423. M src/pagemap.h
  6424. M src/sampler.cc
  6425. M src/sampler.h
  6426. M src/span.cc
  6427. M src/stack_trace_table.cc
  6428. M src/stack_trace_table.h
  6429. M src/static_vars.cc
  6430. M src/system-alloc.cc
  6431. M src/system-alloc.h
  6432. M src/tcmalloc.cc
  6433. M src/tests/frag_unittest.cc
  6434. M src/tests/heap-checker_unittest.cc
  6435. A src/tests/malloc_hook_test.cc
  6436. M src/tests/memalign_unittest.cc
  6437. M src/tests/page_heap_test.cc
  6438. M src/tests/realloc_unittest.cc
  6439. M src/tests/system-alloc_unittest.cc
  6440. M src/tests/tcmalloc_large_unittest.cc
  6441. M src/thread_cache.cc
  6442. M src/thread_cache.h
  6443. M src/windows/patch_functions.cc
  6444. M src/windows/port.cc
  6445. A vsprojects/malloc_hook_test/malloc_hook_test.vcproj
  6446. commit 1d30e525ae6ac38ae381bb3118f7f47998af2942
  6447. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6448. Date: Mon Mar 21 21:41:55 2011 +0000
  6449. * Improve debugallocation tc_malloc_size (csilvers)
  6450. * Extend atomicops.h to use ARM V6+ optimized code (sanek)
  6451. * Fix failure in Ranges test (ppluzhnikov)
  6452. * Change malloc-hook to use a list-like structure (llib)
  6453. * Update tcmalloc_regtest to use new malloc hooks (llib)
  6454. * PARTIAL: Keep track of 'overhead' bytes in the page cache
  6455. (csilvers)
  6456. git-svn-id: http://gperftools.googlecode.com/svn/trunk@108
  6457. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6458. M Makefile.am
  6459. M Makefile.in
  6460. M google-perftools.sln
  6461. A src/base/atomicops-internals-arm-generic.h
  6462. A src/base/atomicops-internals-arm-v6plus.h
  6463. M src/base/atomicops.h
  6464. M src/central_freelist.cc
  6465. M src/central_freelist.h
  6466. M src/google/malloc_hook.h
  6467. M src/google/malloc_hook_c.h
  6468. M src/heap-checker-bcad.cc
  6469. M src/heap-checker.cc
  6470. M src/heap-profiler.cc
  6471. M src/malloc_hook-inl.h
  6472. M src/malloc_hook.cc
  6473. M src/memory_region_map.cc
  6474. M src/memory_region_map.h
  6475. M src/tcmalloc.cc
  6476. A src/tests/current_allocated_bytes_test.cc
  6477. M src/tests/low_level_alloc_unittest.cc
  6478. M src/tests/malloc_extension_c_test.c
  6479. M src/tests/tcmalloc_unittest.cc
  6480. A
  6481. vsprojects/current_allocated_bytes_test/current_allocated_bytes_test.vcproj
  6482. commit 6fe07cd2c0527e18276cc79a57e2212a4b048746
  6483. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6484. Date: Fri Mar 4 23:52:33 2011 +0000
  6485. * add a flag to use MAP_PRIVATE in memfs_malloc (gangren)
  6486. * pthread_self() is now safe to use early (ppluzhnikov)
  6487. * windows support for pprof: nul and /usr/bin/file (csilvers)
  6488. * fix tc_malloc_size for debugallocation (csilvers)
  6489. * add test on strdup to tcmalloc_test (csilvers)
  6490. * augment heap-checker to deal with no-inode maps (csilvers)
  6491. * Get rid of -Wno-unused-result: not all gcc's support it
  6492. (csilvers)
  6493. * /bin/true -> ':', which is faster and more portable
  6494. (csilvers)
  6495. git-svn-id: http://gperftools.googlecode.com/svn/trunk@107
  6496. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6497. M Makefile.am
  6498. M Makefile.in
  6499. M doc/tcmalloc.html
  6500. M src/debugallocation.cc
  6501. M src/heap-checker.cc
  6502. M src/memfs_malloc.cc
  6503. M src/pprof
  6504. M src/tcmalloc.cc
  6505. M src/tests/debugallocation_test.sh
  6506. M src/tests/memalign_unittest.cc
  6507. M src/tests/tcmalloc_unittest.cc
  6508. M src/thread_cache.cc
  6509. commit 75584139e40c9d6c952d9c5339c52e5b58302fc8
  6510. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6511. Date: Wed Mar 2 08:10:05 2011 +0000
  6512. * Enhance cycleclock on ARM v6 and above (sanek)
  6513. * Reduce object copying by using a reference (nherring)
  6514. * Modified lock annotations a bit (lcwu)
  6515. * Make debugallocation test a bit more forgiving (csilvers)
  6516. * Count .dll/.dylib as shared libs in heapchecker (csilvers)
  6517. * Disable sys_futex for arm (sanek)
  6518. * Don't use macros as much in windows/port.h (andrey.s...)
  6519. * Update #includes in case malloc.h is in weird places
  6520. (csilvers)
  6521. * Turn off some not-so-useful warnings in gcc 4 (csilvers)
  6522. * Do some casting to make solaris happier about types
  6523. (csilvers)
  6524. * Disable debugallocation_test in 'minimal' mode (csilvers)
  6525. * Rewrite debugallocation to be more modular (csilvers)
  6526. * We can't run the heap-checker under valgrind (ppluzhnikov)
  6527. git-svn-id: http://gperftools.googlecode.com/svn/trunk@106
  6528. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6529. M Makefile.am
  6530. M Makefile.in
  6531. M configure
  6532. M configure.ac
  6533. C055 src/raw_printer.cc src/base/arm_instruction_set_select.h
  6534. M src/base/cycleclock.h
  6535. M src/base/logging.h
  6536. M src/base/low_level_alloc.cc
  6537. M src/base/spinlock_linux-inl.h
  6538. M src/base/stl_allocator.h
  6539. M src/base/sysinfo.cc
  6540. M src/config.h.in
  6541. M src/debugallocation.cc
  6542. M src/google/tcmalloc.h.in
  6543. M src/heap-checker.cc
  6544. M src/internal_logging.cc
  6545. M src/raw_printer.cc
  6546. M src/tcmalloc.cc
  6547. M src/tests/debugallocation_test.cc
  6548. M src/tests/heap-checker_unittest.cc
  6549. M src/tests/memalign_unittest.cc
  6550. M src/tests/sampler_test.cc
  6551. M src/windows/config.h
  6552. R094 src/windows/google/tcmalloc.h src/windows/google/tcmalloc.h.in
  6553. M src/windows/port.cc
  6554. M src/windows/port.h
  6555. commit c1abbfae802af5bf949c78e0bfdfd58d5c669a86
  6556. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6557. Date: Sat Feb 19 00:11:09 2011 +0000
  6558. * avoid unused-var warnings with annotalysis (lcwu)
  6559. * make focused stats %'s relative, not absolute (sanjay)
  6560. git-svn-id: http://gperftools.googlecode.com/svn/trunk@105
  6561. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6562. M src/base/dynamic_annotations.h
  6563. M src/pprof
  6564. commit dd3d9d969e9b889e96c2af497e436856fac1a2a7
  6565. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6566. Date: Tue Feb 8 01:03:37 2011 +0000
  6567. * Fix tcmalloc_unittest on MSVC 10 in release mode (csilvers)
  6568. * Fix malloc_hook_c.h to compile with -ansi under gcc
  6569. (csilvers)
  6570. git-svn-id: http://gperftools.googlecode.com/svn/trunk@104
  6571. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6572. M NEWS
  6573. M src/google/malloc_hook_c.h
  6574. M src/tests/tcmalloc_unittest.cc
  6575. commit 7375b4f3cb3ab4471d0016017be5e18ba5451c5f
  6576. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6577. Date: Sat Feb 5 00:19:37 2011 +0000
  6578. Fri Feb 04 15:54:31 2011 Google Inc. <opensource@google.com>
  6579. * google-perftools: version 1.7 release
  6580. * Reduce page map key size under x86_64 by 4.4MB (rus)
  6581. * Remove a flaky malloc-extension test (fdabek)
  6582. * Improve the performance of PageHeap::New (ond..., csilvers)
  6583. * Improve sampling_test with no-inline additions/etc (fdabek)
  6584. * 16-byte align debug allocs (jyasskin)
  6585. * Change FillProcSelfMaps to detect out-of-buffer-space
  6586. (csilvers)
  6587. * Document the need for sampling to use GetHeapSample
  6588. (csilvers)
  6589. * Try to read TSC frequency from tsc_freq_khs (adurbin)
  6590. * Do better at figuring out if tests are running under gdb
  6591. (ppluzhnikov)
  6592. * Improve spinlock contention performance (ruemmler)
  6593. * Better internal-function list for pprof's /contention
  6594. (ruemmler)
  6595. * Speed up GoogleOnce (m3b)
  6596. * Limit number of incoming/outgoing edges in pprof (sanjay)
  6597. * Add pprof --evince to go along with --gv (csilvers)
  6598. * Document the various ways to get heap-profiling information
  6599. (csilvers)
  6600. * Separate out synchronization profiling routines (ruemmler)
  6601. * Improve malloc-stats output to be more understandable
  6602. (csilvers)
  6603. * Add support for census profiler in pporf (nabeelmian)
  6604. * Document how pprof's /symbol must support GET requests
  6605. (csilvers)
  6606. * Improve acx_pthread.m4 (ssuomi, liujisi)
  6607. * Speed up pprof's ExtractSymbols (csilvers)
  6608. * Ignore some known-leaky (java) libraries in the heap checker
  6609. (davidyu)
  6610. * Make kHideMask use all 64 bits in tests (ppluzhnikov)
  6611. * Clean up pprof input-file handling (csilvers)
  6612. * BUGFIX: Don't crash if __environ is NULL (csilvers)
  6613. * BUGFIX: Fix totally broken debugallocation tests (csilvers)
  6614. * BUGFIX: Fix up fake_VDSO handling for unittest (ppluzhnikov)
  6615. * BUGFIX: Suppress all large allocs when report threshold is 0
  6616. (lexie)
  6617. * BUGFIX: mmap2 on i386 takes an off_t, not off64_t (csilvers)
  6618. * PORTING: Add missing PERFTOOLS_DLL_DECL (csilvers)
  6619. * PORTING: Add stddef.h to make newer gcc's happy (csilvers)
  6620. * PORTING: Document some tricks for working under OS X
  6621. (csilvers)
  6622. * PORTING: Don't try to check valgrind for windows (csilvers)
  6623. * PORTING: Make array-size a var to compile under clang
  6624. (chandlerc)
  6625. * PORTING: No longer hook _aligned_malloc and _aligned_free
  6626. (csilvers)
  6627. * PORTING: Quiet some gcc warnings (csilvers)
  6628. * PORTING: Replace %PRIxPTR with %p to be more portable
  6629. (csilvers)
  6630. * PORTING: Support systems that capitalize /proc weirdly
  6631. (sanek)
  6632. * PORTING: Treat arm3 the same as arm5t in cycletimer
  6633. (csilvers)
  6634. * PORTING: Update windows logging to not allocate memory
  6635. (csilvers)
  6636. * PORTING: avoid double-patching newer windows DLLs
  6637. (roger.orr)
  6638. * PORTING: get dynamic_annotations.c to work on windows
  6639. (csilvers)
  6640. * Add pkg-config .pc files for the 5 libraries we produce
  6641. (csilvers)
  6642. * Added proper libtool versioning, so this lib will be 0.1.0
  6643. (csilvers)
  6644. * Moved from autoconf 2.64 to 2.65
  6645. git-svn-id: http://gperftools.googlecode.com/svn/trunk@102
  6646. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6647. M ChangeLog
  6648. M Makefile.am
  6649. M Makefile.in
  6650. M NEWS
  6651. M README
  6652. M configure
  6653. M configure.ac
  6654. M m4/acx_pthread.m4
  6655. M packages/deb/changelog
  6656. M src/base/cycleclock.h
  6657. M src/base/dynamic_annotations.c
  6658. M src/base/logging.h
  6659. M src/base/stl_allocator.h
  6660. M src/base/vdso_support.cc
  6661. M src/debugallocation.cc
  6662. M src/heap-checker.cc
  6663. M src/page_heap.cc
  6664. M src/page_heap.h
  6665. M src/pprof
  6666. M src/symbolize.h
  6667. M src/system-alloc.cc
  6668. M src/tests/debugallocation_test.cc
  6669. M src/tests/debugallocation_test.sh
  6670. M src/tests/malloc_extension_test.cc
  6671. M src/windows/port.h
  6672. commit 3d77cbf7d569a7c7f0ce39a83f6c98da1718f1c4
  6673. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6674. Date: Wed Jan 19 21:37:15 2011 +0000
  6675. * Make kHideMask use all 64 bits (ppluzhnikov)
  6676. * Add new IsDebuggerAttached method (ppluzhnikov)
  6677. * Document some tricks for maybe getting perftools to work
  6678. on OS X
  6679. * Redo file-top pprof commands (csilvers)
  6680. * Clean up pprof input-file handling (csilvers)
  6681. * 16-byte align debug allocs (jyasskin)
  6682. * Ignore JVM memory leakage in the heap checker (davidyu,
  6683. kkurimoto)
  6684. * Better internal-function list for contentionz (ruemmler)
  6685. * mmap2 on i386 takes an off_t, not an off64_t (csilvers)
  6686. * Fix up fake-VDSO handling for unittest (ppluzhnikov)
  6687. * Don't try to check valgrind for windows (csilvers)
  6688. git-svn-id: http://gperftools.googlecode.com/svn/trunk@101
  6689. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6690. M README
  6691. M src/base/dynamic_annotations.c
  6692. M src/base/linux_syscall_support.h
  6693. M src/base/vdso_support.cc
  6694. M src/base/vdso_support.h
  6695. M src/debugallocation.cc
  6696. M src/heap-checker.cc
  6697. M src/malloc_hook.cc
  6698. M src/pprof
  6699. M src/tcmalloc.cc
  6700. M src/tests/heap-checker_unittest.cc
  6701. M src/tests/tcmalloc_unittest.cc
  6702. M src/windows/config.h
  6703. commit a0a2ff3b493481ff52e4b4deec2fcc494756b64a
  6704. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6705. Date: Wed Nov 24 00:33:20 2010 +0000
  6706. * PORTING: Add PERFTOOLS_DLL_DECL to malloc_hook_c.h
  6707. (csilvers)
  6708. * Add new .h files to Makefile (csilvers)
  6709. git-svn-id: http://gperftools.googlecode.com/svn/trunk@100
  6710. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6711. M Makefile.am
  6712. M Makefile.in
  6713. M src/google/malloc_hook_c.h
  6714. commit 3014cf142e5a2409c88ab4559f3274434ed9a29b
  6715. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6716. Date: Thu Nov 18 01:07:25 2010 +0000
  6717. * Suppress all large allocs when report threshold==0
  6718. * Clarified meaning of various malloc stats
  6719. * Change from ATTRIBUTED_DEPRECATED to comments
  6720. * Make array-size a var to compile under clang
  6721. * Reduce page map key size under x86_64 by 4.4MB
  6722. * Added full qualification to MemoryBarrier
  6723. * Support systems that capitalize /proc weirdly
  6724. * Avoid gcc warning: exporting type in unnamed ns
  6725. * Add some dynamic annotations for gcc attributes
  6726. * Add support for census profiler in pprof
  6727. * Speed up pprof's ExtractSymbols
  6728. * Speed up GoogleOnce
  6729. * Add pkg-config (.pc) files
  6730. * Detect when __environ exists but is NULL
  6731. * Improve spinlock contention performance
  6732. * Add GetFreeListSizes
  6733. * Improve sampling_test, eg by adding no-inline
  6734. * Relax malloc_extension test-check for big pages
  6735. * Add proper library version number information
  6736. * Update from autoconf 2.64 to 2.65
  6737. * Better document how to write a server that works with pprof
  6738. * Change FillProcSelfMaps to better handle out-of-space
  6739. * No longer hook _aligned_malloc/free in windows
  6740. * Handle function-forwarding in DLLs when patching (in
  6741. windows)
  6742. * Update .vcproj files that had wrong .cc files in them (!)
  6743. * get rid of unnecessary 'size < 0'
  6744. * fix comments a bit in sysinfo.cc
  6745. * another go at improving malloc-stats output
  6746. * fix comment typo in profiler.cc
  6747. * Add a few more thread annotations
  6748. * Try to read TSC frequency from 'tsc_freq_khz'
  6749. * Fix annotalysis/TSAN incompatibility
  6750. * Add pprof --evince to go along with --gv
  6751. * Document need for sampling to use GetHeapSample
  6752. * Fix flakiness in malloc_extension_test
  6753. * Separate out synchronization profiling routines
  6754. git-svn-id: http://gperftools.googlecode.com/svn/trunk@99
  6755. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6756. M Makefile.am
  6757. M Makefile.in
  6758. M NEWS
  6759. M README
  6760. M aclocal.m4
  6761. M configure
  6762. M configure.ac
  6763. M doc/pprof_remote_servers.html
  6764. M ltmain.sh
  6765. A m4/libtool.m4
  6766. A m4/ltoptions.m4
  6767. A m4/ltsugar.m4
  6768. A m4/ltversion.m4
  6769. A m4/lt~obsolete.m4
  6770. M packages/deb/libgoogle-perftools-dev.dirs
  6771. M packages/deb/libgoogle-perftools-dev.install
  6772. M packages/rpm/rpm.spec
  6773. A src/base/atomicops-internals-arm-gcc.h
  6774. M src/base/basictypes.h
  6775. M src/base/dynamic_annotations.h
  6776. M src/base/logging.h
  6777. M src/base/low_level_alloc.cc
  6778. M src/base/spinlock.cc
  6779. M src/base/spinlock.h
  6780. A src/base/spinlock_internal.cc
  6781. C057 src/base/spinlock_win32-inl.h src/base/spinlock_internal.h
  6782. M src/base/spinlock_linux-inl.h
  6783. M src/base/spinlock_posix-inl.h
  6784. M src/base/spinlock_win32-inl.h
  6785. C067 src/base/spinlock_win32-inl.h
  6786. src/base/synchronization_profiling.h
  6787. M src/base/sysinfo.cc
  6788. M src/base/sysinfo.h
  6789. M src/base/thread_annotations.h
  6790. M src/base/vdso_support.cc
  6791. M src/common.h
  6792. M src/config.h.in
  6793. M src/debugallocation.cc
  6794. M src/google/heap-checker.h
  6795. M src/google/malloc_extension.h
  6796. M src/heap-profile-table.cc
  6797. M src/malloc_extension.cc
  6798. M src/memory_region_map.cc
  6799. M src/page_heap.cc
  6800. M src/page_heap.h
  6801. M src/pprof
  6802. M src/profiler.cc
  6803. M src/system-alloc.cc
  6804. M src/tcmalloc.cc
  6805. M src/tests/debugallocation_test.cc
  6806. M src/tests/malloc_extension_test.cc
  6807. M src/tests/sampling_test.cc
  6808. M src/tests/sampling_test.sh
  6809. M src/tests/system-alloc_unittest.cc
  6810. M src/tests/tcmalloc_unittest.cc
  6811. M src/windows/config.h
  6812. M src/windows/patch_functions.cc
  6813. M src/windows/port.cc
  6814. M src/windows/port.h
  6815. M vsprojects/addressmap_unittest/addressmap_unittest.vcproj
  6816. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  6817. M
  6818. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  6819. M vsprojects/packed-cache_test/packed-cache_test.vcproj
  6820. M vsprojects/tmu-static/tmu-static.vcproj
  6821. commit 682ff7da1205398376ee725b4ce3219c107b3f8a
  6822. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6823. Date: Thu Aug 5 20:36:47 2010 +0000
  6824. Thu Aug 5 12:48:03 PDT 2010
  6825. * google-perftools: version 1.6 release
  6826. * Add tc_malloc_usable_size for compatibility with glibc
  6827. (csilvers)
  6828. * Override malloc_usable_size with tc_malloc_usable_size
  6829. (csilvers)
  6830. * Default to no automatic heap sampling in tcmalloc (csilvers)
  6831. * Add -DTCMALLOC_LARGE_PAGES, a possibly faster tcmalloc (rus)
  6832. * Make some functions extern "C" to avoid false ODR warnings
  6833. (jyasskin)
  6834. * pprof: Add SVG-based output (rsc)
  6835. * pprof: Extend pprof --tools to allow per-tool configs
  6836. (csilvers)
  6837. * pprof: Improve support of 64-bit and big-endian profiles
  6838. (csilvers)
  6839. * pprof: Add interactive callgrind suport (weidenri...)
  6840. * pprof: Improve address->function mapping a bit (dpeng)
  6841. * Better detection of when we're running under valgrind
  6842. (csilvers)
  6843. * Better CPU-speed detection under valgrind (saito)
  6844. * Use, and recommend, -fno-builtin-malloc when compiling
  6845. (csilvers)
  6846. * Avoid false-sharing of memory between caches (bmaurer)
  6847. * BUGFIX: Fix heap sampling to use correct alloc size (bmauer)
  6848. * BUGFIX: Avoid gcc 4.0.x bug by making hook-clearing atomic
  6849. (csilvers)
  6850. * BUGFIX: Avoid gcc 4.5.x optimization bug (csilvers)
  6851. * BUGFIX: Work around deps-determining bug in libtool 1.5.26
  6852. (csilvers)
  6853. * BUGFIX: Fixed test to use HAVE_PTHREAD, not HAVE_PTHREADS
  6854. (csilvers)
  6855. * BUGFIX: Fix tls callback behavior on windows when using wpo
  6856. (wtc)
  6857. * BUGFIX: properly align allocation sizes on Windows (antonm)
  6858. * BUGFIX: Fix prototypes for tcmalloc/debugalloc wrt throw()
  6859. (csilvers)
  6860. * DOC: Updated heap-checker doc to match reality better
  6861. (fischman)
  6862. * DOC: Document ProfilerFlush, ProfilerStartWithOptions
  6863. (csilvers)
  6864. * DOC: Update docs for heap-profiler functions (csilvers)
  6865. * DOC: Clean up documentation around tcmalloc.slack_bytes
  6866. (fikes)
  6867. * DOC: Renamed README.windows to README_windows.txt (csilvers)
  6868. * DOC: Update the NEWS file to be non-empty (csilvers)
  6869. * PORTING: Fix windows addr2line and nm with proper rc code
  6870. (csilvers)
  6871. * PORTING: Add CycleClock and atomicops support for arm 5
  6872. (sanek)
  6873. * PORTING: Improve PC finding on cygwin and redhat 7
  6874. (csilvers)
  6875. * PORTING: speed up function-patching under windows (csilvers)
  6876. git-svn-id: http://gperftools.googlecode.com/svn/trunk@97
  6877. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6878. M ChangeLog
  6879. M INSTALL
  6880. M NEWS
  6881. M README
  6882. M configure
  6883. M configure.ac
  6884. M doc/heap_checker.html
  6885. M m4/pc_from_ucontext.m4
  6886. M packages/deb/changelog
  6887. M src/base/atomicops.h
  6888. M src/base/cycleclock.h
  6889. M src/base/dynamic_annotations.c
  6890. M src/base/dynamic_annotations.h
  6891. M src/base/sysinfo.cc
  6892. M src/base/thread_annotations.h
  6893. M src/base/vdso_support.h
  6894. M src/common.cc
  6895. M src/common.h
  6896. M src/google/malloc_extension.h
  6897. M src/google/tcmalloc.h.in
  6898. M src/heap-checker.cc
  6899. M src/heap-profiler.cc
  6900. M src/malloc_hook-inl.h
  6901. M src/malloc_hook.cc
  6902. M src/pprof
  6903. M src/stacktrace_x86-inl.h
  6904. M src/tcmalloc.cc
  6905. M src/tests/sampler_test.cc
  6906. M src/tests/tcmalloc_unittest.cc
  6907. M src/windows/google/tcmalloc.h
  6908. M src/windows/port.cc
  6909. M vsprojects/addressmap_unittest/addressmap_unittest.vcproj
  6910. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  6911. M
  6912. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  6913. M vsprojects/tmu-static/tmu-static.vcproj
  6914. commit 488eee994d571da216ef105d4144282c801f0eee
  6915. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6916. Date: Wed Jun 23 16:42:31 2010 +0000
  6917. Oops, I thought I had done this last time, but maybe not. Submit the
  6918. name change.
  6919. git-svn-id: http://gperftools.googlecode.com/svn/trunk@96
  6920. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6921. R092 README.windows README_windows.txt
  6922. commit cb7393cbe2d737009001fd9d30dad568bac7a3d8
  6923. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6924. Date: Mon Jun 21 15:59:56 2010 +0000
  6925. * Default to not sampling in tcmalloc (csilvers)
  6926. * Add -DTCMALLOC_LARGE_PAGES: better perf for some workloads
  6927. (rus)
  6928. * Extend pprof --tools to allow per-tool configs (csilvers)
  6929. * Have STL_Allocator pass on # bytes to free (richardfang)
  6930. * Add a header guard to config.h (csilvers)
  6931. * DOC: Clean up documentation around tcmalloc.slack_bytes
  6932. (fikes)
  6933. * DOC: Document ProfilerFlush, ProfilerStartWithOptions
  6934. (csilvers)
  6935. * PORTING: Work around a gcc 4.5.0 optimization bug (csilvers)
  6936. * PORTING: Use -fno-builtin-malloc and friends when compiling
  6937. tcmalloc
  6938. * PORTING: Define _WIN32_WINNT high enough for mingw
  6939. (csilvers)
  6940. * PORTING: Work around libtool bug getting deps wrong in
  6941. some cases
  6942. * Update README.windows to emphasize $IncludeDir more
  6943. (csilvers)
  6944. * Rename README.windows to README_windows.txt (csilvers)
  6945. git-svn-id: http://gperftools.googlecode.com/svn/trunk@95
  6946. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6947. M Makefile.am
  6948. M Makefile.in
  6949. M README
  6950. M configure
  6951. M configure.ac
  6952. M doc/cpuprofile.html
  6953. M doc/tcmalloc.html
  6954. M src/base/dynamic_annotations.c
  6955. M src/base/dynamic_annotations.h
  6956. M src/base/stl_allocator.h
  6957. M src/central_freelist.cc
  6958. M src/common.h
  6959. M src/config.h.in
  6960. M src/google/malloc_extension.h
  6961. M src/heap-checker.cc
  6962. M src/internal_logging.h
  6963. M src/linked_list.h
  6964. M src/memory_region_map.h
  6965. M src/page_heap.cc
  6966. M src/page_heap.h
  6967. M src/pprof
  6968. M src/sampler.cc
  6969. M src/span.h
  6970. M src/tcmalloc.cc
  6971. M src/tests/frag_unittest.cc
  6972. M src/tests/page_heap_test.cc
  6973. M src/tests/testutil.cc
  6974. M src/thread_cache.cc
  6975. M src/thread_cache.h
  6976. M src/windows/config.h
  6977. M src/windows/mingw.h
  6978. commit d8c02761689ba909f474b85618f99ac6dfc9a168
  6979. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  6980. Date: Fri May 7 21:53:24 2010 +0000
  6981. * Update docs for heap-profiler fns (csilvers)
  6982. * In pprof, accept URLs without ports but with http:// (rsc)
  6983. * Refactor sizeclass handling in tcmalloc (bmaurer)
  6984. * Always log failed calls to FindAllocDetails (mec)
  6985. * Clarify comments for ProfilerStart* (malcolmr)
  6986. * Add #include guards to stacktrace_win32-inl.h (glider)
  6987. * Add ANNOTATE_ENABLE_RACE_DETECTION(enable) (kcc)
  6988. * Make a contentful NEWS file (csilvers)
  6989. * Fix addr2line --help (which pprof relies on) for windows
  6990. (csilvers)
  6991. * Fixes a bug in tcmalloc's TLS callback on windows -static
  6992. (wtc)
  6993. git-svn-id: http://gperftools.googlecode.com/svn/trunk@94
  6994. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  6995. M NEWS
  6996. M doc/heapprofile.html
  6997. M packages/deb/control
  6998. M packages/rpm/rpm.spec
  6999. M src/base/dynamic_annotations.c
  7000. M src/base/dynamic_annotations.h
  7001. M src/base/vdso_support.cc
  7002. M src/central_freelist.cc
  7003. M src/common.h
  7004. M src/google/profiler.h
  7005. M src/heap-checker.cc
  7006. M src/internal_logging.h
  7007. M src/page_heap.cc
  7008. M src/page_heap.h
  7009. M src/pprof
  7010. M src/span.h
  7011. M src/stacktrace_win32-inl.h
  7012. M src/tcmalloc.cc
  7013. M src/tests/page_heap_test.cc
  7014. M src/windows/addr2line-pdb.c
  7015. M src/windows/nm-pdb.c
  7016. M src/windows/port.cc
  7017. commit b0fe220d503eb23830e622939c2e14f084392d1e
  7018. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7019. Date: Thu Apr 22 17:29:02 2010 +0000
  7020. * Fix pthread_once extern declarations (willchan)
  7021. * Add missing closing brace that resulted in compile failure
  7022. (willchan)
  7023. * Handle closed stdin/out/err properly when forking (glider)
  7024. git-svn-id: http://gperftools.googlecode.com/svn/trunk@93
  7025. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7026. M src/maybe_threads.cc
  7027. M src/profile-handler.cc
  7028. M src/symbolize.cc
  7029. M src/tcmalloc.cc
  7030. commit 21c65ecb037d7d41dcd574c70cd7b7e9d5045462
  7031. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7032. Date: Mon Apr 12 21:18:48 2010 +0000
  7033. * Speed up IsSymbolizedProfile by checking for NUL (csilvers)
  7034. * Fix heap sampling to use correct alloc size (bmaurer)
  7035. * Make pprof ignore tc_new{,array}_nothrow (csilvers)
  7036. * PORTING: Have IsHeapProfilerRunning return an int, for C
  7037. (csilvers)
  7038. * Avoid false-sharing of memory between caches (bmaurer)
  7039. * Fix some variable shadowing (rt)
  7040. * SVG-based ouptut in pprof; also, wget->curl (rsc)
  7041. * Allow arbitrary prefix before obvious handler (rsc)
  7042. * Advertise when using libunwind (ppluzhnikov)
  7043. Also, the install file seems to have reverted back to the default at
  7044. some previous point in time (autotools will do that occasionally).
  7045. Change that back to have the perftools-specific text in there.
  7046. git-svn-id: http://gperftools.googlecode.com/svn/trunk@92
  7047. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7048. M INSTALL
  7049. M src/base/basictypes.h
  7050. M src/google/heap-profiler.h
  7051. M src/heap-checker.cc
  7052. M src/heap-profiler.cc
  7053. M src/page_heap_allocator.h
  7054. M src/pprof
  7055. M src/stacktrace_config.h
  7056. M src/system-alloc.cc
  7057. M src/system-alloc.h
  7058. M src/tcmalloc.cc
  7059. M src/thread_cache.h
  7060. commit 92beff88437b31f4a618640b88487e0f8dfb7017
  7061. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7062. Date: Tue Mar 23 20:39:55 2010 +0000
  7063. * Add new (std::nothrow) to debugallocation (corrado)
  7064. * Add a flag to ingore unaligned-ptr leaks (archanakannan)
  7065. * PORTING: Add get-pc capabilities for a new OS (csilvers)
  7066. * Don't register malloc extension under valgrind (csilvers)
  7067. * Fix throw specs for our global operator new (chandlerc)
  7068. * PORTING: link to instructions on windows static overrides
  7069. (mbelshe)
  7070. * Fix prototype differences in debugalloc (chandlerc,
  7071. csilvers, wan)
  7072. * Change pprof to handle big-endian input files (csilvers)
  7073. * Properly align allocation sizes on Windows (antonm)
  7074. * Improve IsRunningOnValgrind, using valgrind.h (csilvers,
  7075. kcc)
  7076. * Improve the accuracy of system_alloc actual_size (csilvers)
  7077. * Add interactive callgrind support to pprof (weidenri...)
  7078. * Fix off-by-one problems when symbolizing in pprof (dpeng)
  7079. * Be more permissive in allowed library names, in pprof
  7080. (csilvers)
  7081. * PORTING: Fix pc_from_ucontext to handle cygwin and redhat7
  7082. (csilvers)
  7083. * Fix stacktrace to avoid inlining (ppluzhnikov)
  7084. git-svn-id: http://gperftools.googlecode.com/svn/trunk@91
  7085. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7086. M Makefile.am
  7087. M Makefile.in
  7088. M README.windows
  7089. M configure
  7090. M configure.ac
  7091. M doc/heap_checker.html
  7092. M m4/pc_from_ucontext.m4
  7093. A src/base/dynamic_annotations.c
  7094. D src/base/dynamic_annotations.cc
  7095. M src/base/dynamic_annotations.h
  7096. M src/base/low_level_alloc.cc
  7097. M src/config.h.in
  7098. M src/debugallocation.cc
  7099. M src/google/stacktrace.h
  7100. M src/google/tcmalloc.h.in
  7101. M src/heap-checker.cc
  7102. M src/heap-profile-table.cc
  7103. M src/heap-profile-table.h
  7104. M src/malloc_extension.cc
  7105. M src/malloc_hook.cc
  7106. M src/memory_region_map.cc
  7107. M src/pprof
  7108. M src/stacktrace.cc
  7109. M src/stacktrace_generic-inl.h
  7110. M src/stacktrace_libunwind-inl.h
  7111. M src/stacktrace_powerpc-inl.h
  7112. D src/stacktrace_with_context.cc
  7113. M src/stacktrace_x86-inl.h
  7114. M src/system-alloc.cc
  7115. M src/tcmalloc.cc
  7116. M src/tests/debugallocation_test.cc
  7117. M src/tests/heap-checker-death_unittest.sh
  7118. M src/tests/profiler_unittest.cc
  7119. M src/tests/profiler_unittest.sh
  7120. M src/tests/tcmalloc_unittest.cc
  7121. A src/third_party/valgrind.h
  7122. M src/windows/google/tcmalloc.h
  7123. M src/windows/port.cc
  7124. commit 23dd124970bc11636feaa240394063ba5889ca54
  7125. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7126. Date: Thu Feb 11 01:32:42 2010 +0000
  7127. * Speed up patching by not patching modules that are already
  7128. loaded
  7129. git-svn-id: http://gperftools.googlecode.com/svn/trunk@88
  7130. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7131. M src/windows/config.h
  7132. M src/windows/patch_functions.cc
  7133. commit 8f8a010cab7d3070069a31990cb0e269f03dceb0
  7134. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7135. Date: Wed Jan 20 23:00:51 2010 +0000
  7136. Oops, I submitted the wrong version of patch_functions.cc with the
  7137. previous commit. This is really the one that goes with release 1.5.
  7138. .
  7139. ?\027[D
  7140. git-svn-id: http://gperftools.googlecode.com/svn/trunk@86
  7141. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7142. M src/windows/patch_functions.cc
  7143. commit fef86cfeba8915e34575f09499e18b184d7254a9
  7144. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7145. Date: Wed Jan 20 22:47:29 2010 +0000
  7146. * google-perftools: version 1.5 release
  7147. * Add tc_set_new_mode (willchan)
  7148. * Make memalign functions + realloc respect tc_set_new_mode
  7149. (willchan)
  7150. * Add ReleaseToSystem(num_bytes) (kash)
  7151. * Handle zero-length symbols a bit better in pprof (csilvers)
  7152. * Prefer __environ to /proc/self/environ in cpu profiler
  7153. (csilvers)
  7154. * Add HEAP_CHECK_MAX_LEAKS flag to control #leaks to report
  7155. (glider)
  7156. * Add two new numeric pageheap properties to MallocExtension
  7157. (fikes)
  7158. * Print alloc size when mmap fails (hakon)
  7159. * Add ITIMER_REAL support to cpu profiler (csilvers,
  7160. nabeelmian)
  7161. * Speed up symbolizer in heap-checker reporting (glider)
  7162. * Speed up futexes with FUTEX_PRIVATE_FLAG (m3b)
  7163. * Speed up tcmalloc but doing better span coalescing (sanjay)
  7164. * Better support for different wget's and addr2maps in pprof
  7165. (csilvres)
  7166. * Implement a nothrow version of delete and delete[]
  7167. (csilvers)
  7168. * BUGFIX: fix a race on module_libcs[i] in windows patching
  7169. (csilvers)
  7170. * BUGFIX: Fix debugallocation to call cpp_alloc for new
  7171. (willchan)
  7172. * BUGFIX: A simple bugfix for --raw mode (mrabkin)
  7173. * BUGFIX: Fix C shims to actually be valid C (csilvers)
  7174. * BUGFIX: Fix recursively-unmapped-region accounting
  7175. (ppluzhnikov)
  7176. * BUGFIX: better distinguish real and fake vdso (ppluzhnikov)
  7177. * WINDOWS: replace debugmodule with more reliable psai
  7178. (andrey)
  7179. * PORTING: Add .bundle as another shared library extension
  7180. (csilvers)
  7181. * PORTING: Fixed a typo bug in the ocnfigure PRIxx m4 macro
  7182. (csilvers)
  7183. * PORTING: Augment sysinfo to work on 64-bit OS X (csilvers)
  7184. * PORTING: Use sys/ucontext.h to fix compiing on OS X 10.6
  7185. (csilvers)
  7186. * PORTING: Fix sysinfo libname reporting for solaris x86
  7187. (jeffrey)
  7188. * PORTING: Use libunwind for i386 when using --omitfp
  7189. (ppluzhnikov)
  7190. NOTE: This release uses an older version of
  7191. src/windows/patch_functions.cc
  7192. because I decided the latest optimizations were not well enough tested
  7193. for a release. I'll aim to get them into next release.
  7194. git-svn-id: http://gperftools.googlecode.com/svn/trunk@84
  7195. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7196. M ChangeLog
  7197. M INSTALL
  7198. M autogen.sh
  7199. M configure
  7200. M configure.ac
  7201. M packages/deb/changelog
  7202. M src/pprof
  7203. M src/windows/patch_functions.cc
  7204. commit 63b8d63beb7d771713774f9a5d57381cbd29bf19
  7205. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7206. Date: Thu Jan 14 16:26:05 2010 +0000
  7207. * PORTING: Revised patch_functions to avoid deadlock
  7208. (csilvers, andrey)
  7209. * PORTING: Revised patch_functions to speed up .dll loads
  7210. (csilvers)
  7211. * PORTING: Build and run sampling_test for windows (csilvers)
  7212. * Correctly init tc structs even when libc isn't patched
  7213. (csilvers)
  7214. * Make low-level allocs async-signal-safe (saito)
  7215. git-svn-id: http://gperftools.googlecode.com/svn/trunk@83
  7216. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7217. M Makefile.am
  7218. M Makefile.in
  7219. M README.windows
  7220. M src/base/low_level_alloc.cc
  7221. M src/base/low_level_alloc.h
  7222. M src/google/malloc_hook.h
  7223. M src/malloc_hook.cc
  7224. M src/pprof
  7225. M src/stacktrace_x86-inl.h
  7226. M src/tcmalloc.cc
  7227. M src/tests/sampling_test.sh
  7228. M src/thread_cache.cc
  7229. M src/windows/patch_functions.cc
  7230. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  7231. M vsprojects/tmu-static/tmu-static.vcproj
  7232. commit eeeacd5ec4fa36256091f45e5b3af81cee2a4d86
  7233. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7234. Date: Wed Jan 6 00:34:23 2010 +0000
  7235. * PORTING: Fix a race condition in windows patching
  7236. * PORTING: Use Psapi instead of debugmodule to get windows
  7237. module info
  7238. git-svn-id: http://gperftools.googlecode.com/svn/trunk@82
  7239. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7240. M README.windows
  7241. M google-perftools.sln
  7242. M src/page_heap.h
  7243. M src/windows/patch_functions.cc
  7244. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  7245. M vsprojects/tmu-static/tmu-static.vcproj
  7246. commit 6e7479331c751bdfe04d272dbb1bbbe877f0e86a
  7247. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7248. Date: Tue Dec 15 01:41:30 2009 +0000
  7249. * Fix a memory leak with repeated Patch() calls on windows
  7250. (csilvers)
  7251. * Fix a bug when we re-Patch() a previously unpatched lib
  7252. (csilvers)
  7253. * Add .bundle as another .so extension in pprof (csilvers)
  7254. git-svn-id: http://gperftools.googlecode.com/svn/trunk@81
  7255. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7256. M src/base/spinlock.h
  7257. M src/heap-checker.cc
  7258. M src/heap-profile-table.h
  7259. M src/memfs_malloc.cc
  7260. M src/memory_region_map.h
  7261. M src/packed-cache-inl.h
  7262. M src/pprof
  7263. M src/profile-handler.cc
  7264. M src/profiledata.h
  7265. M src/windows/patch_functions.cc
  7266. M src/windows/preamble_patcher.cc
  7267. commit 1d981b6997f73e6d92b647d042cfe8649d4728c1
  7268. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7269. Date: Wed Dec 2 21:42:10 2009 +0000
  7270. * Make memalign && posix_memalign respect tc_set_new_mode
  7271. (willchan)
  7272. * Fix windows patch functions to respect tc_set_new_mode
  7273. (willchan)
  7274. git-svn-id: http://gperftools.googlecode.com/svn/trunk@80
  7275. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7276. M src/tcmalloc.cc
  7277. M src/tests/tcmalloc_unittest.cc
  7278. M src/windows/patch_functions.cc
  7279. commit a94d5f797412bac7b811bf8d69d9298fec54f5cc
  7280. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7281. Date: Wed Dec 2 18:15:13 2009 +0000
  7282. * Prefer __environ to /proc/self/environ (csilvers)
  7283. * Add HEAP_CHECK_MAX_LEAKS envvar (glider)
  7284. * BUGFIX: debugallocation now calls cpp_alloc for new
  7285. (willchan)
  7286. * BUGFIX: tc_set_new_mode() respected for realloc and calloc
  7287. (willchan)
  7288. * BUGFIX: fix opt-mode maybe-crash on debugallocation_test
  7289. (csilvers)
  7290. * Print alloc size when mmap fails (hakon)
  7291. * Add ITIMER_REAL support (csilvers, nabeelmian)
  7292. * BUGFIX: correctly report double-frees (csilvers)
  7293. * Export tc_set_new_mode() from the .h file (willchan)
  7294. * Restructure Symbolize to make it more efficient (glider)
  7295. * PORTING: Augment sysinfo to work on 64-bit OS X (csilvers)
  7296. * Add two numeric pageheap properties to MallocExtension
  7297. (fikes)
  7298. * PORTING: Use libunwind for i386 when using --omitfp
  7299. (ppluzhnikov)
  7300. * Add ReleaseToSystem(num_bytes) (kash)
  7301. * Provide correct library filenames under solaris (jeffrey)
  7302. * BUGFIX: simple fix in pprof --raw mode (mrabkin)
  7303. * PORTING: Prefer sys/ucontext.h to fix OS 10.6 builds
  7304. (csilvers)
  7305. * Improve support for inlined functions in pprof (sanjay)
  7306. * Update wget code to not use keepalive (mrabkin, csilvers)
  7307. * PORTING: correctly handle x86_64 machines that use fp's
  7308. (csilvers)
  7309. git-svn-id: http://gperftools.googlecode.com/svn/trunk@79
  7310. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7311. M configure
  7312. M configure.ac
  7313. M doc/cpuprofile.html
  7314. M doc/heap_checker.html
  7315. M m4/compiler_characteristics.m4
  7316. M src/base/logging.h
  7317. M src/base/sysinfo.cc
  7318. M src/config.h.in
  7319. M src/debugallocation.cc
  7320. M src/google/malloc_extension.h
  7321. M src/google/malloc_extension_c.h
  7322. M src/google/tcmalloc.h.in
  7323. M src/heap-profile-table.cc
  7324. M src/malloc_extension.cc
  7325. M src/memfs_malloc.cc
  7326. M src/pprof
  7327. M src/profile-handler.cc
  7328. M src/symbolize.cc
  7329. M src/symbolize.h
  7330. M src/tcmalloc.cc
  7331. M src/tests/atomicops_unittest.cc
  7332. M src/tests/debugallocation_test.cc
  7333. M src/tests/malloc_extension_test.cc
  7334. M src/tests/profile-handler_unittest.cc
  7335. M src/tests/profiler_unittest.sh
  7336. M src/tests/tcmalloc_unittest.cc
  7337. M src/windows/config.h
  7338. M src/windows/google/tcmalloc.h
  7339. commit 5b80f01df1137337131b4c50ce97faaff9973e90
  7340. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7341. Date: Tue Nov 10 16:24:57 2009 +0000
  7342. * Replace usleep() and poll() with nanosleep() (glider)
  7343. * Document problems with _recalloc (csilvers)
  7344. * Detect when x86_64 doesn't turn off frame pointers
  7345. (csilvers)
  7346. * Fix sysinfo.cc/etc to work with 64-bit os x (csilvers)
  7347. * BUGFIX: Use __TEXT instead of __DATA to store tcmalloc fns
  7348. (csilvers)
  7349. * Added two numeric pageheap properties to tcmalloc (fikes)
  7350. * Support for mallocranges stats visualization (sanjay)
  7351. * Use libunwind for i386, not just x86_64 (ppluzhnikov)
  7352. * Add ReleaseToSystem(num_bytes) (kash)
  7353. * Provide corect library filenames under solaris (jeffrey)
  7354. * BUGFIX: a simple bug in pprof --raw mode (mrabkin)
  7355. * Prfer sys/ucontext.h to ucontext.h, to fix OS X 10.6
  7356. (csilvers)
  7357. * Improve supprot for inlined functions in pprof (sanjay)
  7358. * Document inaccuracies in profiling mmap calls (csilvers)
  7359. * Update wget code to not use keepalive (mrabkin, csilvers)
  7360. git-svn-id: http://gperftools.googlecode.com/svn/trunk@78
  7361. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7362. M Makefile.am
  7363. M Makefile.in
  7364. M README.windows
  7365. M configure
  7366. M configure.ac
  7367. M doc/heapprofile.html
  7368. M google-perftools.sln
  7369. M m4/pc_from_ucontext.m4
  7370. M src/base/basictypes.h
  7371. M src/base/dynamic_annotations.h
  7372. M src/base/sysinfo.cc
  7373. M src/base/sysinfo.h
  7374. M src/debugallocation.cc
  7375. M src/google/heap-checker.h
  7376. M src/google/malloc_extension.h
  7377. M src/google/malloc_extension_c.h
  7378. M src/heap-checker.cc
  7379. M src/malloc_extension.cc
  7380. M src/page_heap.cc
  7381. M src/page_heap.h
  7382. M src/pagemap.h
  7383. M src/pprof
  7384. M src/stacktrace_config.h
  7385. M src/symbolize.cc
  7386. M src/symbolize.h
  7387. M src/tcmalloc.cc
  7388. M src/tests/malloc_extension_c_test.c
  7389. A src/tests/page_heap_test.cc
  7390. M src/tests/pagemap_unittest.cc
  7391. M src/tests/profile-handler_unittest.cc
  7392. M src/tests/tcmalloc_unittest.cc
  7393. A vsprojects/page_heap_test/page_heap_test.vcproj
  7394. commit 25eed16e1b042a80c9a3e83bbf7ed227d04fb45a
  7395. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7396. Date: Tue Oct 27 17:30:52 2009 +0000
  7397. * Fix Symbolize() to call pprof once, rather than once/symbol
  7398. (glider)
  7399. * Fix unsetting of hooks before forking, in debug mode (maxim)
  7400. * Add some documention for pmuprofile (aruns)
  7401. * Speed up futex with FUTEX_PRIVATE_FLAG (m3b)
  7402. * Fix os x 10.6: prefer sys/ucontext.h to ucontext.h
  7403. (csilvers)
  7404. * Fix C shims to be actually valid C: malloc_extension/etc
  7405. (csilvers)
  7406. * Fix a longtime memset bug (csilvers)
  7407. * Implement nothrow versions of delete (csilvers)
  7408. * Fix recursively-unmapped-region accounting (ppluzhnikov)
  7409. * Better distinguish between real and fake VDSO (ppluzhnikov)
  7410. * Modify span coalescing to improve performance (sanjay)
  7411. * WINDOWS: Remove unnecessary lock around VirtualAlloc
  7412. (mbelshe)
  7413. * Remove performance tests for ptmalloc2 (csilvers)
  7414. git-svn-id: http://gperftools.googlecode.com/svn/trunk@77
  7415. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7416. M Makefile.am
  7417. M Makefile.in
  7418. M configure
  7419. M configure.ac
  7420. M doc/pprof_remote_servers.html
  7421. M src/base/spinlock_linux-inl.h
  7422. M src/base/vdso_support.cc
  7423. M src/config.h.in
  7424. M src/debugallocation.cc
  7425. M src/getpc.h
  7426. M src/google/malloc_extension_c.h
  7427. M src/google/tcmalloc.h.in
  7428. M src/heap-checker.cc
  7429. M src/heap-profile-table.cc
  7430. M src/malloc_extension.cc
  7431. M src/memory_region_map.cc
  7432. M src/page_heap.cc
  7433. M src/page_heap.h
  7434. M src/pprof
  7435. M src/profiler.cc
  7436. M src/sampler.cc
  7437. M src/stacktrace_libunwind-inl.h
  7438. M src/stacktrace_x86-inl.h
  7439. M src/symbolize.cc
  7440. M src/symbolize.h
  7441. M src/tcmalloc.cc
  7442. M src/tests/heap-checker-death_unittest.sh
  7443. M src/tests/heap-checker_unittest.cc
  7444. A src/tests/malloc_extension_c_test.c
  7445. D src/tests/ptmalloc/COPYRIGHT
  7446. D src/tests/ptmalloc/lran2.h
  7447. D src/tests/ptmalloc/malloc-machine.h
  7448. D src/tests/ptmalloc/t-test.h
  7449. D src/tests/ptmalloc/t-test1.c
  7450. D src/tests/ptmalloc/t-test2.c
  7451. D src/tests/ptmalloc/thread-m.h
  7452. D src/tests/ptmalloc/thread-st.h
  7453. M src/tests/tcmalloc_unittest.cc
  7454. M src/windows/config.h
  7455. M src/windows/google/tcmalloc.h
  7456. M src/windows/port.cc
  7457. commit 19dfa9e3733155e57406fbd082273eb53cb2750e
  7458. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7459. Date: Fri Sep 11 18:42:32 2009 +0000
  7460. Thu Sep 10 13:51:15 2009 Google Inc. <opensource@google.com>
  7461. * google-perftools: version 1.4 release
  7462. * Add debugallocation library, to catch memory leaks,
  7463. stomping, etc
  7464. * Add --raw mode to allow for delayed processing of pprof
  7465. files
  7466. * Use less memory when reading CPU profiles
  7467. * New environment variables to control kernel-allocs (sbrk,
  7468. memfs, etc)
  7469. * Add MarkThreadBusy(): performance improvement
  7470. * Remove static thread-cache-size code; all is dynamic now
  7471. * Add new HiddenPointer class to heap checker
  7472. * BUGFIX: pvalloc(0) allocates now (found by new debugalloc
  7473. library)
  7474. * BUGFIX: valloc test (not implementation) no longer
  7475. overruns memory
  7476. * BUGFIX: GetHeapProfile no longer deadlocks
  7477. * BUGFIX: Support unmapping memory regions before main
  7478. * BUGFIX: Fix some malloc-stats formatting
  7479. * BUGFIX: Don't crash as often when freeing libc-allocated
  7480. memory
  7481. * BUGFIX: Deal better with incorrect PPROF_PATH when
  7482. symbolizing
  7483. * BUGFIX: weaken new/delete/etc in addition to malloc/free/etc
  7484. * BUGFIX: Fix return value of GetAllocatedSize
  7485. * PORTING: Fix mmap-#define problem on some 64-bit systems
  7486. * PORTING: Call ranlib again (some OS X versions need it)
  7487. * PORTING: Fix a leak when building with LLVM
  7488. * PORTING: Remove some unneeded bash-ishs from testing scripts
  7489. * WINDOWS: Support library unloading as well as loading
  7490. * WINDOWS/BUGFIX: Set page to 'xrw' instead of 'rw' when
  7491. patching
  7492. git-svn-id: http://gperftools.googlecode.com/svn/trunk@76
  7493. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7494. M ChangeLog
  7495. M Makefile.am
  7496. M Makefile.in
  7497. M aclocal.m4
  7498. M configure
  7499. M configure.ac
  7500. M doc/tcmalloc.html
  7501. M google-perftools.sln
  7502. M m4/install_prefix.m4
  7503. A m4/pc_from_ucontext.m4
  7504. M packages/deb/changelog
  7505. M src/base/atomicops-internals-macosx.h
  7506. M src/base/atomicops-internals-x86.cc
  7507. M src/base/atomicops-internals-x86.h
  7508. M src/base/basictypes.h
  7509. M src/base/dynamic_annotations.cc
  7510. M src/base/dynamic_annotations.h
  7511. M src/base/logging.h
  7512. M src/base/low_level_alloc.cc
  7513. M src/base/low_level_alloc.h
  7514. M src/base/simple_mutex.h
  7515. M src/base/spinlock.cc
  7516. M src/base/spinlock.h
  7517. A src/base/spinlock_linux-inl.h
  7518. A src/base/spinlock_posix-inl.h
  7519. A src/base/spinlock_win32-inl.h
  7520. M src/base/sysinfo.cc
  7521. M src/base/sysinfo.h
  7522. M src/base/vdso_support.cc
  7523. M src/base/vdso_support.h
  7524. M src/common.cc
  7525. M src/common.h
  7526. M src/config.h.in
  7527. A src/debugallocation.cc
  7528. M src/getpc.h
  7529. M src/google/heap-checker.h
  7530. M src/google/malloc_extension.h
  7531. M src/google/malloc_extension_c.h
  7532. M src/google/tcmalloc.h.in
  7533. M src/heap-checker.cc
  7534. M src/heap-profile-table.cc
  7535. M src/heap-profiler.cc
  7536. M src/malloc_extension.cc
  7537. M src/malloc_hook.cc
  7538. M src/memfs_malloc.cc
  7539. M src/memory_region_map.cc
  7540. M src/packed-cache-inl.h
  7541. M src/page_heap.h
  7542. M src/pagemap.h
  7543. M src/pprof
  7544. M src/profiler.cc
  7545. M src/sampler.h
  7546. M src/stacktrace_win32-inl.h
  7547. M src/stacktrace_with_context.cc
  7548. M src/stacktrace_x86-inl.h
  7549. A src/symbolize.cc
  7550. C060 src/stacktrace_with_context.cc src/symbolize.h
  7551. M src/system-alloc.cc
  7552. M src/tcmalloc.cc
  7553. M src/tests/addressmap_unittest.cc
  7554. A src/tests/debugallocation_test.cc
  7555. A src/tests/debugallocation_test.sh
  7556. M src/tests/heap-checker_unittest.cc
  7557. M src/tests/heap-profiler_unittest.cc
  7558. M src/tests/heap-profiler_unittest.sh
  7559. M src/tests/low_level_alloc_unittest.cc
  7560. M src/tests/malloc_extension_test.cc
  7561. M src/tests/markidle_unittest.cc
  7562. M src/tests/memalign_unittest.cc
  7563. M src/tests/pagemap_unittest.cc
  7564. M src/tests/profile-handler_unittest.cc
  7565. M src/tests/profiledata_unittest.cc
  7566. M src/tests/profiler_unittest.cc
  7567. M src/tests/profiler_unittest.sh
  7568. M src/tests/sampler_test.cc
  7569. M src/tests/stacktrace_unittest.cc
  7570. M src/tests/tcmalloc_unittest.cc
  7571. M src/thread_cache.cc
  7572. M src/thread_cache.h
  7573. M src/windows/config.h
  7574. M src/windows/google/tcmalloc.h
  7575. M src/windows/patch_functions.cc
  7576. M src/windows/port.h
  7577. M src/windows/preamble_patcher.cc
  7578. M vsprojects/addr2line-pdb/addr2line-pdb.vcproj
  7579. M vsprojects/addressmap_unittest/addressmap_unittest.vcproj
  7580. M vsprojects/frag_unittest/frag_unittest.vcproj
  7581. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  7582. M
  7583. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  7584. M vsprojects/malloc_extension_test/malloc_extension_test.vcproj
  7585. M vsprojects/markidle_unittest/markidle_unittest.vcproj
  7586. M vsprojects/nm-pdb/nm-pdb.vcproj
  7587. M vsprojects/packed-cache_test/packed-cache_test.vcproj
  7588. M vsprojects/pagemap_unittest/pagemap_unittest.vcproj
  7589. M vsprojects/realloc_unittest/realloc_unittest.vcproj
  7590. M vsprojects/sampler_test/sampler_test.vcproj
  7591. M vsprojects/stack_trace_table_test/stack_trace_table_test.vcproj
  7592. M
  7593. vsprojects/tcmalloc_minimal_large/tcmalloc_minimal_large_unittest.vcproj
  7594. M
  7595. vsprojects/tcmalloc_minimal_unittest/tcmalloc_minimal_unittest.vcproj
  7596. M vsprojects/thread_dealloc_unittest/thread_dealloc_unittest.vcproj
  7597. M vsprojects/tmu-static/tmu-static.vcproj
  7598. commit 2197cc670204c583bba3903b765c77620f349609
  7599. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7600. Date: Wed Jun 10 02:04:26 2009 +0000
  7601. Tue Jun 9 18:19:06 2009 Google Inc. <opensource@google.com>
  7602. * google-perftools: version 1.3 release
  7603. * Provide our own name for memory functions: tc_malloc, etc
  7604. (csilvers)
  7605. * Weaken memory-alloc functions so user can override them
  7606. (csilvers)
  7607. * Remove meaningless delete(nothrow) and delete[](nothrow)
  7608. (csilvers)
  7609. * BUILD: replace clever libtcmalloc/profiler.a with a new .a
  7610. (csilvers)
  7611. * PORTING: improve windows port by using google spinlocks
  7612. (csilvers)
  7613. * PORTING: Fix RedHat 9 memory allocation in heapchecker
  7614. (csilvers)
  7615. * PORTING: Rename OS_WINDOWS macro to PLATFORM_WINDOWS
  7616. (mbelshe)
  7617. * PORTING/BUGFIX: Make sure we don't clobber GetLastError
  7618. (mbelshe)
  7619. * BUGFIX: get rid of useless data for callgrind (weidenrinde)
  7620. * BUGFIX: Modify windows patching to deadlock sometimes
  7621. (csilvers)
  7622. * BUGFIX: an improved fix for hook handling during fork
  7623. (csilvers)
  7624. * BUGFIX: revamp profiler_unittest.sh, which was very broken
  7625. (csilvers)
  7626. git-svn-id: http://gperftools.googlecode.com/svn/trunk@74
  7627. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7628. M ChangeLog
  7629. M Makefile.am
  7630. M Makefile.in
  7631. M README
  7632. M aclocal.m4
  7633. M configure
  7634. M configure.ac
  7635. D m4/stl_hash.m4
  7636. M packages/deb/changelog
  7637. M packages/rpm/rpm.spec
  7638. M src/base/atomicops-internals-linuxppc.h
  7639. M src/base/dynamic_annotations.cc
  7640. M src/base/dynamic_annotations.h
  7641. M src/base/spinlock.cc
  7642. M src/base/sysinfo.cc
  7643. M src/base/sysinfo.h
  7644. M src/base/vdso_support.cc
  7645. M src/base/vdso_support.h
  7646. M src/config.h.in
  7647. A src/google/tcmalloc.h.in
  7648. M src/heap-checker.cc
  7649. M src/pprof
  7650. M src/profile-handler.cc
  7651. M src/tcmalloc.cc
  7652. M src/tests/heap-checker-death_unittest.sh
  7653. M src/tests/profiler_unittest.sh
  7654. M src/tests/stacktrace_unittest.cc
  7655. M src/windows/config.h
  7656. A src/windows/google/tcmalloc.h
  7657. M src/windows/override_functions.cc
  7658. M src/windows/patch_functions.cc
  7659. commit 104bf697fbd2a0b90b5f01344ee01c8caa1745d0
  7660. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7661. Date: Mon May 18 22:50:20 2009 +0000
  7662. Use the google spinlock code instead of the built-in windows code.
  7663. The main benefit for perftools is that google spinlocks allow for
  7664. link-time (static) initialization, which we had to simulate before,
  7665. yielding bugs and worse performance.
  7666. git-svn-id: http://gperftools.googlecode.com/svn/trunk@73
  7667. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7668. M src/base/atomicops-internals-x86-msvc.h
  7669. M src/base/spinlock.cc
  7670. M src/base/spinlock.h
  7671. M src/windows/config.h
  7672. M src/windows/patch_functions.cc
  7673. M src/windows/port.cc
  7674. M src/windows/port.h
  7675. M vsprojects/addressmap_unittest/addressmap_unittest.vcproj
  7676. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  7677. M
  7678. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  7679. M vsprojects/packed-cache_test/packed-cache_test.vcproj
  7680. M vsprojects/tmu-static/tmu-static.vcproj
  7681. commit ad03b009ef2046cee9dc38afe022b487de37db5c
  7682. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7683. Date: Sat Apr 25 01:01:23 2009 +0000
  7684. In the case of windows with HAS_EXCEPTIONS turned off we weren't able
  7685. to use the std::set_new_handler correctly. Rework the #ifdefs to
  7686. allow use of the std_new_handler, but ignore the exceptions.
  7687. Patch submitted by mbelshe.
  7688. git-svn-id: http://gperftools.googlecode.com/svn/trunk@72
  7689. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7690. M src/tcmalloc.cc
  7691. commit 1894763f57b00f72a720c4c126815c073d9ed0f3
  7692. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7693. Date: Wed Apr 22 22:53:41 2009 +0000
  7694. Make sure we don't clobber GetLastError() (for windows).
  7695. git-svn-id: http://gperftools.googlecode.com/svn/trunk@71
  7696. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7697. M src/windows/port.h
  7698. commit a63235c4331445d718d151a2a659ec9687a0b8c8
  7699. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7700. Date: Tue Apr 21 17:10:29 2009 +0000
  7701. 1) Change #include "config.h" to <config.h>. This is what automake
  7702. recommends, and makes it easier to override a config file.
  7703. 2) Rename OS_WINDOWS in sysinfo.cc, to not conflict with a macro
  7704. defined in a windows SDK somewhere.
  7705. git-svn-id: http://gperftools.googlecode.com/svn/trunk@70
  7706. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7707. M src/base/atomicops.h
  7708. M src/base/basictypes.h
  7709. M src/base/commandlineflags.h
  7710. M src/base/elfcore.h
  7711. M src/base/logging.cc
  7712. M src/base/logging.h
  7713. M src/base/low_level_alloc.h
  7714. M src/base/simple_mutex.h
  7715. M src/base/spinlock.cc
  7716. M src/base/spinlock.h
  7717. M src/base/stl_allocator.h
  7718. M src/base/sysinfo.cc
  7719. M src/base/sysinfo.h
  7720. M src/base/vdso_support.h
  7721. M src/heap-checker.cc
  7722. M src/heap-profile-table.cc
  7723. M src/heap-profiler.cc
  7724. M src/internal_logging.cc
  7725. M src/internal_logging.h
  7726. M src/malloc_extension.cc
  7727. M src/malloc_hook.cc
  7728. M src/memfs_malloc.cc
  7729. M src/memory_region_map.cc
  7730. M src/memory_region_map.h
  7731. M src/page_heap.cc
  7732. M src/page_heap.h
  7733. M src/profiledata.cc
  7734. M src/profiledata.h
  7735. M src/raw_printer.cc
  7736. M src/raw_printer.h
  7737. M src/span.cc
  7738. M src/span.h
  7739. M src/stack_trace_table.cc
  7740. M src/stack_trace_table.h
  7741. M src/stacktrace.cc
  7742. M src/stacktrace_with_context.cc
  7743. M src/static_vars.h
  7744. M src/system-alloc.cc
  7745. M src/system-alloc.h
  7746. M src/tcmalloc.cc
  7747. M src/tcmalloc.h
  7748. M src/thread_cache.cc
  7749. M src/thread_cache.h
  7750. M src/windows/override_functions.cc
  7751. M src/windows/patch_functions.cc
  7752. M src/windows/port.cc
  7753. commit beb6a9a183c1ca25c99e4401b58266ce73b8c846
  7754. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7755. Date: Sat Apr 18 00:02:25 2009 +0000
  7756. Fri Apr 17 16:40:48 2009 Google Inc. <opensource@google.com>
  7757. * google-perftools: version 1.2 release
  7758. * Allow large_alloc_threshold=0 to turn it off entirely
  7759. (csilvers)
  7760. * Die more helpfully when out of memory for internal data
  7761. (csilvers)
  7762. * Refactor profile-data gathering, add a new unittest (cgd,
  7763. nabeelmian)
  7764. * BUGFIX: fix rounding errors with static thread-size caches
  7765. (addi)
  7766. * BUGFIX: disable hooks better when forking in leak-checker
  7767. (csilvers)
  7768. * BUGFIX: fix realloc of crt pointers on windows (csilvers)
  7769. * BUGFIX: do a better job of finding binaries in .sh tests
  7770. (csilvers)
  7771. * WINDOWS: allow overriding malloc/etc instead of patching
  7772. (mbelshe)
  7773. * PORTING: fix compilation error in a ppc-specific file
  7774. (csilvers)
  7775. * PORTING: deal with quirks in cygwin's /proc/self/maps
  7776. (csilvers)
  7777. * PORTING: use 'A' version of functions for ascii input
  7778. (mbelshe)
  7779. * PORTING: generate .so's on cygwin and mingw (ajenjo)
  7780. * PORTING: disable profiler methods on cygwin (jperkins)
  7781. * Updated autoconf version to 2.61 and libtool version
  7782. to 1.5.26
  7783. git-svn-id: http://gperftools.googlecode.com/svn/trunk@68
  7784. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7785. M ChangeLog
  7786. M INSTALL
  7787. M Makefile.am
  7788. M Makefile.in
  7789. M README.windows
  7790. M aclocal.m4
  7791. M config.guess
  7792. M config.sub
  7793. M configure
  7794. M configure.ac
  7795. M ltmain.sh
  7796. M packages/deb/changelog
  7797. M packages/rpm.sh
  7798. M packages/rpm/rpm.spec
  7799. M src/base/atomicops-internals-linuxppc.h
  7800. M src/base/logging.cc
  7801. M src/base/logging.h
  7802. M src/base/simple_mutex.h
  7803. M src/base/sysinfo.cc
  7804. M src/base/sysinfo.h
  7805. M src/config.h.in
  7806. M src/google/heap-checker.h
  7807. M src/google/profiler.h
  7808. M src/heap-checker.cc
  7809. M src/heap-profile-table.cc
  7810. M src/heap-profile-table.h
  7811. M src/page_heap_allocator.h
  7812. M src/pprof
  7813. A src/profile-handler.cc
  7814. A src/profile-handler.h
  7815. M src/profiledata.cc
  7816. M src/profiledata.h
  7817. M src/profiler.cc
  7818. M src/sampler.cc
  7819. M src/stacktrace_win32-inl.h
  7820. M src/stacktrace_x86-inl.h
  7821. M src/tcmalloc.cc
  7822. M src/tests/frag_unittest.cc
  7823. A src/tests/profile-handler_unittest.cc
  7824. M src/tests/profiledata_unittest.cc
  7825. M src/tests/sampling_test.cc
  7826. M src/tests/sampling_test.sh
  7827. M src/tests/testutil.cc
  7828. M src/thread_cache.cc
  7829. M src/windows/addr2line-pdb.c
  7830. M src/windows/config.h
  7831. M src/windows/mingw.h
  7832. M src/windows/nm-pdb.c
  7833. A src/windows/override_functions.cc
  7834. M src/windows/patch_functions.cc
  7835. M src/windows/port.cc
  7836. M src/windows/port.h
  7837. commit edd03a831f350bc72d76d4fad2b390d43faccb79
  7838. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7839. Date: Wed Mar 11 20:50:03 2009 +0000
  7840. Wed Mar 11 11:25:34 2009 Google Inc. <opensource@google.com>
  7841. * google-perftools: version 1.1 release
  7842. * Dynamically resize thread caches -- nice perf. improvement
  7843. (kash)
  7844. * Add VDSO support to give better stacktraces in linux
  7845. (ppluzhnikov)
  7846. * Improve heap-profiling sampling algorithm (ford)
  7847. * Rewrite leak-checking code: should be faster and more robust
  7848. (sanjay)
  7849. * Use ps2 instead of ps for dot: better page cropping for gv
  7850. (csilvers)
  7851. * Disable malloc-failure warning messages by default
  7852. (csilvers)
  7853. * Update config/Makefile to disable tests on a per-OS basis
  7854. (csilvers)
  7855. * PORTING: Get perftools compiling under MSVC 7.1 again
  7856. (csilvers)
  7857. * PORTING: Get perftools compiling under cygwin again
  7858. (csilvers)
  7859. * PORTING: automatically set library flags for solaris x86
  7860. (csilvers)
  7861. * Add TCMALLOC_SKIP_SBRK to mirror TCMALLOC_SKIP_MMAP
  7862. (csilvers)
  7863. * Add --enable flags to allow selective building (csilvers)
  7864. * Put addr2line-pdb and nm-pdb in proper output directory
  7865. (csilvers)
  7866. * Remove deprecated DisableChecksIn (sanjay)
  7867. * DOCUMENTATION: Document most MallocExtension routines
  7868. (csilvers)
  7869. git-svn-id: http://gperftools.googlecode.com/svn/trunk@66
  7870. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7871. M ChangeLog
  7872. M INSTALL
  7873. M Makefile.am
  7874. M Makefile.in
  7875. M README
  7876. M README.windows
  7877. M aclocal.m4
  7878. M configure
  7879. M configure.ac
  7880. M doc/pprof_remote_servers.html
  7881. M doc/tcmalloc.html
  7882. M google-perftools.sln
  7883. A m4/acx_nanosleep.m4
  7884. M packages/deb.sh
  7885. M packages/deb/changelog
  7886. M src/base/basictypes.h
  7887. M src/base/cycleclock.h
  7888. M src/base/dynamic_annotations.cc
  7889. M src/base/dynamic_annotations.h
  7890. M src/base/linux_syscall_support.h
  7891. M src/base/simple_mutex.h
  7892. M src/base/spinlock.h
  7893. M src/base/sysinfo.cc
  7894. M src/base/sysinfo.h
  7895. M src/base/thread_annotations.h
  7896. A src/base/vdso_support.cc
  7897. A src/base/vdso_support.h
  7898. M src/central_freelist.cc
  7899. M src/common.cc
  7900. M src/common.h
  7901. M src/config.h.in
  7902. M src/google/heap-checker.h
  7903. M src/google/malloc_extension.h
  7904. M src/google/malloc_extension_c.h
  7905. M src/google/stacktrace.h
  7906. M src/heap-checker.cc
  7907. M src/heap-profile-table.cc
  7908. M src/heap-profile-table.h
  7909. M src/heap-profiler.cc
  7910. M src/internal_logging.cc
  7911. M src/internal_logging.h
  7912. M src/malloc_extension.cc
  7913. M src/malloc_hook.cc
  7914. M src/memory_region_map.cc
  7915. M src/page_heap.cc
  7916. M src/pprof
  7917. M src/profiler.cc
  7918. C061 src/static_vars.cc src/raw_printer.cc
  7919. A src/raw_printer.h
  7920. A src/sampler.cc
  7921. A src/sampler.h
  7922. M src/span.cc
  7923. A src/stack_trace_table.cc
  7924. C056 src/static_vars.cc src/stack_trace_table.h
  7925. M src/stacktrace.cc
  7926. C057 src/stacktrace.cc src/stacktrace_config.h
  7927. M src/stacktrace_libunwind-inl.h
  7928. M src/stacktrace_win32-inl.h
  7929. C059 src/static_vars.cc src/stacktrace_with_context.cc
  7930. M src/stacktrace_x86-inl.h
  7931. M src/stacktrace_x86_64-inl.h
  7932. M src/static_vars.cc
  7933. M src/static_vars.h
  7934. M src/system-alloc.cc
  7935. M src/tcmalloc.cc
  7936. M src/tests/heap-checker-death_unittest.sh
  7937. M src/tests/heap-checker_unittest.cc
  7938. M src/tests/heap-profiler_unittest.sh
  7939. C060 src/tests/sampling_test.cc src/tests/malloc_extension_test.cc
  7940. A src/tests/pagemap_unittest.cc
  7941. A src/tests/raw_printer_test.cc
  7942. A src/tests/realloc_unittest.cc
  7943. A src/tests/sampler_test.cc
  7944. M src/tests/sampling_test.cc
  7945. M src/tests/sampling_test.sh
  7946. A src/tests/stack_trace_table_test.cc
  7947. M src/tests/tcmalloc_unittest.cc
  7948. M src/thread_cache.cc
  7949. M src/thread_cache.h
  7950. M src/windows/addr2line-pdb.c
  7951. M src/windows/config.h
  7952. M src/windows/patch_functions.cc
  7953. M src/windows/port.h
  7954. M vsprojects/addr2line-pdb/addr2line-pdb.vcproj
  7955. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  7956. M
  7957. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  7958. C061 vsprojects/nm-pdb/nm-pdb.vcproj
  7959. vsprojects/malloc_extension_test/malloc_extension_test.vcproj
  7960. M vsprojects/nm-pdb/nm-pdb.vcproj
  7961. C064 vsprojects/nm-pdb/nm-pdb.vcproj
  7962. vsprojects/pagemap_unittest/pagemap_unittest.vcproj
  7963. C065 vsprojects/nm-pdb/nm-pdb.vcproj
  7964. vsprojects/realloc_unittest/realloc_unittest.vcproj
  7965. C063 vsprojects/nm-pdb/nm-pdb.vcproj
  7966. vsprojects/sampler_test/sampler_test.vcproj
  7967. C061 vsprojects/nm-pdb/nm-pdb.vcproj
  7968. vsprojects/stack_trace_table_test/stack_trace_table_test.vcproj
  7969. M vsprojects/tmu-static/tmu-static.vcproj
  7970. commit c75de4d1e91c339fb5142a8a21be8b3ba5224ef7
  7971. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7972. Date: Tue Jan 6 19:41:15 2009 +0000
  7973. Tue Jan 6 13:58:56 2009 Google Inc. <opensource@google.com>
  7974. * google-perftools: version 1.0 release
  7975. * Exactly the same as 1.0rc2
  7976. git-svn-id: http://gperftools.googlecode.com/svn/trunk@64
  7977. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7978. M ChangeLog
  7979. M configure
  7980. M configure.ac
  7981. M packages/deb/changelog
  7982. M src/pprof
  7983. commit 49b02736109f9fe3383971e62bda2192ae86a36d
  7984. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7985. Date: Mon Dec 15 01:20:31 2008 +0000
  7986. Sun Dec 14 17:10:35 2008 Google Inc. <opensource@google.com>
  7987. * google-perftools: version 1.0rc2 release
  7988. * Fix compile error on 64-bit systems (casting ptr to int)
  7989. (csilvers)
  7990. Thu Dec 11 16:01:32 2008 Google Inc. <opensource@google.com>
  7991. git-svn-id: http://gperftools.googlecode.com/svn/trunk@62
  7992. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  7993. M ChangeLog
  7994. M configure
  7995. M configure.ac
  7996. M src/heap-checker.cc
  7997. commit 6fa2a2574ce1c15ac12293e24691d69a41972e54
  7998. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  7999. Date: Sat Dec 13 01:35:42 2008 +0000
  8000. Thu Dec 11 16:01:32 2008 Google Inc. <opensource@google.com>
  8001. * google-perftools: version 1.0rc1 release
  8002. * Replace API for selectively disabling heap-checker in code
  8003. (sanjay)
  8004. * Add a pre-mmap hook (daven, adlr)
  8005. * Add MallocExtension interface to set memory-releasing rate
  8006. (fikes)
  8007. * Augment pprof to allow any string ending in /pprof/profile
  8008. (csilvers)
  8009. * PORTING: Rewrite -- and fix -- malloc patching for windows
  8010. (dvitek)
  8011. * PORTING: Add nm-pdb and addr2line-pdb for use by pprof
  8012. (dvitek)
  8013. * PORTING: Improve cygwin and mingw support (jperkins,
  8014. csilvers)
  8015. * PORTING: Fix pprof for mac os x, other pprof improvements
  8016. (csilvers)
  8017. * PORTING: Fix some PPC bugs in our locking code
  8018. (anton.blanchard)
  8019. * A new unittest, smapling_test, to verify tcmalloc-profiles
  8020. (csilvers)
  8021. * Turn off TLS for gcc < 4.1.2, due to a TLS + -fPIC bug
  8022. (csilvers)
  8023. * Prefer __builtin_frame_address to assembly for stacktraces
  8024. (nlewycky)
  8025. * Separate tcmalloc.cc out into multiple files --
  8026. finally! (kash)
  8027. * Make our locking code work with -fPIC on 32-bit x86 (aruns)
  8028. * Fix an initialization-ordering bug for tcmalloc/profiling
  8029. (csilvers)
  8030. * Use "initial exec" model of TLS to speed up tcmalloc
  8031. (csilvers)
  8032. * Enforce 16-byte alignment for tcmalloc, for SSE (sanjay)
  8033. git-svn-id: http://gperftools.googlecode.com/svn/trunk@60
  8034. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8035. M ChangeLog
  8036. M INSTALL
  8037. M Makefile.am
  8038. M Makefile.in
  8039. M README.windows
  8040. M configure
  8041. M configure.ac
  8042. M doc/heap_checker.html
  8043. M doc/pprof_remote_servers.html
  8044. M google-perftools.sln
  8045. M packages/deb.sh
  8046. M packages/deb/changelog
  8047. M src/base/atomicops-internals-linuxppc.h
  8048. M src/base/atomicops-internals-macosx.h
  8049. M src/base/atomicops-internals-x86.h
  8050. M src/base/basictypes.h
  8051. M src/base/linux_syscall_support.h
  8052. M src/base/logging.cc
  8053. M src/base/logging.h
  8054. M src/base/simple_mutex.h
  8055. M src/base/sysinfo.cc
  8056. M src/base/sysinfo.h
  8057. A src/base/thread_annotations.h
  8058. M src/base/thread_lister.c
  8059. A src/central_freelist.cc
  8060. A src/central_freelist.h
  8061. A src/common.cc
  8062. A src/common.h
  8063. M src/getpc.h
  8064. M src/google/heap-checker.h
  8065. M src/google/heap-profiler.h
  8066. M src/google/malloc_extension.h
  8067. M src/google/malloc_hook.h
  8068. M src/google/malloc_hook_c.h
  8069. M src/google/profiler.h
  8070. M src/google/stacktrace.h
  8071. M src/heap-checker.cc
  8072. M src/heap-profile-table.cc
  8073. M src/heap-profile-table.h
  8074. M src/heap-profiler.cc
  8075. A src/linked_list.h
  8076. M src/malloc_extension.cc
  8077. M src/malloc_hook-inl.h
  8078. M src/malloc_hook.cc
  8079. M src/memory_region_map.cc
  8080. M src/memory_region_map.h
  8081. A src/page_heap.cc
  8082. A src/page_heap.h
  8083. A src/page_heap_allocator.h
  8084. M src/pprof
  8085. M src/profiler.cc
  8086. A src/span.cc
  8087. A src/span.h
  8088. M src/stacktrace.cc
  8089. M src/stacktrace_libunwind-inl.h
  8090. A src/stacktrace_win32-inl.h
  8091. M src/stacktrace_x86-inl.h
  8092. C059 src/base/logging.cc src/static_vars.cc
  8093. A src/static_vars.h
  8094. M src/tcmalloc.cc
  8095. C071 src/base/logging.cc src/tcmalloc_guard.h
  8096. M src/tests/atomicops_unittest.cc
  8097. M src/tests/frag_unittest.cc
  8098. M src/tests/heap-checker_unittest.cc
  8099. M src/tests/low_level_alloc_unittest.cc
  8100. C052 src/base/logging.cc src/tests/sampling_test.cc
  8101. A src/tests/sampling_test.sh
  8102. M src/tests/stacktrace_unittest.cc
  8103. M src/tests/tcmalloc_unittest.cc
  8104. M src/tests/testutil.cc
  8105. A src/thread_cache.cc
  8106. A src/thread_cache.h
  8107. A src/windows/addr2line-pdb.c
  8108. A src/windows/get_mangled_names.cc
  8109. M src/windows/mingw.h
  8110. M src/windows/mini_disassembler.cc
  8111. M src/windows/mini_disassembler.h
  8112. M src/windows/mini_disassembler_types.h
  8113. A src/windows/nm-pdb.c
  8114. M src/windows/patch_functions.cc
  8115. M src/windows/port.cc
  8116. M src/windows/port.h
  8117. M src/windows/preamble_patcher.cc
  8118. M src/windows/preamble_patcher.h
  8119. M src/windows/preamble_patcher_with_stub.cc
  8120. D src/windows/vc7and8.def
  8121. R059 vsprojects/memalign_unittest/memalign_unittest.vcproj
  8122. vsprojects/addr2line-pdb/addr2line-pdb.vcproj
  8123. M vsprojects/frag_unittest/frag_unittest.vcproj
  8124. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  8125. M
  8126. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  8127. M vsprojects/markidle_unittest/markidle_unittest.vcproj
  8128. C068 vsprojects/frag_unittest/frag_unittest.vcproj
  8129. vsprojects/nm-pdb/nm-pdb.vcproj
  8130. M
  8131. vsprojects/tcmalloc_minimal_large/tcmalloc_minimal_large_unittest.vcproj
  8132. M
  8133. vsprojects/tcmalloc_minimal_unittest/tcmalloc_minimal_unittest.vcproj
  8134. M vsprojects/thread_dealloc_unittest/thread_dealloc_unittest.vcproj
  8135. R074
  8136. vsprojects/tcmalloc_minimal_unittest-static/tcmalloc_minimal_unittest-static.vcproj
  8137. vsprojects/tmu-static/tmu-static.vcproj
  8138. commit 16191f87ff8dc78295c0f617060460664fc444bd
  8139. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8140. Date: Tue Sep 23 17:51:05 2008 +0000
  8141. Tue Sep 23 08:56:31 2008 Google Inc. <opensource@google.com>
  8142. * google-perftools: version 0.99.2 release
  8143. * COMPILE FIX: add #include needed for FreeBSD and OS X
  8144. (csilvers)
  8145. git-svn-id: http://gperftools.googlecode.com/svn/trunk@58
  8146. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8147. M ChangeLog
  8148. M configure
  8149. M configure.ac
  8150. M src/tests/heap-profiler_unittest.cc
  8151. commit 8b2dd25dc9d1523ab9a86bd39c4fb798c89db899
  8152. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8153. Date: Sat Sep 20 17:15:23 2008 +0000
  8154. Sat Sep 20 09:37:18 2008 Google Inc. <opensource@google.com>
  8155. * google-perftools: version 0.99.1 release
  8156. * BUG FIX: look for nm, etc in /usr/bin, not /usr/crosstool
  8157. (csilvers)
  8158. git-svn-id: http://gperftools.googlecode.com/svn/trunk@56
  8159. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8160. M ChangeLog
  8161. M configure
  8162. M configure.ac
  8163. M packages/deb/changelog
  8164. M src/pprof
  8165. commit 106aef86ce5697cf44bdbec90ab6833b9254d273
  8166. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8167. Date: Fri Sep 19 20:06:40 2008 +0000
  8168. Thu Sep 18 16:00:27 2008 Google Inc. <opensource@google.com>
  8169. * google-perftools: version 0.99 release
  8170. * Add IsHeapProfileRunning (csilvers)
  8171. * Add C shims for some of the C++ header files (csilvers)
  8172. * Fix heap profile file clean-up logic (maxim)
  8173. * Rename linuxthreads.c to .cc for better compiler support
  8174. (csilvers)
  8175. * Add source info to disassembly in pprof (sanjay)
  8176. * Use open instead of fopen to avoid memory alloc (csilvers)
  8177. * Disable malloc extensions when running under valgrind (kcc)
  8178. * BUG FIX: Fix out-of-bound error by reordering a check
  8179. (larryz)
  8180. * Add Options struct to ProfileData (cgd)
  8181. * Correct PC-handling of --base in pprof (csilvers)
  8182. * Handle 1 function occurring twice in an image (sanjay)
  8183. * Improve stack-data cleaning (maxim)
  8184. * Use 'struct Foo' to make header C compatible (csilvers)
  8185. * Add 'total' line to pprof --text (csilvers)
  8186. * Pre-allocate buffer for heap-profiler to avoid OOM errors
  8187. (csilvers)
  8188. * Allow a few more env-settings to control tcmalloc (csilvers)
  8189. * Document some of the issues involving thread-local storage
  8190. (csilvers)
  8191. * BUG FIX: Define strtoll and friends for windows (csilvers)
  8192. git-svn-id: http://gperftools.googlecode.com/svn/trunk@54
  8193. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8194. M ChangeLog
  8195. M INSTALL
  8196. M Makefile.am
  8197. M Makefile.in
  8198. M README
  8199. M README.windows
  8200. M configure
  8201. M configure.ac
  8202. M doc/heapprofile.html
  8203. M doc/tcmalloc.html
  8204. M packages/deb/changelog
  8205. M src/addressmap-inl.h
  8206. M src/base/basictypes.h
  8207. M src/base/commandlineflags.h
  8208. M src/base/cycleclock.h
  8209. M src/base/dynamic_annotations.cc
  8210. M src/base/dynamic_annotations.h
  8211. R099 src/base/linuxthreads.c src/base/linuxthreads.cc
  8212. M src/base/spinlock.h
  8213. M src/base/stl_allocator.h
  8214. M src/base/sysinfo.cc
  8215. M src/google/heap-checker.h
  8216. M src/google/heap-profiler.h
  8217. M src/google/malloc_extension.h
  8218. A src/google/malloc_extension_c.h
  8219. M src/google/malloc_hook.h
  8220. A src/google/malloc_hook_c.h
  8221. M src/google/profiler.h
  8222. M src/google/stacktrace.h
  8223. M src/heap-checker.cc
  8224. M src/heap-profile-table.cc
  8225. M src/heap-profile-table.h
  8226. M src/heap-profiler.cc
  8227. M src/internal_logging.cc
  8228. M src/internal_logging.h
  8229. M src/malloc_extension.cc
  8230. M src/malloc_hook.cc
  8231. M src/memory_region_map.cc
  8232. M src/pprof
  8233. M src/profiledata.cc
  8234. M src/profiledata.h
  8235. M src/profiler.cc
  8236. M src/system-alloc.cc
  8237. M src/tcmalloc.cc
  8238. M src/tests/heap-checker-death_unittest.sh
  8239. M src/tests/heap-checker_unittest.cc
  8240. M src/tests/heap-profiler_unittest.cc
  8241. M src/tests/markidle_unittest.cc
  8242. M src/tests/profiledata_unittest.cc
  8243. M src/windows/port.h
  8244. commit 100e657c5092bc274424286a728db5116a4bbc54
  8245. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8246. Date: Sat Jun 14 02:30:53 2008 +0000
  8247. Mon Jun 9 16:47:03 2008 Google Inc. <opensource@google.com>
  8248. * google-perftools: version 0.98 release
  8249. * Add ProfilerStartWithOptions() (cgd)
  8250. * Change tcmalloc_minimal to not do any stack-tracing at all
  8251. (csilvers)
  8252. * Prefer mmap to sbrk for 64-buit debug mode (sanjay)
  8253. * Fix accounting for some tcmalloc stats (sanjay)
  8254. * Use setrlimit() to keep unittests from killing the machine
  8255. (odo)
  8256. * Fix a bug when sbrk-ing near address 4G (csilvers)
  8257. * Make MallocHook thread-safe (jyasskin)
  8258. * Fix windows build for MemoryBarrier (jyasskin)
  8259. * Fix CPU-profiler docs to mention correct libs (csilvers)
  8260. * Fix for GetHeapProfile() when heap-profiling is off (maxim)
  8261. * Avoid realloc resizing ping-pongs using hysteresis
  8262. (csilvers)
  8263. * Add --callgrind output support to pprof (klimek)
  8264. * Fix profiler.h and heap-profiler.h to be C-compatible
  8265. (csilvers)
  8266. * Break malloc_hook.h into two parts to reduce dependencies
  8267. (csilvers)
  8268. * Better handle systems that don't implement mmap (csilvers)
  8269. * PORTING: disable system_alloc_unittest for msvc (csilvers)
  8270. * PORTING: Makefile tweaks to build better on cygwin
  8271. (csilvers)
  8272. git-svn-id: http://gperftools.googlecode.com/svn/trunk@52
  8273. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8274. M ChangeLog
  8275. M Makefile.am
  8276. M Makefile.in
  8277. M README.windows
  8278. M configure
  8279. M configure.ac
  8280. M doc/cpuprofile.html
  8281. M google-perftools.sln
  8282. M m4/acx_pthread.m4
  8283. M packages/deb/changelog
  8284. M src/addressmap-inl.h
  8285. M src/base/atomicops-internals-linuxppc.h
  8286. M src/base/atomicops-internals-macosx.h
  8287. M src/base/atomicops-internals-x86-msvc.h
  8288. M src/base/atomicops-internals-x86.cc
  8289. M src/base/atomicops-internals-x86.h
  8290. M src/base/atomicops.h
  8291. M src/base/commandlineflags.h
  8292. M src/base/cycleclock.h
  8293. M src/base/dynamic_annotations.cc
  8294. M src/base/dynamic_annotations.h
  8295. M src/base/linux_syscall_support.h
  8296. M src/base/low_level_alloc.cc
  8297. M src/base/low_level_alloc.h
  8298. M src/base/simple_mutex.h
  8299. M src/base/spinlock.h
  8300. M src/base/stl_allocator.h
  8301. M src/base/sysinfo.h
  8302. M src/config.h.in
  8303. M src/getpc.h
  8304. M src/google/heap-checker.h
  8305. M src/google/heap-profiler.h
  8306. M src/google/malloc_extension.h
  8307. M src/google/malloc_hook.h
  8308. M src/google/profiler.h
  8309. M src/google/stacktrace.h
  8310. M src/heap-checker.cc
  8311. M src/heap-profile-table.h
  8312. M src/heap-profiler.cc
  8313. M src/internal_logging.h
  8314. A src/malloc_hook-inl.h
  8315. M src/malloc_hook.cc
  8316. M src/maybe_threads.cc
  8317. M src/maybe_threads.h
  8318. M src/memory_region_map.cc
  8319. M src/memory_region_map.h
  8320. M src/packed-cache-inl.h
  8321. M src/pagemap.h
  8322. M src/pprof
  8323. M src/profiledata.h
  8324. M src/profiler.cc
  8325. M src/stacktrace_generic-inl.h
  8326. M src/system-alloc.cc
  8327. M src/system-alloc.h
  8328. M src/tcmalloc.cc
  8329. M src/tests/maybe_threads_unittest.sh
  8330. M src/tests/memalign_unittest.cc
  8331. M src/tests/tcmalloc_unittest.cc
  8332. M src/tests/testutil.cc
  8333. M src/tests/testutil.h
  8334. M src/windows/config.h
  8335. M src/windows/mingw.h
  8336. M src/windows/mini_disassembler.h
  8337. M src/windows/mini_disassembler_types.h
  8338. M src/windows/patch_functions.cc
  8339. M src/windows/port.h
  8340. M src/windows/preamble_patcher.h
  8341. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  8342. M
  8343. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  8344. M vsprojects/memalign_unittest/memalign_unittest.vcproj
  8345. D vsprojects/system_alloc_unittest/system_alloc_unittest.vcproj
  8346. M
  8347. vsprojects/tcmalloc_minimal_unittest-static/tcmalloc_minimal_unittest-static.vcproj
  8348. commit 7ec719093b1c9fda979ba0d07eed288e2a7c3c9b
  8349. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8350. Date: Tue Apr 22 01:47:16 2008 +0000
  8351. Mon Apr 21 15:20:52 2008 Google Inc. <opensource@google.com>
  8352. * google-perftools: version 0.97 release
  8353. * Refactor GetHeapProfile to avoid using malloc (maxim)
  8354. * Fix heap-checker and heap-profiler hook interactions (maxim)
  8355. * Fix a data race in MemoryRegionMap::Lock (jyasskin)
  8356. * Improve thread-safety of leak checker (maxim)
  8357. * Fix mmap profile to no longer deadlock (maxim)
  8358. * Fix rpm to have devel package depend on non-devel (csilvers)
  8359. * PORTING: Fix clock-speed detection for Mac OS X (csilvers)
  8360. git-svn-id: http://gperftools.googlecode.com/svn/trunk@50
  8361. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8362. M ChangeLog
  8363. M configure
  8364. M configure.ac
  8365. M doc/heapprofile.html
  8366. M packages/deb/changelog
  8367. M packages/rpm/rpm.spec
  8368. M src/addressmap-inl.h
  8369. M src/base/cycleclock.h
  8370. M src/base/elfcore.h
  8371. M src/base/low_level_alloc.cc
  8372. M src/base/spinlock.h
  8373. M src/base/sysinfo.cc
  8374. M src/base/sysinfo.h
  8375. M src/google/heap-checker.h
  8376. M src/google/heap-profiler.h
  8377. M src/google/profiler.h
  8378. M src/heap-checker.cc
  8379. M src/heap-profile-table.cc
  8380. M src/heap-profile-table.h
  8381. M src/heap-profiler.cc
  8382. M src/internal_logging.cc
  8383. M src/internal_logging.h
  8384. M src/memory_region_map.cc
  8385. M src/memory_region_map.h
  8386. M src/pprof
  8387. M src/stacktrace_libunwind-inl.h
  8388. M src/stacktrace_x86-inl.h
  8389. M src/tcmalloc.cc
  8390. M src/tests/heap-checker-death_unittest.sh
  8391. M src/tests/heap-checker_unittest.cc
  8392. M src/tests/heap-profiler_unittest.cc
  8393. M src/tests/low_level_alloc_unittest.cc
  8394. M src/tests/maybe_threads_unittest.sh
  8395. M src/windows/port.cc
  8396. commit 97fdd4a4f97dd15e8803ed51ac153903c2cdffc2
  8397. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8398. Date: Wed Mar 19 23:35:27 2008 +0000
  8399. Tue Mar 18 14:30:44 2008 Google Inc. <opensource@google.com>
  8400. * google-perftools: version 0.96 release
  8401. * major atomicops rewrite; fixed atomic ops code for linux/ppc
  8402. (vchen)
  8403. * nix the stacktrace library; now build structure is simpler
  8404. (csilvers)
  8405. * Speed up heap-checker, and reduce extraneous logging (maxim)
  8406. * Improve itimer code for NPTL case (cgd)
  8407. * Add source code annotations for use by valgrind, etc (kcc)
  8408. * PORTING: Fix high resolution timers for Mac OS X (adlr)
  8409. git-svn-id: http://gperftools.googlecode.com/svn/trunk@48
  8410. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8411. M ChangeLog
  8412. M INSTALL
  8413. M Makefile.am
  8414. M Makefile.in
  8415. M TODO
  8416. M configure
  8417. M configure.ac
  8418. M doc/cpuprofile.html
  8419. M doc/heapprofile.html
  8420. M packages/deb/changelog
  8421. M packages/rpm/rpm.spec
  8422. M src/addressmap-inl.h
  8423. M src/base/atomicops-internals-linuxppc.h
  8424. M src/base/atomicops-internals-macosx.h
  8425. M src/base/atomicops-internals-x86-msvc.h
  8426. M src/base/atomicops-internals-x86.cc
  8427. M src/base/atomicops-internals-x86.h
  8428. M src/base/atomicops.h
  8429. M src/base/basictypes.h
  8430. M src/base/cycleclock.h
  8431. A src/base/dynamic_annotations.cc
  8432. A src/base/dynamic_annotations.h
  8433. M src/base/linux_syscall_support.h
  8434. M src/base/low_level_alloc.cc
  8435. M src/base/spinlock.cc
  8436. M src/base/spinlock.h
  8437. M src/base/sysinfo.cc
  8438. M src/heap-checker.cc
  8439. M src/heap-profile-table.cc
  8440. M src/memfs_malloc.cc
  8441. M src/pprof
  8442. M src/profiler.cc
  8443. M src/tests/atomicops_unittest.cc
  8444. M src/tests/heap-checker-death_unittest.sh
  8445. M src/tests/maybe_threads_unittest.sh
  8446. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  8447. M
  8448. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  8449. M
  8450. vsprojects/tcmalloc_minimal_unittest-static/tcmalloc_minimal_unittest-static.vcproj
  8451. commit a644b4f2d61b9610ec6eeb1f09ebce7054aa0762
  8452. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8453. Date: Tue Feb 19 22:19:22 2008 +0000
  8454. Tue Feb 19 12:01:31 2008 Google Inc. <opensource@google.com>
  8455. * google-perftools: version 0.95.1 release (bugfix release)
  8456. * x86_64 compile-fix: nix pread64 and pwrite64 (csilvers)
  8457. * more heap-checker debug logging (maxim)
  8458. * minor improvement to x86_64 CycleClock (gpike)
  8459. git-svn-id: http://gperftools.googlecode.com/svn/trunk@46
  8460. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8461. M ChangeLog
  8462. M configure
  8463. M configure.ac
  8464. M src/base/cycleclock.h
  8465. M src/base/linux_syscall_support.h
  8466. M src/heap-checker.cc
  8467. commit 8a0a3101bc6a7d56ac04b278f28bdf3f95b00a3c
  8468. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8469. Date: Wed Feb 13 00:55:09 2008 +0000
  8470. Tue Feb 12 12:28:32 2008 Google Inc. <opensource@google.com>
  8471. * google-perftools: version 0.95 release
  8472. * Better -- not perfect -- support for linux-ppc (csilvers)
  8473. * Fix race condition in libunwind stacktrace (aruns)
  8474. * Speed up x86 spinlock locking (m3b)
  8475. * Improve heap-checker performance (maxim)
  8476. * Heap checker traverses more ptrs inside heap-alloced objects
  8477. (maxim)
  8478. * Remove deprecated ProfilerThreadState function (cgd)
  8479. * Update libunwind documentation for statically linked
  8480. binaries (aruns)
  8481. git-svn-id: http://gperftools.googlecode.com/svn/trunk@44
  8482. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8483. M ChangeLog
  8484. M INSTALL
  8485. M Makefile.am
  8486. M Makefile.in
  8487. M configure
  8488. M configure.ac
  8489. M doc/heap_checker.html
  8490. M doc/tcmalloc.html
  8491. M packages/deb/changelog
  8492. M packages/deb/docs
  8493. M packages/rpm/rpm.spec
  8494. M src/addressmap-inl.h
  8495. A src/base/atomicops-internals-linuxppc.h
  8496. M src/base/atomicops-internals-x86-msvc.h
  8497. M src/base/atomicops-internals-x86.h
  8498. M src/base/atomicops.h
  8499. M src/base/commandlineflags.h
  8500. A src/base/cycleclock.h
  8501. M src/base/elfcore.h
  8502. M src/base/linux_syscall_support.h
  8503. M src/base/linuxthreads.c
  8504. M src/base/linuxthreads.h
  8505. M src/base/logging.h
  8506. R090 src/base/mutex.h src/base/simple_mutex.h
  8507. M src/base/spinlock.cc
  8508. M src/base/spinlock.h
  8509. M src/base/sysinfo.cc
  8510. M src/base/sysinfo.h
  8511. M src/google/heap-checker.h
  8512. M src/google/profiler.h
  8513. M src/heap-checker.cc
  8514. M src/heap-profile-table.cc
  8515. M src/heap-profile-table.h
  8516. M src/heap-profiler.cc
  8517. M src/malloc_extension.cc
  8518. M src/malloc_hook.cc
  8519. M src/maybe_threads.cc
  8520. M src/packed-cache-inl.h
  8521. M src/profiledata.h
  8522. M src/profiler.cc
  8523. M src/stacktrace.cc
  8524. M src/stacktrace_libunwind-inl.h
  8525. M src/stacktrace_powerpc-inl.h
  8526. M src/system-alloc.cc
  8527. M src/tcmalloc.cc
  8528. M src/tests/addressmap_unittest.cc
  8529. M src/tests/heap-checker_unittest.cc
  8530. M src/tests/profiler_unittest.cc
  8531. M src/tests/stacktrace_unittest.cc
  8532. M src/tests/tcmalloc_unittest.cc
  8533. M src/windows/preamble_patcher.h
  8534. commit b43ba444fcd74fa7c3260f6b2494dcbaa3fdb296
  8535. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8536. Date: Wed Dec 5 00:08:28 2007 +0000
  8537. Mon Dec 3 23:51:54 2007 Google Inc. <opensource@google.com>
  8538. * google-perftools: version 0.94.1 release (bugfix release)
  8539. * Fix missing #includes for x86_64 compile using libunwind
  8540. (csilvers)
  8541. git-svn-id: http://gperftools.googlecode.com/svn/trunk@42
  8542. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8543. M ChangeLog
  8544. M configure
  8545. M configure.ac
  8546. M src/stacktrace_libunwind-inl.h
  8547. commit 11b02f7aebd05cf39f6f93bdd48786909f99f34e
  8548. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8549. Date: Thu Nov 29 23:39:24 2007 +0000
  8550. Thu Nov 29 07:59:43 2007 Google Inc. <opensource@google.com>
  8551. * google-perftools: version 0.94 release
  8552. * PORTING: MinGW/Msys support -- runs same code as MSVC does
  8553. (csilvers)
  8554. * PORTING: Add NumCPUs support for Mac OS X (csilvers)
  8555. * Work around a sscanf bug in glibc(?) (waldemar)
  8556. * Fix Windows MSVC bug triggered by thread deletion (csilvers)
  8557. * Fix bug that triggers in MSVC /O2: missing volatile (gpike)
  8558. * March-of-time support: quiet warnings/errors for gcc 4.2,
  8559. OS X 10.5
  8560. * Modify pprof so it works without nm: useful for windows
  8561. (csilvers)
  8562. * pprof: Support filtering for CPU profiles (cgd)
  8563. * Bugfix: have realloc report to hooks in all situations
  8564. (maxim)
  8565. * Speed improvement: replace slow memcpy with std::copy
  8566. (soren)
  8567. * Speed: better iterator efficiency in RecordRegionRemoval
  8568. (soren)
  8569. * Speed: minor speed improvements via better bitfield
  8570. alignment (gpike)
  8571. * Documentation: add documentation of binary profile output
  8572. (cgd)
  8573. git-svn-id: http://gperftools.googlecode.com/svn/trunk@40
  8574. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8575. M ChangeLog
  8576. M INSTALL
  8577. M Makefile.am
  8578. M Makefile.in
  8579. M configure
  8580. M configure.ac
  8581. A doc/cpuprofile-fileformat.html
  8582. M doc/cpuprofile.html
  8583. M packages/deb/changelog
  8584. M src/base/linux_syscall_support.h
  8585. M src/base/spinlock.cc
  8586. M src/base/sysinfo.cc
  8587. M src/config.h.in
  8588. M src/getpc.h
  8589. M src/google/heap-checker.h
  8590. M src/google/profiler.h
  8591. M src/google/stacktrace.h
  8592. M src/heap-checker.cc
  8593. M src/heap-profile-table.cc
  8594. M src/heap-profiler.cc
  8595. M src/malloc_hook.cc
  8596. M src/memfs_malloc.cc
  8597. M src/memory_region_map.cc
  8598. M src/packed-cache-inl.h
  8599. M src/pprof
  8600. A src/profiledata.cc
  8601. A src/profiledata.h
  8602. M src/profiler.cc
  8603. M src/stacktrace_generic-inl.h
  8604. M src/stacktrace_libunwind-inl.h
  8605. M src/stacktrace_powerpc-inl.h
  8606. M src/stacktrace_x86-inl.h
  8607. M src/stacktrace_x86_64-inl.h
  8608. M src/system-alloc.cc
  8609. M src/system-alloc.h
  8610. M src/tcmalloc.cc
  8611. M src/tests/addressmap_unittest.cc
  8612. M src/tests/heap-checker_unittest.cc
  8613. M src/tests/low_level_alloc_unittest.cc
  8614. M src/tests/maybe_threads_unittest.sh
  8615. A src/tests/profiledata_unittest.cc
  8616. M src/tests/system-alloc_unittest.cc
  8617. M src/tests/tcmalloc_unittest.cc
  8618. M src/tests/testutil.cc
  8619. M src/windows/config.h
  8620. A src/windows/mingw.h
  8621. M src/windows/mini_disassembler.h
  8622. M src/windows/patch_functions.cc
  8623. M src/windows/port.cc
  8624. M src/windows/port.h
  8625. M src/windows/preamble_patcher.h
  8626. M src/windows/preamble_patcher_with_stub.cc
  8627. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  8628. commit 49b74b9508797f8aafe6b86e62e7efc4ec200e48
  8629. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8630. Date: Fri Aug 17 20:56:15 2007 +0000
  8631. * google-perftools: version 0.93 release
  8632. * PORTING: everything compiles on Solaris, OS X, FreeBSD
  8633. (see INSTALL)
  8634. * PORTING: cpu-profiler works on most platforms (much
  8635. better GetPC())
  8636. * PORTING: heap-profiler works on most platforms
  8637. * PORTING: improved windows support, including release builds
  8638. * No longer build or run ptmalloc tests by default
  8639. * Add support for using memfs filesystem to allocate memory
  8640. in linux
  8641. * WINDOWS: give debug library and release library different
  8642. names
  8643. Tue Jul 17 22:26:27 2007 Google Inc. <opensource@google.com>
  8644. git-svn-id: http://gperftools.googlecode.com/svn/trunk@38
  8645. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8646. M ChangeLog
  8647. M INSTALL
  8648. M Makefile.am
  8649. M Makefile.in
  8650. M README
  8651. M README.windows
  8652. M autogen.sh
  8653. M configure
  8654. M configure.ac
  8655. M google-perftools.sln
  8656. M m4/program_invocation_name.m4
  8657. M packages/deb/changelog
  8658. M src/addressmap-inl.h
  8659. M src/base/basictypes.h
  8660. M src/base/logging.h
  8661. M src/base/sysinfo.cc
  8662. M src/base/sysinfo.h
  8663. M src/base/thread_lister.c
  8664. M src/config.h.in
  8665. M src/config_for_unittests.h
  8666. A src/getpc.h
  8667. M src/google/heap-checker.h
  8668. M src/google/malloc_hook.h
  8669. M src/heap-checker.cc
  8670. M src/heap-profile-table.cc
  8671. M src/heap-profile-table.h
  8672. M src/heap-profiler.cc
  8673. M src/malloc_extension.cc
  8674. M src/malloc_hook.cc
  8675. A src/memfs_malloc.cc
  8676. M src/memory_region_map.cc
  8677. M src/memory_region_map.h
  8678. M src/pprof
  8679. M src/profiler.cc
  8680. M src/stacktrace_powerpc-inl.h
  8681. M src/system-alloc.cc
  8682. M src/system-alloc.h
  8683. M src/tcmalloc.cc
  8684. M src/tests/addressmap_unittest.cc
  8685. A src/tests/getpc_test.cc
  8686. M src/tests/heap-checker-death_unittest.sh
  8687. M src/tests/heap-checker_unittest.cc
  8688. M src/tests/heap-profiler_unittest.sh
  8689. M src/tests/low_level_alloc_unittest.cc
  8690. M src/tests/maybe_threads_unittest.sh
  8691. M src/tests/memalign_unittest.cc
  8692. M src/tests/system-alloc_unittest.cc
  8693. M src/tests/tcmalloc_unittest.cc
  8694. M src/windows/TODO
  8695. M src/windows/config.h
  8696. A src/windows/ia32_modrm_map.cc
  8697. A src/windows/ia32_opcode_map.cc
  8698. A src/windows/mini_disassembler.cc
  8699. A src/windows/mini_disassembler.h
  8700. A src/windows/mini_disassembler_types.h
  8701. A src/windows/patch_functions.cc
  8702. M src/windows/port.cc
  8703. M src/windows/port.h
  8704. A src/windows/preamble_patcher.cc
  8705. A src/windows/preamble_patcher.h
  8706. A src/windows/preamble_patcher_with_stub.cc
  8707. M src/windows/vc7and8.def
  8708. M vsprojects/addressmap_unittest/addressmap_unittest.vcproj
  8709. M vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  8710. M
  8711. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  8712. C054 vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  8713. vsprojects/tcmalloc_minimal_unittest-static/tcmalloc_minimal_unittest-static.vcproj
  8714. commit c437e1fcdd1e6ff3f032928d460cbfc115e2324f
  8715. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8716. Date: Wed Jul 18 18:30:50 2007 +0000
  8717. Tue Jul 17 22:26:27 2007 Google Inc. <opensource@google.com>
  8718. * google-perftools: version 0.92 release
  8719. * PERFORMANCE: use a packed cache to speed up tcmalloc
  8720. * PORTING: preliminary windows support! (see README.windows)
  8721. * PORTING: better support for solaris, OS X, FreeBSD
  8722. (see INSTALL)
  8723. * Envvar support for running the heap-checker under gdb
  8724. * Add weak declarations to maybe_threads to fix no-pthreads
  8725. compile bugs
  8726. * Some 64bit fixes, especially with pprof
  8727. * Better heap-checker support for some low-level allocations
  8728. * Fix bug where heap-profiles would sometimes get truncated
  8729. * New documentation about how to handle common heap leak
  8730. situations
  8731. * Use computed includes for hash_map/set: easier config
  8732. * Added all used .m4 templates to the distribution
  8733. git-svn-id: http://gperftools.googlecode.com/svn/trunk@36
  8734. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8735. M ChangeLog
  8736. M INSTALL
  8737. M Makefile.am
  8738. M Makefile.in
  8739. M README
  8740. A README.windows
  8741. M aclocal.m4
  8742. A autogen.sh
  8743. M compile
  8744. M config.guess
  8745. M config.sub
  8746. M configure
  8747. M configure.ac
  8748. M depcomp
  8749. M doc/cpuprofile.html
  8750. M doc/heap_checker.html
  8751. M doc/heapprofile.html
  8752. A google-perftools.sln
  8753. M install-sh
  8754. A m4/ac_have_attribute.m4
  8755. A m4/acx_pthread.m4
  8756. A m4/compiler_characteristics.m4
  8757. A m4/install_prefix.m4
  8758. A m4/namespaces.m4
  8759. A m4/program_invocation_name.m4
  8760. A m4/stl_hash.m4
  8761. A m4/stl_namespace.m4
  8762. M missing
  8763. M mkinstalldirs
  8764. M packages/deb/changelog
  8765. M packages/rpm/rpm.spec
  8766. M src/base/atomicops-internals-x86-msvc.h
  8767. M src/base/atomicops-internals-x86.h
  8768. M src/base/atomicops.h
  8769. M src/base/basictypes.h
  8770. M src/base/commandlineflags.h
  8771. M src/base/logging.h
  8772. M src/base/low_level_alloc.cc
  8773. M src/base/low_level_alloc.h
  8774. D src/base/mutex.cc
  8775. M src/base/mutex.h
  8776. M src/base/spinlock.cc
  8777. M src/base/spinlock.h
  8778. M src/base/stl_allocator.h
  8779. M src/base/sysinfo.cc
  8780. M src/base/sysinfo.h
  8781. M src/config.h.in
  8782. C068 src/tests/testutil.h src/config_for_unittests.h
  8783. M src/google/heap-checker.h
  8784. M src/google/heap-profiler.h
  8785. M src/google/malloc_extension.h
  8786. M src/google/malloc_hook.h
  8787. M src/google/profiler.h
  8788. M src/google/stacktrace.h
  8789. M src/heap-checker.cc
  8790. M src/heap-profile-table.cc
  8791. M src/heap-profiler.cc
  8792. M src/internal_logging.cc
  8793. M src/internal_logging.h
  8794. M src/malloc_extension.cc
  8795. M src/malloc_hook.cc
  8796. M src/maybe_threads.cc
  8797. M src/maybe_threads.h
  8798. M src/memory_region_map.cc
  8799. M src/memory_region_map.h
  8800. A src/packed-cache-inl.h
  8801. M src/pprof
  8802. M src/profiler.cc
  8803. M src/solaris/libstdc++.la
  8804. M src/stacktrace.cc
  8805. A src/stacktrace_powerpc-inl.h
  8806. M src/stacktrace_x86-inl.h
  8807. M src/system-alloc.cc
  8808. M src/system-alloc.h
  8809. M src/tcmalloc.cc
  8810. C053 src/tests/testutil.cc src/tcmalloc.h
  8811. M src/tests/frag_unittest.cc
  8812. M src/tests/heap-checker_unittest.cc
  8813. M src/tests/heap-profiler_unittest.cc
  8814. M src/tests/heap-profiler_unittest.sh
  8815. M src/tests/low_level_alloc_unittest.cc
  8816. M src/tests/markidle_unittest.cc
  8817. A src/tests/maybe_threads_unittest.sh
  8818. M src/tests/memalign_unittest.cc
  8819. C065 src/tests/testutil.h src/tests/packed-cache_test.cc
  8820. M src/tests/profiler_unittest.cc
  8821. M src/tests/stacktrace_unittest.cc
  8822. C051 src/tests/thread_dealloc_unittest.cc
  8823. src/tests/system-alloc_unittest.cc
  8824. M src/tests/tcmalloc_unittest.cc
  8825. M src/tests/testutil.cc
  8826. M src/tests/testutil.h
  8827. M src/tests/thread_dealloc_unittest.cc
  8828. A src/windows/TODO
  8829. C060 src/config.h.in src/windows/config.h
  8830. A src/windows/port.cc
  8831. A src/windows/port.h
  8832. A src/windows/vc7and8.def
  8833. A vsprojects/addressmap_unittest/addressmap_unittest.vcproj
  8834. A vsprojects/frag_unittest/frag_unittest.vcproj
  8835. A vsprojects/libtcmalloc_minimal/libtcmalloc_minimal.vcproj
  8836. A
  8837. vsprojects/low_level_alloc_unittest/low_level_alloc_unittest.vcproj
  8838. A vsprojects/markidle_unittest/markidle_unittest.vcproj
  8839. A vsprojects/memalign_unittest/memalign_unittest.vcproj
  8840. A vsprojects/packed-cache_test/packed-cache_test.vcproj
  8841. A vsprojects/system_alloc_unittest/system_alloc_unittest.vcproj
  8842. A
  8843. vsprojects/tcmalloc_minimal_large/tcmalloc_minimal_large_unittest.vcproj
  8844. A
  8845. vsprojects/tcmalloc_minimal_unittest/tcmalloc_minimal_unittest.vcproj
  8846. A vsprojects/thread_dealloc_unittest/thread_dealloc_unittest.vcproj
  8847. commit 6878379d5bab87c787cdd3487b5620a9c8adf376
  8848. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8849. Date: Thu Apr 19 00:53:22 2007 +0000
  8850. Wed Apr 18 16:43:55 2007 Google Inc. <opensource@google.com>
  8851. * google-perftools: version 0.91 release
  8852. * Brown-paper-bag bugfix: compilation error on some x86-64
  8853. machines
  8854. git-svn-id: http://gperftools.googlecode.com/svn/trunk@30
  8855. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8856. M ChangeLog
  8857. M README
  8858. M config.guess
  8859. M config.sub
  8860. M configure
  8861. M configure.ac
  8862. M src/base/sysinfo.cc
  8863. M src/base/sysinfo.h
  8864. M src/stacktrace_libunwind-inl.h
  8865. M src/tests/ptmalloc/malloc-machine.h
  8866. commit 74ad5d57ec08abace386befc6c3c695d85f44d1a
  8867. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  8868. Date: Mon Apr 16 20:49:32 2007 +0000
  8869. Fri Apr 13 14:50:51 2007 Google Inc. <opensource@google.com>
  8870. * google-perftools: version 0.90 release
  8871. * (As the version-number jump hints, this is a major new
  8872. release:
  8873. almost every piece of functionality was rewritten.
  8874. I can't do
  8875. justice to all the changes, but will concentrate on
  8876. highlights.)
  8877. *** USER-VISIBLE CHANGES:
  8878. * Ability to "release" unused memory added to tcmalloc
  8879. * Exposed more tweaking knobs via environment variables
  8880. (see docs)
  8881. * pprof tries harder to map addresses to functions
  8882. * tcmalloc_minimal compiles and runs on FreeBSD 6.0 and
  8883. Solaris 10
  8884. *** INTERNAL CHANGES:
  8885. * Much better 64-bit support
  8886. * Better multiple-processor support (e.g. multicore contention
  8887. tweaks)
  8888. * Support for recent kernel ABI changes (e.g. new arg
  8889. to mremap)
  8890. * Addition of spinlocks to tcmalloc to reduce contention cost
  8891. * Speed up tcmalloc by using __thread on systems that
  8892. support TLS
  8893. * Total redesign of heap-checker to improve liveness checking
  8894. * More portable stack-frame analysis -- no more hard-coded
  8895. constants!
  8896. * Disentangled heap-profiler code and heap-checker code
  8897. * Several new unittests to test, e.g., thread-contention costs
  8898. * Lots of small (but important!) bug fixes: e.g., fixing
  8899. GetPC on amd64
  8900. *** KNOWN PROBLEMS:
  8901. * CPU-profiling may crash on x86_64 (64-bit) systems.
  8902. See the README
  8903. * Profiling/heap-checking may deadlock on x86_64 systems.
  8904. See README
  8905. git-svn-id: http://gperftools.googlecode.com/svn/trunk@28
  8906. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  8907. M ChangeLog
  8908. M INSTALL
  8909. M Makefile.am
  8910. M Makefile.in
  8911. M README
  8912. M TODO
  8913. M aclocal.m4
  8914. M config.guess
  8915. M config.sub
  8916. M configure
  8917. M configure.ac
  8918. R050 doc/cpu_profiler.html doc/cpuprofile.html
  8919. A doc/designstyle.css
  8920. M doc/heap_checker.html
  8921. D doc/heap_profiler.html
  8922. A doc/heapprofile.html
  8923. M doc/index.html
  8924. M doc/tcmalloc.html
  8925. M ltmain.sh
  8926. M packages/deb/changelog
  8927. A packages/deb/docs
  8928. M packages/rpm/rpm.spec
  8929. M src/addressmap-inl.h
  8930. A src/base/atomicops-internals-macosx.h
  8931. A src/base/atomicops-internals-x86-msvc.h
  8932. A src/base/atomicops-internals-x86.cc
  8933. A src/base/atomicops-internals-x86.h
  8934. A src/base/atomicops.h
  8935. M src/base/basictypes.h
  8936. M src/base/commandlineflags.h
  8937. M src/base/elfcore.h
  8938. M src/base/googleinit.h
  8939. M src/base/linux_syscall_support.h
  8940. M src/base/linuxthreads.c
  8941. M src/base/linuxthreads.h
  8942. C074 src/base/googleinit.h src/base/logging.cc
  8943. M src/base/logging.h
  8944. A src/base/low_level_alloc.cc
  8945. A src/base/low_level_alloc.h
  8946. A src/base/mutex.cc
  8947. A src/base/mutex.h
  8948. A src/base/spinlock.cc
  8949. A src/base/spinlock.h
  8950. A src/base/stl_allocator.h
  8951. A src/base/sysinfo.cc
  8952. A src/base/sysinfo.h
  8953. M src/base/thread_lister.c
  8954. M src/base/thread_lister.h
  8955. M src/config.h.in
  8956. M src/google/heap-checker.h
  8957. M src/google/heap-profiler.h
  8958. M src/google/malloc_extension.h
  8959. M src/google/malloc_hook.h
  8960. M src/google/profiler.h
  8961. M src/google/stacktrace.h
  8962. M src/heap-checker-bcad.cc
  8963. M src/heap-checker.cc
  8964. A src/heap-profile-table.cc
  8965. A src/heap-profile-table.h
  8966. D src/heap-profiler-inl.h
  8967. M src/heap-profiler.cc
  8968. M src/internal_logging.cc
  8969. M src/internal_logging.h
  8970. D src/internal_spinlock.h
  8971. M src/malloc_extension.cc
  8972. M src/malloc_hook.cc
  8973. M src/maybe_threads.cc
  8974. A src/memory_region_map.cc
  8975. A src/memory_region_map.h
  8976. M src/pprof
  8977. M src/profiler.cc
  8978. A src/solaris/libstdc++.la
  8979. M src/stacktrace.cc
  8980. M src/stacktrace_generic-inl.h
  8981. M src/stacktrace_libunwind-inl.h
  8982. M src/stacktrace_x86-inl.h
  8983. M src/stacktrace_x86_64-inl.h
  8984. M src/system-alloc.cc
  8985. M src/system-alloc.h
  8986. M src/tcmalloc.cc
  8987. M src/tests/addressmap_unittest.cc
  8988. A src/tests/atomicops_unittest.cc
  8989. A src/tests/frag_unittest.cc
  8990. M src/tests/heap-checker-death_unittest.sh
  8991. M src/tests/heap-checker_unittest.cc
  8992. M src/tests/heap-checker_unittest.sh
  8993. M src/tests/heap-profiler_unittest.cc
  8994. M src/tests/heap-profiler_unittest.sh
  8995. A src/tests/low_level_alloc_unittest.cc
  8996. A src/tests/markidle_unittest.cc
  8997. A src/tests/memalign_unittest.cc
  8998. M src/tests/profiler_unittest.sh
  8999. M src/tests/ptmalloc/malloc-machine.h
  9000. M src/tests/stacktrace_unittest.cc
  9001. M src/tests/tcmalloc_large_unittest.cc
  9002. M src/tests/tcmalloc_unittest.cc
  9003. C055 src/stacktrace.cc src/tests/testutil.cc
  9004. C074 src/base/googleinit.h src/tests/testutil.h
  9005. C055 src/stacktrace.cc src/tests/thread_dealloc_unittest.cc
  9006. commit ddbf2f027fb4ca8781fd50820ceb870570f414bc
  9007. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9008. Date: Thu Mar 22 05:03:28 2007 +0000
  9009. Now that we've uploaded the full source, including the doc/ directory,
  9010. we can get rid of docs/
  9011. git-svn-id: http://gperftools.googlecode.com/svn/trunk@27
  9012. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9013. D docs/html/cpu_profiler.html
  9014. D docs/html/heap_checker.html
  9015. D docs/html/heap_profiler.html
  9016. D docs/html/tcmalloc.html
  9017. D docs/images/heap-example1.png
  9018. D docs/images/overview.gif
  9019. D docs/images/pageheap.gif
  9020. D docs/images/pprof-test.gif
  9021. D docs/images/pprof-vsnprintf.gif
  9022. D docs/images/spanmap.gif
  9023. D docs/images/tcmalloc-opspercpusec.png
  9024. D docs/images/tcmalloc-opspercpusec_002.png
  9025. D docs/images/tcmalloc-opspercpusec_003.png
  9026. D docs/images/tcmalloc-opspercpusec_004.png
  9027. D docs/images/tcmalloc-opspercpusec_005.png
  9028. D docs/images/tcmalloc-opspercpusec_006.png
  9029. D docs/images/tcmalloc-opspercpusec_007.png
  9030. D docs/images/tcmalloc-opspercpusec_008.png
  9031. D docs/images/tcmalloc-opspercpusec_009.png
  9032. D docs/images/tcmalloc-opspersec.png
  9033. D docs/images/tcmalloc-opspersec_002.png
  9034. D docs/images/tcmalloc-opspersec_003.png
  9035. D docs/images/tcmalloc-opspersec_004.png
  9036. D docs/images/tcmalloc-opspersec_005.png
  9037. D docs/images/tcmalloc-opspersec_006.png
  9038. D docs/images/tcmalloc-opspersec_007.png
  9039. D docs/images/tcmalloc-opspersec_008.png
  9040. D docs/images/tcmalloc-opspersec_009.png
  9041. D docs/images/threadheap.gif
  9042. commit 7ede7d6a9fe772b0bfa05acb2a2a6867405b474a
  9043. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9044. Date: Thu Mar 22 05:01:39 2007 +0000
  9045. set mime-type for png and gifs
  9046. git-svn-id: http://gperftools.googlecode.com/svn/trunk@26
  9047. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9048. commit 8e188310f7d8732d81b7b04f193f89964b7af6c5
  9049. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9050. Date: Thu Mar 22 04:55:49 2007 +0000
  9051. Wed Jun 14 15:11:14 2006 Google Inc. <opensource@google.com>
  9052. * google-perftools: version 0.8 release
  9053. * Experimental support for remote profiling added to pprof
  9054. (many)
  9055. * Fixed race condition in ProfileData::FlushTable (etune)
  9056. * Better support for weird /proc maps (maxim, mec)
  9057. * Fix heap-checker interaction with gdb (markus)
  9058. * Better 64-bit support in pprof (aruns)
  9059. * Reduce scavenging cost in tcmalloc by capping NumMoveSize
  9060. (sanjay)
  9061. * Cast syscall(SYS_mmap); works on more 64-bit systems now
  9062. (menage)
  9063. * Document the text output of pprof! (csilvers)
  9064. * Better compiler support for no-THREADS and for old compilers
  9065. (csilvers)
  9066. * Make libunwind the default stack unwinder for x86-64 (aruns)
  9067. * Somehow the COPYING file got erased. Regenerate it
  9068. (csilvers)
  9069. git-svn-id: http://gperftools.googlecode.com/svn/trunk@23
  9070. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9071. M COPYING
  9072. M ChangeLog
  9073. M Makefile.am
  9074. M aclocal.m4
  9075. M configure
  9076. M configure.ac
  9077. M doc/cpu_profiler.html
  9078. A doc/pprof_remote_servers.html
  9079. M src/base/linux_syscall_support.h
  9080. M src/base/linuxthreads.c
  9081. M src/base/thread_lister.c
  9082. M src/google/heap-checker.h
  9083. M src/heap-checker.cc
  9084. M src/malloc_extension.cc
  9085. M src/malloc_hook.cc
  9086. M src/pprof
  9087. M src/profiler.cc
  9088. M src/stacktrace.cc
  9089. M src/stacktrace_libunwind-inl.h
  9090. M src/tcmalloc.cc
  9091. M src/tests/heap-checker_unittest.cc
  9092. M src/tests/tcmalloc_unittest.cc
  9093. commit c3b96b3ac552160abde541bba8ac7b4f8338efa0
  9094. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9095. Date: Thu Mar 22 04:48:00 2007 +0000
  9096. Thu Apr 13 20:59:09 2006 Google Inc. <opensource@google.com>
  9097. * google-perftools: version 0.7 release
  9098. * Major rewrite of thread introspection for new kernels
  9099. (markus)
  9100. * Major rewrite of heap-checker to use new thread tools
  9101. (maxim)
  9102. * Add proper support for following data in thread registers
  9103. (maxim)
  9104. * Syscall support for older kernels, including _syscall6
  9105. (markus)
  9106. * Support PIC mode (markus, mbland, iant)
  9107. * Better support for running in non-threaded contexts
  9108. (csilvers)
  9109. git-svn-id: http://gperftools.googlecode.com/svn/trunk@21
  9110. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9111. M ChangeLog
  9112. M configure
  9113. M configure.ac
  9114. M src/base/elfcore.h
  9115. M src/base/linux_syscall_support.h
  9116. M src/base/linuxthreads.c
  9117. M src/base/thread_lister.h
  9118. M src/google/heap-checker.h
  9119. M src/heap-checker.cc
  9120. M src/heap-profiler.cc
  9121. M src/malloc_hook.cc
  9122. M src/pprof
  9123. M src/profiler.cc
  9124. M src/tests/heap-checker-death_unittest.sh
  9125. M src/tests/heap-checker_unittest.cc
  9126. M src/tests/tcmalloc_unittest.cc
  9127. commit 60a3a2ce77ed2713b2eedd20952d9cfc56ff7ccf
  9128. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9129. Date: Thu Mar 22 04:46:29 2007 +0000
  9130. Fri Jan 27 14:04:27 2006 Google Inc. <opensource@google.com>
  9131. * google-perftools: version 0.6 release
  9132. * More sophisticated stacktrace usage, possibly using
  9133. libunwind (aruns)
  9134. * Update pprof to handle 64-bit profiles (dehnert)
  9135. * Fix GetStackTrace to correctly return top stackframe
  9136. (sanjay)
  9137. * Add ANSI compliance for new and new[], including new_handler
  9138. (jkearney)
  9139. * More accuracy by reading ELF files directly rather than
  9140. objdump (mec)
  9141. * Add readline support for pprof (addi)
  9142. * Add #includes for PPC (csilvers)
  9143. * New PC-detection routine for ibook powerpc (asbestoshead)
  9144. * Vastly improved tcmalloc unittest (csilvers)
  9145. * Move documentation from /usr/doc to /usr/share/doc
  9146. git-svn-id: http://gperftools.googlecode.com/svn/trunk@19
  9147. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9148. M ChangeLog
  9149. M Makefile.am
  9150. M configure
  9151. M configure.ac
  9152. M packages/rpm/rpm.spec
  9153. M src/base/thread_lister.c
  9154. M src/config.h.in
  9155. M src/heap-checker.cc
  9156. M src/heap-profiler.cc
  9157. M src/malloc_extension.cc
  9158. M src/pprof
  9159. M src/profiler.cc
  9160. M src/stacktrace.cc
  9161. C065 src/tests/tcmalloc_unittest.cc src/stacktrace_generic-inl.h
  9162. C064 src/tests/tcmalloc_unittest.cc src/stacktrace_libunwind-inl.h
  9163. C068 src/stacktrace.cc src/stacktrace_x86-inl.h
  9164. A src/stacktrace_x86_64-inl.h
  9165. M src/tcmalloc.cc
  9166. M src/tests/stacktrace_unittest.cc
  9167. M src/tests/tcmalloc_unittest.cc
  9168. commit 298274f8d4f474d2b16a35c8babc58817088c59e
  9169. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9170. Date: Thu Mar 22 04:45:23 2007 +0000
  9171. Mon Nov 14 17:28:59 2005 Google Inc. <opensource@google.com>
  9172. * google-perftools: version 0.5 release
  9173. * Add va_start/va_end calls around vsnprintf() (csilvers)
  9174. * Write our own __syscall_return(), since it's not defined
  9175. consistently on all 64-bit linux distros (markus)
  9176. git-svn-id: http://gperftools.googlecode.com/svn/trunk@17
  9177. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9178. M ChangeLog
  9179. M configure
  9180. M configure.ac
  9181. M src/base/linux_syscall_support.h
  9182. M src/base/logging.h
  9183. M src/config.h.in
  9184. commit ee5805f1296f8546c16f90d5427efa347a5f7338
  9185. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9186. Date: Thu Mar 22 04:44:18 2007 +0000
  9187. Wed Oct 26 15:19:16 2005 Google Inc. <opensource@google.com>
  9188. * Decrease fragmentation in tcmalloc (lefevere)
  9189. * Support for ARM in some of the thread-specific code (markus)
  9190. * Turn off heap-checker for statically-linked binaries, which
  9191. cause error leak reports now (etune)
  9192. * Many pprof improvements, including a command-line interface
  9193. (jeff)
  9194. * CPU profiling now automatically affects all threads in
  9195. linux 2.6.
  9196. (Kernel bugs break CPU profiling and threads in linux 2.4
  9197. a bit.)
  9198. ProfilerEnable() and ProfilerDisable() are deprecated.
  9199. (sanjay)
  9200. * tcmalloc now correctly intercepts memalign (m3b, maxim)
  9201. * Syntax fix: added missing va_end()s. Helps non-gcc
  9202. compiling (etune)
  9203. * Fixed a few coredumper bugs: race condition after
  9204. PTRACE_DETACH,
  9205. ignore non-aligned stackframe pointers (markus, menage)
  9206. * 64-bit cleanup, especially for spinlock code (etune)
  9207. and mmap (sanjay)
  9208. * Better support for finding threads in linux (markus)
  9209. * tcmalloc now tracks those stack traces that allocate memory
  9210. (sanjay)
  9211. * Work around a weird setspecific problem (sanjay)
  9212. * Fix tcmalloc overflow problems when an alloc is close to
  9213. 2G/4G (sanjay)
  9214. git-svn-id: http://gperftools.googlecode.com/svn/trunk@15
  9215. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9216. M ChangeLog
  9217. M Makefile.am
  9218. M aclocal.m4
  9219. M configure
  9220. M configure.ac
  9221. M doc/cpu_profiler.html
  9222. D src/base/elfcore.c
  9223. M src/base/elfcore.h
  9224. A src/base/linux_syscall_support.h
  9225. M src/base/linuxthreads.c
  9226. M src/base/linuxthreads.h
  9227. M src/base/thread_lister.c
  9228. M src/base/thread_lister.h
  9229. M src/google/heap-checker.h
  9230. M src/google/malloc_extension.h
  9231. M src/google/profiler.h
  9232. M src/heap-checker.cc
  9233. M src/heap-profiler.cc
  9234. M src/internal_logging.cc
  9235. M src/internal_spinlock.h
  9236. M src/malloc_extension.cc
  9237. M src/malloc_hook.cc
  9238. M src/pagemap.h
  9239. M src/pprof
  9240. M src/profiler.cc
  9241. M src/stacktrace.cc
  9242. M src/system-alloc.cc
  9243. M src/tcmalloc.cc
  9244. A src/tests/tcmalloc_large_unittest.cc
  9245. M src/tests/tcmalloc_unittest.cc
  9246. commit bc455d7b63949fab94ed9518d277866e95f08768
  9247. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9248. Date: Thu Mar 22 04:42:30 2007 +0000
  9249. Fri Jun 24 18:02:26 2005 Google Inc. <opensource@google.com>
  9250. * Add missing errno include for one of the unittests
  9251. (csilvers)
  9252. * Reduce tcmalloc startup memory from 5M to 256K (sanjay)
  9253. * Add support for mallopt() and mallinfo (sanjay)
  9254. * Improve stacktrace's performance on some 64-bit systems
  9255. (etune)
  9256. * Improve the stacktrace unittest (etune)
  9257. git-svn-id: http://gperftools.googlecode.com/svn/trunk@13
  9258. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9259. M ChangeLog
  9260. M configure
  9261. M configure.ac
  9262. M src/pagemap.h
  9263. M src/stacktrace.cc
  9264. M src/tcmalloc.cc
  9265. M src/tests/heap-checker_unittest.cc
  9266. M src/tests/stacktrace_unittest.cc
  9267. commit 91fad389784766782263133c5510976a8f76d89e
  9268. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9269. Date: Thu Mar 22 03:28:56 2007 +0000
  9270. Tue May 31 08:14:38 2005 Google Inc. <opensource@google.com>
  9271. * google-perftools: version 0.2 release
  9272. * Use mmap2() instead of mmap(), to map more memory (menage)
  9273. * Do correct pthread-local checking in heap-checker! (maxim)
  9274. * Avoid overflow on 64-bit machines in pprof (sanjay)
  9275. * Add a few more GetPC() functions, including for AMD
  9276. (csilvers)
  9277. * Better method for overriding pthread functions (menage)
  9278. * (Hacky) fix to avoid overwriting profile files after fork()
  9279. (csilvers)
  9280. * Crashing bugfix involving dumping heaps on small-stack
  9281. threads (tudor)
  9282. * Allow library versions with letters at the end (csilvers)
  9283. * Config fixes for systems that don't define PATH_MAX
  9284. (csilvers)
  9285. * Confix fixes so we no longer need config.h after install
  9286. (csilvers)
  9287. * Fix to pprof to correctly read very big cpu profiles
  9288. (csilvers)
  9289. * Fix to pprof to deal with new commandline flags in
  9290. modern gv's
  9291. * Better error reporting when we can't access /proc/maps
  9292. (etune)
  9293. * Get rid of the libc-preallocate code (which could crash
  9294. on some
  9295. systems); no longer needed with local-threads fix (csilvers)
  9296. git-svn-id: http://gperftools.googlecode.com/svn/trunk@11
  9297. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9298. M ChangeLog
  9299. M Makefile.am
  9300. M README
  9301. M TODO
  9302. M configure
  9303. M configure.ac
  9304. M doc/cpu_profiler.html
  9305. A doc/heap_checker.html
  9306. M doc/heap_profiler.html
  9307. A doc/index.html
  9308. A doc/t-test1.times.txt
  9309. A doc/tcmalloc-opspercpusec.vs.threads.1024.bytes.png
  9310. A doc/tcmalloc-opspercpusec.vs.threads.128.bytes.png
  9311. A doc/tcmalloc-opspercpusec.vs.threads.131072.bytes.png
  9312. A doc/tcmalloc-opspercpusec.vs.threads.16384.bytes.png
  9313. A doc/tcmalloc-opspercpusec.vs.threads.2048.bytes.png
  9314. A doc/tcmalloc-opspercpusec.vs.threads.256.bytes.png
  9315. A doc/tcmalloc-opspercpusec.vs.threads.32768.bytes.png
  9316. A doc/tcmalloc-opspercpusec.vs.threads.4096.bytes.png
  9317. A doc/tcmalloc-opspercpusec.vs.threads.512.bytes.png
  9318. A doc/tcmalloc-opspercpusec.vs.threads.64.bytes.png
  9319. A doc/tcmalloc-opspercpusec.vs.threads.65536.bytes.png
  9320. A doc/tcmalloc-opspercpusec.vs.threads.8192.bytes.png
  9321. A doc/tcmalloc-opspersec.vs.size.1.threads.png
  9322. A doc/tcmalloc-opspersec.vs.size.12.threads.png
  9323. A doc/tcmalloc-opspersec.vs.size.16.threads.png
  9324. A doc/tcmalloc-opspersec.vs.size.2.threads.png
  9325. A doc/tcmalloc-opspersec.vs.size.20.threads.png
  9326. A doc/tcmalloc-opspersec.vs.size.3.threads.png
  9327. A doc/tcmalloc-opspersec.vs.size.4.threads.png
  9328. A doc/tcmalloc-opspersec.vs.size.5.threads.png
  9329. A doc/tcmalloc-opspersec.vs.size.8.threads.png
  9330. M doc/tcmalloc.html
  9331. M packages/deb/changelog
  9332. M packages/deb/control
  9333. M packages/deb/copyright
  9334. D packages/deb/files
  9335. M packages/deb/libgoogle-perftools-dev.install
  9336. M packages/deb/libgoogle-perftools0.install
  9337. M packages/rpm.sh
  9338. M packages/rpm/rpm.spec
  9339. M src/addressmap-inl.h
  9340. R099 src/google/perftools/basictypes.h src/base/basictypes.h
  9341. M src/base/commandlineflags.h
  9342. A src/base/elfcore.c
  9343. A src/base/elfcore.h
  9344. A src/base/linuxthreads.c
  9345. A src/base/linuxthreads.h
  9346. A src/base/thread_lister.c
  9347. A src/base/thread_lister.h
  9348. M src/google/heap-checker.h
  9349. M src/google/heap-profiler.h
  9350. R088 src/google/malloc_interface.h src/google/malloc_extension.h
  9351. M src/google/malloc_hook.h
  9352. D src/google/perftools/config.h.in
  9353. M src/google/stacktrace.h
  9354. M src/heap-checker-bcad.cc
  9355. M src/heap-checker.cc
  9356. M src/heap-profiler-inl.h
  9357. M src/heap-profiler.cc
  9358. M src/internal_logging.h
  9359. M src/internal_spinlock.h
  9360. R068 src/malloc_interface.cc src/malloc_extension.cc
  9361. M src/malloc_hook.cc
  9362. A src/maybe_threads.cc
  9363. C070 src/tests/tcmalloc_unittest.cc src/maybe_threads.h
  9364. M src/pagemap.h
  9365. M src/pprof
  9366. M src/profiler.cc
  9367. M src/stacktrace.cc
  9368. M src/system-alloc.cc
  9369. M src/tcmalloc.cc
  9370. M src/tests/addressmap_unittest.cc
  9371. M src/tests/heap-checker-death_unittest.sh
  9372. M src/tests/heap-checker_unittest.cc
  9373. C051 src/tests/heap-checker-death_unittest.sh
  9374. src/tests/heap-checker_unittest.sh
  9375. A src/tests/heap-profiler_unittest.cc
  9376. A src/tests/heap-profiler_unittest.sh
  9377. M src/tests/profiler_unittest.cc
  9378. M src/tests/profiler_unittest.sh
  9379. M src/tests/stacktrace_unittest.cc
  9380. M src/tests/tcmalloc_unittest.cc
  9381. commit 51b4875f8ade3e0930eed2dc2a842ec607a94a2c
  9382. Author: csilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9383. Date: Thu Mar 22 03:00:33 2007 +0000
  9384. Tue Feb 8 09:57:17 2005 El Goog <opensource@google.com>
  9385. * google-perftools: initial release:
  9386. The google-perftools package contains some utilities
  9387. to improve
  9388. and analyze the performance of C++ programs. This includes
  9389. an
  9390. optimized thread-caching malloc() and cpu and heap profiling
  9391. utilities.
  9392. git-svn-id: http://gperftools.googlecode.com/svn/trunk@9
  9393. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9394. A AUTHORS
  9395. A COPYING
  9396. A ChangeLog
  9397. A INSTALL
  9398. A Makefile.am
  9399. A Makefile.in
  9400. A NEWS
  9401. A README
  9402. A TODO
  9403. A aclocal.m4
  9404. A compile
  9405. A config.guess
  9406. A config.sub
  9407. A configure
  9408. A configure.ac
  9409. A depcomp
  9410. A doc/cpu_profiler.html
  9411. A doc/heap-example1.png
  9412. A doc/heap_profiler.html
  9413. A doc/overview.dot
  9414. A doc/overview.gif
  9415. A doc/pageheap.dot
  9416. A doc/pageheap.gif
  9417. A doc/pprof-test-big.gif
  9418. A doc/pprof-test.gif
  9419. A doc/pprof-vsnprintf-big.gif
  9420. A doc/pprof-vsnprintf.gif
  9421. A doc/pprof.1
  9422. A doc/pprof.see_also
  9423. A doc/spanmap.dot
  9424. A doc/spanmap.gif
  9425. A doc/tcmalloc.html
  9426. A doc/threadheap.dot
  9427. A doc/threadheap.gif
  9428. A install-sh
  9429. A ltmain.sh
  9430. A missing
  9431. A mkinstalldirs
  9432. A packages/deb.sh
  9433. A packages/deb/README
  9434. A packages/deb/changelog
  9435. A packages/deb/compat
  9436. A packages/deb/control
  9437. A packages/deb/copyright
  9438. A packages/deb/files
  9439. A packages/deb/libgoogle-perftools-dev.dirs
  9440. A packages/deb/libgoogle-perftools-dev.install
  9441. A packages/deb/libgoogle-perftools0.dirs
  9442. A packages/deb/libgoogle-perftools0.install
  9443. A packages/deb/libgoogle-perftools0.manpages
  9444. A packages/deb/rules
  9445. A packages/rpm.sh
  9446. A packages/rpm/rpm.spec
  9447. A src/addressmap-inl.h
  9448. A src/base/commandlineflags.h
  9449. A src/base/googleinit.h
  9450. A src/base/logging.h
  9451. A src/config.h.in
  9452. A src/google/heap-checker.h
  9453. A src/google/heap-profiler.h
  9454. A src/google/malloc_hook.h
  9455. A src/google/malloc_interface.h
  9456. A src/google/perftools/basictypes.h
  9457. A src/google/perftools/config.h.in
  9458. A src/google/profiler.h
  9459. A src/google/stacktrace.h
  9460. A src/heap-checker-bcad.cc
  9461. A src/heap-checker.cc
  9462. A src/heap-profiler-inl.h
  9463. A src/heap-profiler.cc
  9464. A src/internal_logging.cc
  9465. A src/internal_logging.h
  9466. A src/internal_spinlock.h
  9467. A src/malloc_hook.cc
  9468. A src/malloc_interface.cc
  9469. A src/pagemap.h
  9470. A src/pprof
  9471. A src/profiler.cc
  9472. A src/stacktrace.cc
  9473. A src/system-alloc.cc
  9474. A src/system-alloc.h
  9475. A src/tcmalloc.cc
  9476. A src/tests/addressmap_unittest.cc
  9477. A src/tests/heap-checker-death_unittest.sh
  9478. A src/tests/heap-checker_unittest.cc
  9479. A src/tests/profiler_unittest.cc
  9480. A src/tests/profiler_unittest.sh
  9481. A src/tests/ptmalloc/COPYRIGHT
  9482. A src/tests/ptmalloc/lran2.h
  9483. A src/tests/ptmalloc/malloc-machine.h
  9484. A src/tests/ptmalloc/t-test.h
  9485. A src/tests/ptmalloc/t-test1.c
  9486. A src/tests/ptmalloc/t-test2.c
  9487. A src/tests/ptmalloc/thread-m.h
  9488. A src/tests/ptmalloc/thread-st.h
  9489. A src/tests/stacktrace_unittest.cc
  9490. A src/tests/tcmalloc_unittest.cc
  9491. commit e3a8513447d1141f083d4aaced0b240a6e161f47
  9492. Author: trowbridge.jon
  9493. <trowbridge.jon@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9494. Date: Thu Dec 28 22:53:59 2006 +0000
  9495. Set page mime-type to text/html.
  9496. git-svn-id: http://gperftools.googlecode.com/svn/trunk@5
  9497. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9498. commit 66737d1c2519e4a1622f61139bfe2f683ea3696c
  9499. Author: trowbridge.jon
  9500. <trowbridge.jon@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9501. Date: Thu Dec 28 22:39:33 2006 +0000
  9502. Import of HTML documentation from SourceForge.
  9503. git-svn-id: http://gperftools.googlecode.com/svn/trunk@3
  9504. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
  9505. A docs/html/cpu_profiler.html
  9506. A docs/html/heap_checker.html
  9507. A docs/html/heap_profiler.html
  9508. A docs/html/tcmalloc.html
  9509. A docs/images/heap-example1.png
  9510. A docs/images/overview.gif
  9511. A docs/images/pageheap.gif
  9512. A docs/images/pprof-test.gif
  9513. A docs/images/pprof-vsnprintf.gif
  9514. A docs/images/spanmap.gif
  9515. A docs/images/tcmalloc-opspercpusec.png
  9516. A docs/images/tcmalloc-opspercpusec_002.png
  9517. A docs/images/tcmalloc-opspercpusec_003.png
  9518. A docs/images/tcmalloc-opspercpusec_004.png
  9519. A docs/images/tcmalloc-opspercpusec_005.png
  9520. A docs/images/tcmalloc-opspercpusec_006.png
  9521. A docs/images/tcmalloc-opspercpusec_007.png
  9522. A docs/images/tcmalloc-opspercpusec_008.png
  9523. A docs/images/tcmalloc-opspercpusec_009.png
  9524. A docs/images/tcmalloc-opspersec.png
  9525. A docs/images/tcmalloc-opspersec_002.png
  9526. A docs/images/tcmalloc-opspersec_003.png
  9527. A docs/images/tcmalloc-opspersec_004.png
  9528. A docs/images/tcmalloc-opspersec_005.png
  9529. A docs/images/tcmalloc-opspersec_006.png
  9530. A docs/images/tcmalloc-opspersec_007.png
  9531. A docs/images/tcmalloc-opspersec_008.png
  9532. A docs/images/tcmalloc-opspersec_009.png
  9533. A docs/images/threadheap.gif
  9534. commit 55d679a05f0518ea73a4bca6e8b71b54fcecf68f
  9535. Author: (no author) <(no author)@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>
  9536. Date: Thu Jul 27 00:57:14 2006 +0000
  9537. Initial directory structure.
  9538. git-svn-id: http://gperftools.googlecode.com/svn/trunk@1
  9539. 6b5cf1ce-ec42-a296-1ba9-69fdba395a50