48 TFree::TFree(TList *lfree, Long64_t first, Long64_t last)
 
   67 TFree *TFree::AddFree(TList *lfree, Long64_t first, Long64_t last)
 
   71       Long64_t curfirst = idcur->GetFirst();
 
   72       Long64_t curlast  = idcur->GetLast();
 
   73       if (curlast == first-1) {
 
   75          TFree *idnext = (TFree*)lfree->After(idcur);
 
   76          if (idnext == 0) 
return idcur;
 
   77          if (idnext->GetFirst() > last+1) 
return idcur;
 
   78          idcur->SetLast( idnext->GetLast() );
 
   79          lfree->Remove(idnext);
 
   83       if (curfirst == last+1) {
 
   84          idcur->SetFirst(first);
 
   87       if (first < curfirst) {
 
   88          TFree * newfree = 
new TFree();
 
   89          newfree->SetFirst(first);
 
   90          newfree->SetLast(last);
 
   91          lfree->AddBefore(idcur, newfree);
 
   94       idcur = (TFree*)lfree->After(idcur);
 
  109 void TFree::FillBuffer(
char *&buffer)
 
  111    Version_t version = TFree::Class_Version();
 
  112    if (fLast > TFile::kStartBigFile) version += 1000;
 
  113    tobuf(buffer, version);
 
  115    if (version > 1000) {
 
  116       tobuf(buffer, fFirst);
 
  117       tobuf(buffer, fLast);
 
  119       tobuf(buffer, (Int_t)fFirst);
 
  120       tobuf(buffer, (Int_t)fLast);
 
  127 TFree *TFree::GetBestFree(TList *lfree, Int_t nbytes)
 
  130    if (idcur == 0) 
return 0;
 
  133       Long64_t nleft = Long64_t(idcur->fLast - idcur->fFirst +1);
 
  134       if (nleft == nbytes) {
 
  138       if(nleft > (Long64_t)(nbytes+3)) {
 
  143       idcur = (TFree*)lfree->After(idcur);
 
  147    if (idcur1) 
return idcur1;
 
  150    idcur = (TFree*)lfree->Last();
 
  151    Long64_t last = idcur->fLast+1000000000LL;
 
  152    idcur->SetLast(last);
 
  159 void TFree::ls(Option_t *)
 const 
  161    std::cout <<
"Free Segment: "<<fFirst<<
"\t"<<fLast<<std::endl;
 
  167 void TFree::ReadBuffer(
char *&buffer)
 
  170    frombuf(buffer, &version);
 
  171    if (version > 1000) {
 
  172       frombuf(buffer, &fFirst);
 
  173       frombuf(buffer, &fLast);
 
  176       frombuf(buffer, &first);  fFirst = (Long64_t)first;
 
  177       frombuf(buffer, &last);   fLast  = (Long64_t)last;
 
  184 Int_t TFree::Sizeof()
 const 
  187    if (fLast > TFile::kStartBigFile) 
return 18;