You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2004/11/19 01:50:23 UTC

cvs commit: xml-xerces/c/src/xercesc/util NameIdPool.c NameIdPool.hpp RefHash2KeysTableOf.c RefHash2KeysTableOf.hpp RefHash3KeysIdPool.c RefHash3KeysIdPool.hpp RefHashTableOf.c RefHashTableOf.hpp ValueHashTableOf.c ValueHashTableOf.hpp

cargilld    2004/11/18 16:50:23

  Modified:    c/src/xercesc/util NameIdPool.c NameIdPool.hpp
                        RefHash2KeysTableOf.c RefHash2KeysTableOf.hpp
                        RefHash3KeysIdPool.c RefHash3KeysIdPool.hpp
                        RefHashTableOf.c RefHashTableOf.hpp
                        ValueHashTableOf.c ValueHashTableOf.hpp
  Log:
  Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
  
  Revision  Changes    Path
  1.11      +9 -7      xml-xerces/c/src/xercesc/util/NameIdPool.c
  
  Index: NameIdPool.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NameIdPool.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- NameIdPool.c	18 Nov 2004 01:35:20 -0000	1.10
  +++ NameIdPool.c	19 Nov 2004 00:50:22 -0000	1.11
  @@ -16,8 +16,8 @@
   
   /**
    * $Log$
  - * Revision 1.10  2004/11/18 01:35:20  cargilld
  - * Performance improvement to utility classes from Christian Will.  Avoid unnecessary checks and replace with assert calls.
  + * Revision 1.11  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
    *
    * Revision 1.9  2004/09/08 13:56:22  peiyongz
    * Apache License Version 2.0
  @@ -73,6 +73,7 @@
   #include <xercesc/util/IllegalArgumentException.hpp>
   #include <xercesc/util/NoSuchElementException.hpp>
   #include <xercesc/util/RuntimeException.hpp>
  +#include <new>
   #include <assert.h>
   
   XERCES_CPP_NAMESPACE_BEGIN
  @@ -172,7 +173,9 @@
               nextElem = curElem->fNext;
   
               delete curElem->fData;
  -            delete curElem;
  +            // destructor is empty...
  +            // curElem->~NameIdPoolBucketElem();
  +            fMemoryManager->deallocate(curElem);
   
               curElem = nextElem;
           }
  @@ -255,11 +258,9 @@
       }
   
       // Create a new bucket element and add it to the appropriate list
  -    NameIdPoolBucketElem<TElem>* newBucket = new (fMemoryManager) NameIdPoolBucketElem<TElem>
  -    (
  -        elemToAdopt
  -        , fBucketList[hashVal]
  -    );
  +    NameIdPoolBucketElem<TElem>* newBucket =
  +        new (fMemoryManager->allocate(sizeof(NameIdPoolBucketElem<TElem>)))
  +        NameIdPoolBucketElem<TElem>(elemToAdopt,fBucketList[hashVal]);
       fBucketList[hashVal] = newBucket;
   
       //
  @@ -304,7 +305,7 @@
       // Hash the key
       hashVal = XMLString::hash(key, fHashModulus, fMemoryManager);
   
  -    assert(hashVal < fHashModulus);
  +    assert(hashVal < fHashModulus);        
   
       // Search that bucket for the key
       NameIdPoolBucketElem<TElem>* curElem = fBucketList[hashVal];
  @@ -323,6 +324,7 @@
   {
       // Hash the key
       hashVal = XMLString::hash(key, fHashModulus, fMemoryManager);
  +
       assert(hashVal < fHashModulus);
   
       // Search that bucket for the key
  
  
  
  1.12      +4 -1      xml-xerces/c/src/xercesc/util/NameIdPool.hpp
  
  Index: NameIdPool.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NameIdPool.hpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- NameIdPool.hpp	23 Sep 2004 07:10:13 -0000	1.11
  +++ NameIdPool.hpp	19 Nov 2004 00:50:22 -0000	1.12
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.12  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
  + *
    * Revision 1.11  2004/09/23 07:10:13  amassari
    * Removed const from variable declaration (jira#1259)
    *
  @@ -117,7 +120,7 @@
   //  lists for each bucket. Because some of the compilers we have to support
   //  are totally brain dead, it cannot be a nested class as it should be.
   //
  -template <class TElem> struct NameIdPoolBucketElem : public XMemory
  +template <class TElem> struct NameIdPoolBucketElem
   {
   public :
       NameIdPoolBucketElem
  
  
  
  1.13      +17 -5     xml-xerces/c/src/xercesc/util/RefHash2KeysTableOf.c
  
  Index: RefHash2KeysTableOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHash2KeysTableOf.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- RefHash2KeysTableOf.c	18 Nov 2004 01:35:20 -0000	1.12
  +++ RefHash2KeysTableOf.c	19 Nov 2004 00:50:22 -0000	1.13
  @@ -16,8 +16,8 @@
   
   /**
    * $Log$
  - * Revision 1.12  2004/11/18 01:35:20  cargilld
  - * Performance improvement to utility classes from Christian Will.  Avoid unnecessary checks and replace with assert calls.
  + * Revision 1.13  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
    *
    * Revision 1.11  2004/09/22 11:14:22  amassari
    * Reorder initialization of variables in constructor
  @@ -80,6 +80,7 @@
   
   #include <xercesc/util/NullPointerException.hpp>
   #include <assert.h>
  +#include <new>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -208,7 +209,9 @@
                   delete curElem->fData;
   
               // Then delete the current element and move forward
  -            delete curElem;
  +            // destructor is empty...
  +            // curElem->~RefHash2KeysTableBucketElem();
  +            fMemoryManager->deallocate(curElem);
               curElem = nextElem;
           }
   
  @@ -223,6 +226,7 @@
       // Hash the key
       unsigned int hashVal = fHash->getHashVal(key1, fHashModulus);
       assert(hashVal < fHashModulus);
  +
       //
       //  Search the given bucket for this key. Keep up with the previous
       //  element so we can patch around it.
  @@ -254,7 +258,10 @@
               curElem = curElem->fNext;
   
               // Delete the current element
  -            delete elemToDelete;
  +            // delete elemToDelete;
  +            // destructor is empty...
  +            // curElem->~RefHash2KeysTableBucketElem();
  +            fMemoryManager->deallocate(elemToDelete);           
           }
           else
           {
  @@ -324,7 +331,9 @@
       }
        else
       {
  -        newBucket = new (fMemoryManager) RefHash2KeysTableBucketElem<TVal>(key1, key2, valueToAdopt, fBucketList[hashVal]);
  +        newBucket =
  +            new (fMemoryManager->allocate(sizeof(RefHash2KeysTableBucketElem<TVal>)))
  +            RefHash2KeysTableBucketElem<TVal>(key1, key2, valueToAdopt, fBucketList[hashVal]);
           fBucketList[hashVal] = newBucket;
       }
   }
  @@ -407,8 +416,11 @@
                   delete curElem->fData;
   
               // Delete the current element
  -            delete curElem;
  -
  +            // delete curElem;
  +            // destructor is empty...
  +            // curElem->~RefHash2KeysTableBucketElem();
  +            fMemoryManager->deallocate(curElem);
  +            
               return;
           }
   
  
  
  
  1.13      +4 -1      xml-xerces/c/src/xercesc/util/RefHash2KeysTableOf.hpp
  
  Index: RefHash2KeysTableOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHash2KeysTableOf.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- RefHash2KeysTableOf.hpp	8 Sep 2004 13:56:22 -0000	1.12
  +++ RefHash2KeysTableOf.hpp	19 Nov 2004 00:50:22 -0000	1.13
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.13  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
  + *
    * Revision 1.12  2004/09/08 13:56:22  peiyongz
    * Apache License Version 2.0
    *
  @@ -101,7 +104,7 @@
   //  This should really be a nested class, but some of the compilers we
   //  have to support cannot deal with that!
   //
  -template <class TVal> struct RefHash2KeysTableBucketElem : public XMemory
  +template <class TVal> struct RefHash2KeysTableBucketElem
   {
       RefHash2KeysTableBucketElem(void* key1, int key2, TVal* const value, RefHash2KeysTableBucketElem<TVal>* next)
   		: fData(value), fNext(next), fKey1(key1), fKey2(key2)
  
  
  
  1.15      +8 -2      xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.c
  
  Index: RefHash3KeysIdPool.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- RefHash3KeysIdPool.c	18 Nov 2004 01:35:20 -0000	1.14
  +++ RefHash3KeysIdPool.c	19 Nov 2004 00:50:22 -0000	1.15
  @@ -16,8 +16,8 @@
   
   /**
    * $Log$
  - * Revision 1.14  2004/11/18 01:35:20  cargilld
  - * Performance improvement to utility classes from Christian Will.  Avoid unnecessary checks and replace with assert calls.
  + * Revision 1.15  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
    *
    * Revision 1.13  2004/09/08 13:56:22  peiyongz
    * Apache License Version 2.0
  @@ -83,6 +83,7 @@
   
   #include <xercesc/util/NullPointerException.hpp>
   #include <assert.h>
  +#include <new>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -251,7 +252,10 @@
                   delete curElem->fData;
   
               // Then delete the current element and move forward
  -            delete curElem;
  +            // delete curElem;
  +            // destructor is empty...
  +            // curElem->~RefHash3KeysTableBucketElem();
  +            fMemoryManager->deallocate(curElem);
               curElem = nextElem;
           }
   
  @@ -350,7 +354,9 @@
   #if defined (XML_GCC_VERSION) && (XML_GCC_VERSION < 29600)
           newBucket = new RefHash3KeysTableBucketElem<TVal>(key1, key2, key3, valueToAdopt, fBucketList[hashVal]);
   #else
  -        newBucket = new (fMemoryManager) RefHash3KeysTableBucketElem<TVal>(key1, key2, key3, valueToAdopt, fBucketList[hashVal]);
  +        newBucket =
  +            new (fMemoryManager->allocate(sizeof(RefHash3KeysTableBucketElem<TVal>)))
  +            RefHash3KeysTableBucketElem<TVal>(key1, key2, key3, valueToAdopt, fBucketList[hashVal]);
   #endif
           fBucketList[hashVal] = newBucket;
       }
  
  
  
  1.12      +5 -1      xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.hpp
  
  Index: RefHash3KeysIdPool.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHash3KeysIdPool.hpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- RefHash3KeysIdPool.hpp	8 Sep 2004 13:56:22 -0000	1.11
  +++ RefHash3KeysIdPool.hpp	19 Nov 2004 00:50:22 -0000	1.12
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.12  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
  + *
    * Revision 1.11  2004/09/08 13:56:22  peiyongz
    * Apache License Version 2.0
    *
  @@ -98,7 +101,7 @@
   //  This should really be a nested class, but some of the compilers we
   //  have to support cannot deal with that!
   //
  -template <class TVal> struct RefHash3KeysTableBucketElem : public XMemory
  +template <class TVal> struct RefHash3KeysTableBucketElem
   {
       RefHash3KeysTableBucketElem(
                 void* key1
  @@ -115,6 +118,7 @@
       }
       
       RefHash3KeysTableBucketElem() {};
  +    ~RefHash3KeysTableBucketElem() {};
   
       TVal*  fData;
       RefHash3KeysTableBucketElem<TVal>*   fNext;
  
  
  
  1.18      +20 -4     xml-xerces/c/src/xercesc/util/RefHashTableOf.c
  
  Index: RefHashTableOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHashTableOf.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- RefHashTableOf.c	18 Nov 2004 01:35:20 -0000	1.17
  +++ RefHashTableOf.c	19 Nov 2004 00:50:22 -0000	1.18
  @@ -16,6 +16,9 @@
   
   /**
    * $Log$
  + * Revision 1.18  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
  + *
    * Revision 1.17  2004/11/18 01:35:20  cargilld
    * Performance improvement to utility classes from Christian Will.  Avoid unnecessary checks and replace with assert calls.
    *
  @@ -117,6 +120,7 @@
   
   #include <xercesc/util/NullPointerException.hpp>
   #include <assert.h>
  +#include <new>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -254,7 +258,10 @@
                   delete curElem->fData;
   
               // Then delete the current element and move forward
  -            delete curElem;
  + 	        // delete curElem;
  +            // destructor doesn't do anything...
  +			// curElem->~RefHashTableBucketElem();
  +            fMemoryManager->deallocate(curElem);            
               curElem = nextElem;
           }
   
  @@ -302,7 +309,10 @@
               retVal = curElem->fData;
   
               // Delete the current element
  -            delete curElem;
  +            // delete curElem;
  +            // destructor doesn't do anything...
  +			// curElem->~RefHashTableBucketElem();
  +            fMemoryManager->deallocate(curElem);            
               break;
           }
   
  @@ -440,7 +450,10 @@
       }
        else
       {
  -        newBucket = new (fMemoryManager) RefHashTableBucketElem<TVal>(key, valueToAdopt, fBucketList[hashVal]);
  +        //newBucket = new (fMemoryManager) RefHashTableBucketElem<TVal>(key, valueToAdopt, fBucketList[hashVal]);
  +		newBucket =
  +             new (fMemoryManager->allocate(sizeof(RefHashTableBucketElem<TVal>)))
  +             RefHashTableBucketElem<TVal>(key, valueToAdopt, fBucketList[hashVal]);        
           fBucketList[hashVal] = newBucket;
           fCount++;
       }
  @@ -568,7 +581,10 @@
                   delete curElem->fData;
   
               // Delete the current element
  -            delete curElem;
  +            // delete curElem;
  +            // destructor doesn't do anything...
  +			// curElem->~RefHashTableBucketElem();
  +            fMemoryManager->deallocate(curElem);            
   
               fCount--;
   
  
  
  
  1.16      +5 -1      xml-xerces/c/src/xercesc/util/RefHashTableOf.hpp
  
  Index: RefHashTableOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/RefHashTableOf.hpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- RefHashTableOf.hpp	8 Sep 2004 13:56:23 -0000	1.15
  +++ RefHashTableOf.hpp	19 Nov 2004 00:50:22 -0000	1.16
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.16  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
  + *
    * Revision 1.15  2004/09/08 13:56:23  peiyongz
    * Apache License Version 2.0
    *
  @@ -130,7 +133,7 @@
   //  This should really be a nested class, but some of the compilers we
   //  have to support cannot deal with that!
   //
  -template <class TVal> struct RefHashTableBucketElem : public XMemory
  +template <class TVal> struct RefHashTableBucketElem
   {
       RefHashTableBucketElem(void* key, TVal* const value, RefHashTableBucketElem<TVal>* next)
   		: fData(value), fNext(next), fKey(key)
  @@ -138,6 +141,7 @@
           }
   
       RefHashTableBucketElem(){};
  +    ~RefHashTableBucketElem(){};
   
       TVal*                           fData;
       RefHashTableBucketElem<TVal>*   fNext;
  
  
  
  1.11      +11 -3     xml-xerces/c/src/xercesc/util/ValueHashTableOf.c
  
  Index: ValueHashTableOf.c
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueHashTableOf.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ValueHashTableOf.c	18 Nov 2004 01:35:20 -0000	1.10
  +++ ValueHashTableOf.c	19 Nov 2004 00:50:22 -0000	1.11
  @@ -16,8 +16,8 @@
   
   /**
    * $Log$
  - * Revision 1.10  2004/11/18 01:35:20  cargilld
  - * Performance improvement to utility classes from Christian Will.  Avoid unnecessary checks and replace with assert calls.
  + * Revision 1.11  2004/11/19 00:50:22  cargilld
  + * Memory improvement to utility classes from Christian Will.  Remove dependency on XMemory.
    *
    * Revision 1.9  2004/09/08 13:56:23  peiyongz
    * Apache License Version 2.0
  @@ -52,6 +52,7 @@
   
   #include <xercesc/util/NullPointerException.hpp>
   #include <assert.h>
  +#include <new>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -153,7 +154,9 @@
               nextElem = curElem->fNext;
   
               // delete the current element and move forward
  -            delete curElem;
  +            // destructor is empty...
  +            // curElem->~ValueHashTableBucketElem();
  +            fMemoryManager->deallocate(curElem);
               curElem = nextElem;
           }
   
  @@ -208,7 +211,9 @@
       }
        else
       {
  -        newBucket = new (fMemoryManager) ValueHashTableBucketElem<TVal>(key, valueToAdopt, fBucketList[hashVal]);
  +        newBucket =            
  +            new (fMemoryManager->allocate(sizeof(ValueHashTableBucketElem<TVal>)))
  +            ValueHashTableBucketElem<TVal>(key, valueToAdopt, fBucketList[hashVal]);
           fBucketList[hashVal] = newBucket;
       }
   }
  @@ -287,7 +292,10 @@
               }
   
               // Delete the current element
  -            delete curElem;
  +            // delete curElem;
  +			// destructor is empty...
  +            // curElem->~ValueHashTableBucketElem();
  +            fMemoryManager->deallocate(curElem);                        
   
               return;
           }
  
  
  
  1.13      +3 -2      xml-xerces/c/src/xercesc/util/ValueHashTableOf.hpp
  
  Index: ValueHashTableOf.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/ValueHashTableOf.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ValueHashTableOf.hpp	8 Sep 2004 13:56:23 -0000	1.12
  +++ ValueHashTableOf.hpp	19 Nov 2004 00:50:22 -0000	1.13
  @@ -45,13 +45,14 @@
   //  This should really be a nested class, but some of the compilers we
   //  have to support cannot deal with that!
   //
  -template <class TVal> struct ValueHashTableBucketElem : public XMemory
  +template <class TVal> struct ValueHashTableBucketElem
   {
       ValueHashTableBucketElem(void* key, const TVal& value, ValueHashTableBucketElem<TVal>* next)
   		: fData(value), fNext(next), fKey(key)
           {
           }
       ValueHashTableBucketElem(){};
  +    ~ValueHashTableBucketElem(){};
   
       TVal                           fData;
       ValueHashTableBucketElem<TVal>* fNext;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org