You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by kn...@apache.org on 2003/05/18 16:02:09 UTC
cvs commit: xml-xerces/c/src/xercesc/validators/schema/identity FieldValueMap.cpp FieldValueMap.hpp IdentityConstraint.hpp ValueStore.cpp ValueStoreCache.cpp XPathMatcher.cpp XPathMatcherStack.cpp XercesXPath.cpp XercesXPath.hpp
knoaman 2003/05/18 07:02:09
Modified: c/src/xercesc/dom/deprecated DOMParser.cpp DocumentImpl.cpp
DocumentImpl.hpp RangeImpl.cpp
c/src/xercesc/dom/impl DOMDocumentImpl.cpp
DOMImplementationImpl.cpp DOMNormalizer.cpp
DOMNormalizer.hpp DOMRangeImpl.cpp
DOMWriterImpl.cpp
c/src/xercesc/framework XMLAttr.cpp XMLElementDecl.cpp
c/src/xercesc/internal DGXMLScanner.cpp ElemStack.cpp
IGXMLScanner.cpp IGXMLScanner2.cpp ReaderMgr.cpp
SGXMLScanner.cpp WFXMLScanner.cpp XMLScanner.cpp
c/src/xercesc/parsers AbstractDOMParser.cpp
SAX2XMLReaderImpl.cpp SAXParser.cpp
c/src/xercesc/util KVStringPair.hpp PlatformUtils.cpp
RefHash2KeysTableOf.c RefHash2KeysTableOf.hpp
RefHashTableOf.c RefHashTableOf.hpp StringPool.cpp
XMLAbstractDoubleFloat.hpp XMLDateTime.cpp
XMLDateTime.hpp XMLString.cpp XMLString.hpp
XMLStringTokenizer.cpp XMLURL.hpp
c/src/xercesc/util/regx Op.cpp OpFactory.cpp
RangeTokenMap.cpp RegularExpression.cpp
RegxParser.cpp TokenFactory.cpp UnionToken.cpp
XMLRangeFactory.cpp
c/src/xercesc/validators/DTD DTDElementDecl.cpp
DTDGrammar.cpp DTDScanner.cpp
c/src/xercesc/validators/common AllContentModel.cpp
CMLeaf.hpp ContentSpecNode.cpp ContentSpecNode.hpp
DFAContentModel.cpp GrammarResolver.cpp
MixedContentModel.cpp SimpleContentModel.hpp
c/src/xercesc/validators/datatype
AnyURIDatatypeValidator.cpp
DatatypeValidatorFactory.cpp
DateDatatypeValidator.cpp
DateTimeDatatypeValidator.cpp DateTimeValidator.cpp
DayDatatypeValidator.cpp
DecimalDatatypeValidator.cpp
DoubleDatatypeValidator.cpp
DurationDatatypeValidator.cpp
FloatDatatypeValidator.cpp
MonthDatatypeValidator.cpp
MonthDayDatatypeValidator.cpp
TimeDatatypeValidator.cpp YearDatatypeValidator.cpp
YearMonthDatatypeValidator.cpp
c/src/xercesc/validators/schema ComplexTypeInfo.cpp
ComplexTypeInfo.hpp NamespaceScope.cpp
SchemaAttDef.cpp SchemaAttDef.hpp
SchemaAttDefList.cpp SchemaElementDecl.cpp
SchemaElementDecl.hpp SchemaGrammar.cpp
SchemaValidator.cpp SchemaValidator.hpp
TraverseSchema.cpp XercesAttGroupInfo.hpp
XercesGroupInfo.cpp
c/src/xercesc/validators/schema/identity FieldValueMap.cpp
FieldValueMap.hpp IdentityConstraint.hpp
ValueStore.cpp ValueStoreCache.cpp XPathMatcher.cpp
XPathMatcherStack.cpp XercesXPath.cpp
XercesXPath.hpp
Log:
Memory manager implementation: pass per instance manager.
Revision Changes Path
1.17 +3 -3 xml-xerces/c/src/xercesc/dom/deprecated/DOMParser.cpp
Index: DOMParser.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DOMParser.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- DOMParser.cpp 16 May 2003 21:36:54 -0000 1.16
+++ DOMParser.cpp 18 May 2003 14:02:03 -0000 1.17
@@ -141,7 +141,7 @@
{
// Create grammar resolver and URI string pool to pass to the scanner
fGrammarResolver = new (fMemoryManager) GrammarResolver(fMemoryManager);
- fURIStringPool = new (fMemoryManager) XMLStringPool();
+ fURIStringPool = new (fMemoryManager) XMLStringPool(109, fMemoryManager);
// Create a scanner and tell it what validator to use. Then set us
// as the document event handler so we can fill the DOM document.
@@ -151,7 +151,7 @@
fScanner->setGrammarResolver(fGrammarResolver);
fScanner->setURIStringPool(fURIStringPool);
- fNodeStack = new (fMemoryManager) ValueStackOf<DOM_Node>(64);
+ fNodeStack = new (fMemoryManager) ValueStackOf<DOM_Node>(64, fMemoryManager);
this->reset();
}
1.7 +22 -9 xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.cpp
Index: DocumentImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DocumentImpl.cpp 15 May 2003 18:25:53 -0000 1.6
+++ DocumentImpl.cpp 18 May 2003 14:02:03 -0000 1.7
@@ -355,14 +355,18 @@
};
-NodeIteratorImpl* DocumentImpl::createNodeIterator (DOM_Node root, unsigned long whatToShow, DOM_NodeFilter* filter, bool entityReferenceExpansion)
+NodeIteratorImpl* DocumentImpl::createNodeIterator (DOM_Node root,
+ unsigned long whatToShow,
+ DOM_NodeFilter* filter,
+ bool entityReferenceExpansion,
+ MemoryManager* const manager)
{
// Create the node iterator implementation object.
// Add it to the vector of iterators that must be synchronized when a node is deleted.
// The vector of iterators is kept in the "owner document" if there is one. If there isn't one, I assume that root is the
// owner document.
- NodeIteratorImpl* iter = new (XMLPlatformUtils::fgMemoryManager) NodeIteratorImpl(root, whatToShow, filter, entityReferenceExpansion);
+ NodeIteratorImpl* iter = new (manager) NodeIteratorImpl(root, whatToShow, filter, entityReferenceExpansion);
DOM_Document doc = root.getOwnerDocument();
DocumentImpl* impl;
@@ -373,7 +377,7 @@
impl = (DocumentImpl *) root.fImpl;
if (impl->iterators == 0L) {
- impl->iterators = new (XMLPlatformUtils::fgMemoryManager) NodeIterators(1, false);
+ impl->iterators = new (manager) NodeIterators(1, false, manager);
impl->iterators->addElement(iter);
}
@@ -381,11 +385,14 @@
}
-TreeWalkerImpl* DocumentImpl::createTreeWalker (DOM_Node root, unsigned long whatToShow, DOM_NodeFilter* filter, bool entityReferenceExpansion)
+TreeWalkerImpl* DocumentImpl::createTreeWalker (DOM_Node root, unsigned long whatToShow,
+ DOM_NodeFilter* filter,
+ bool entityReferenceExpansion,
+ MemoryManager* const manager)
{
// See notes for createNodeIterator...
- TreeWalkerImpl* twi = new (XMLPlatformUtils::fgMemoryManager) TreeWalkerImpl(root, whatToShow, filter, entityReferenceExpansion);
+ TreeWalkerImpl* twi = new (manager) TreeWalkerImpl(root, whatToShow, filter, entityReferenceExpansion);
DOM_Document doc = root.getOwnerDocument();
DocumentImpl* impl;
@@ -396,7 +403,7 @@
impl = (DocumentImpl *) root.fImpl;
if (impl->treeWalkers == 0L) {
- impl->treeWalkers = new (XMLPlatformUtils::fgMemoryManager) TreeWalkers(1, false);
+ impl->treeWalkers = new (manager) TreeWalkers(1, false, manager);
impl->treeWalkers->addElement(twi);
}
@@ -735,7 +742,7 @@
RangeImpl* range = new (fMemoryManager) RangeImpl(DOM_Document(this));
if (ranges == 0L) {
- ranges = new (fMemoryManager) RangeImpls(1, false);
+ ranges = new (fMemoryManager) RangeImpls(1, false, fMemoryManager);
}
ranges->addElement(range);
return range;
@@ -812,7 +819,13 @@
void DocumentImpl::setUserData(NodeImpl* n, void* data)
{
if (!userData && data)
- userData = new (fMemoryManager) RefHashTableOf<void>(29, false, new (fMemoryManager) HashPtr());
+ userData = new (fMemoryManager) RefHashTableOf<void>
+ (
+ 29
+ , false
+ , new (fMemoryManager) HashPtr()
+ , fMemoryManager
+ );
if (!data && userData)
userData->removeKey((void*)n);
else
1.6 +5 -3 xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.hpp
Index: DocumentImpl.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DocumentImpl.hpp 15 May 2003 18:25:53 -0000 1.5
+++ DocumentImpl.hpp 18 May 2003 14:02:03 -0000 1.6
@@ -207,8 +207,10 @@
virtual void referenced();
virtual NodeImpl *removeChild(NodeImpl *oldChild);
virtual void unreferenced();
- static NodeIteratorImpl* createNodeIterator(DOM_Node root, unsigned long whatToShow, DOM_NodeFilter* filter, bool entityReferenceExpansion);
- static TreeWalkerImpl* createTreeWalker(DOM_Node root, unsigned long whatToShow, DOM_NodeFilter* filter, bool entityReferenceExpansion);
+ static NodeIteratorImpl* createNodeIterator(DOM_Node root, unsigned long whatToShow, DOM_NodeFilter* filter, bool entityReferenceExpansion,
+ MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+ static TreeWalkerImpl* createTreeWalker(DOM_Node root, unsigned long whatToShow, DOM_NodeFilter* filter, bool entityReferenceExpansion,
+ MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
virtual XMLDeclImpl* createXMLDecl(const DOMString& version, const DOMString& encoding, const DOMString& standalone);
virtual void* getUserData();
virtual void setUserData(void* value);
1.4 +3 -3 xml-xerces/c/src/xercesc/dom/deprecated/RangeImpl.cpp
Index: RangeImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/RangeImpl.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RangeImpl.cpp 4 Nov 2002 15:04:44 -0000 1.3
+++ RangeImpl.cpp 18 May 2003 14:02:03 -0000 1.4
@@ -897,14 +897,14 @@
return pointA;
typedef RefVectorOf<NodeImpl> VectorNodes;
- VectorNodes* startV= new VectorNodes(1, false);
+ VectorNodes* startV= new (((DocumentImpl*)fDocument.fImpl)->getMemoryManager()) VectorNodes(1, false, ((DocumentImpl*)fDocument.fImpl)->getMemoryManager());
DOM_Node node;
for (node=fStartContainer; node != null; node=node.getParentNode())
{
startV->addElement(node.fImpl);
}
- VectorNodes* endV = new VectorNodes(1, false);
+ VectorNodes* endV = new (((DocumentImpl*)fDocument.fImpl)->getMemoryManager()) VectorNodes(1, false, ((DocumentImpl*)fDocument.fImpl)->getMemoryManager());
for (node=fEndContainer; node != null; node=node.getParentNode())
{
endV->addElement(node.fImpl);
1.38 +14 -8 xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp
Index: DOMDocumentImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- DOMDocumentImpl.cpp 16 May 2003 06:01:50 -0000 1.37
+++ DOMDocumentImpl.cpp 18 May 2003 14:02:03 -0000 1.38
@@ -409,7 +409,7 @@
if (fNodeIterators == 0L) {
//fNodeIterators = new (this) NodeIterators(1, false);
- fNodeIterators = new NodeIterators(1, false);
+ fNodeIterators = new (fMemoryManager) NodeIterators(1, false, fMemoryManager);
}
fNodeIterators->addElement(nodeIterator);
@@ -650,7 +650,7 @@
if (fRanges == 0L) {
//fRanges = new (this) Ranges(1, false);
- fRanges = new (fMemoryManager) Ranges(1, false); // XMemory
+ fRanges = new (fMemoryManager) Ranges(1, false, fMemoryManager); // XMemory
}
fRanges->addElement(range);
return range;
@@ -991,7 +991,7 @@
void DOMDocumentImpl::normalizeDocument() {
if(!fNormalizer)
- fNormalizer = new DOMNormalizer();
+ fNormalizer = new (fMemoryManager) DOMNormalizer();
fNormalizer->normalizeDocument(this);
}
@@ -1177,7 +1177,13 @@
if (!fUserDataTable) {
// create the table on heap so that it can be cleaned in destructor
//fUserDataTable = new (this) RefHashTableOf<DOMNodeUserDataTable>(29, true, new HashPtr());
- fUserDataTable = new (fMemoryManager) RefHashTableOf<DOMNodeUserDataTable>(29, true, new HashPtr());
+ fUserDataTable = new (fMemoryManager) RefHashTableOf<DOMNodeUserDataTable>
+ (
+ 29
+ , true
+ , new HashPtr()
+ , fMemoryManager
+ );
}
else {
node_userDataTable = fUserDataTable->get((void*)n);
@@ -1198,7 +1204,7 @@
// create the DOMNodeUserDataTable if not exists
// create on the heap and adopted by the hashtable which will delete it upon removal.
if (!node_userDataTable) {
- node_userDataTable = new (fMemoryManager) RefHashTableOf<DOMUserDataRecord>(29, true);
+ node_userDataTable = new (fMemoryManager) RefHashTableOf<DOMUserDataRecord>(29, true, fMemoryManager);
fUserDataTable->put(n, node_userDataTable);
}
@@ -1332,7 +1338,7 @@
fRecycleNodePtr = new (fMemoryManager) RefArrayOf<DOMNodePtr> (15, fMemoryManager);
if (!fRecycleNodePtr->operator[](type))
- fRecycleNodePtr->operator[](type) = new (fMemoryManager) RefStackOf<DOMNode> (15, false);
+ fRecycleNodePtr->operator[](type) = new (fMemoryManager) RefStackOf<DOMNode> (15, false, fMemoryManager);
fRecycleNodePtr->operator[](type)->push(object);
}
@@ -1340,7 +1346,7 @@
void DOMDocumentImpl::releaseBuffer(DOMBuffer* buffer)
{
if (!fRecycleBufferPtr)
- fRecycleBufferPtr = new (fMemoryManager) RefStackOf<DOMBuffer> (15, false);
+ fRecycleBufferPtr = new (fMemoryManager) RefStackOf<DOMBuffer> (15, false, fMemoryManager);
fRecycleBufferPtr->push(buffer);
}
1.17 +2 -2 xml-xerces/c/src/xercesc/dom/impl/DOMImplementationImpl.cpp
Index: DOMImplementationImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMImplementationImpl.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- DOMImplementationImpl.cpp 15 May 2003 18:25:54 -0000 1.16
+++ DOMImplementationImpl.cpp 18 May 2003 14:02:03 -0000 1.17
@@ -311,7 +311,7 @@
{
DOMImplementation* impl = DOMImplementation::getImplementation();
- XMLStringTokenizer tokenizer(features);
+ XMLStringTokenizer tokenizer(features, XMLPlatformUtils::fgMemoryManager);
const XMLCh* feature = 0;
while (feature || tokenizer.hasMoreTokens()) {
1.4 +2 -2 xml-xerces/c/src/xercesc/dom/impl/DOMNormalizer.cpp
Index: DOMNormalizer.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMNormalizer.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DOMNormalizer.cpp 16 May 2003 21:36:55 -0000 1.3
+++ DOMNormalizer.cpp 18 May 2003 14:02:03 -0000 1.4
@@ -499,8 +499,8 @@
void DOMNormalizer::InScopeNamespaces::Scope::addOrChangeBinding(const XMLCh *prefix, const XMLCh *uri) {
//initialize and copy forward now we need to
if(!fUriHash) {
- fPrefixHash = new RefHashTableOf<XMLCh>(10, false);
- fUriHash = new RefHashTableOf<XMLCh>(10, false);
+ fPrefixHash = new RefHashTableOf<XMLCh>(10, (bool) false);
+ fUriHash = new RefHashTableOf<XMLCh>(10, (bool) false);
if(fBaseScopeWithBindings) {
RefHashTableOfEnumerator<XMLCh> preEnumer(fBaseScopeWithBindings->fPrefixHash);
1.3 +1 -1 xml-xerces/c/src/xercesc/dom/impl/DOMNormalizer.hpp
Index: DOMNormalizer.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMNormalizer.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DOMNormalizer.hpp 16 May 2003 21:36:55 -0000 1.2
+++ DOMNormalizer.hpp 18 May 2003 14:02:03 -0000 1.3
@@ -82,7 +82,7 @@
class DOMAttr;
class DOMNamedNodeMap;
-class DOMNormalizer {
+class DOMNormalizer : public XMemory {
//the following are the data structures maintain the stack of namespace information
class InScopeNamespaces {
1.14 +3 -3 xml-xerces/c/src/xercesc/dom/impl/DOMRangeImpl.cpp
Index: DOMRangeImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMRangeImpl.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- DOMRangeImpl.cpp 16 May 2003 21:36:55 -0000 1.13
+++ DOMRangeImpl.cpp 18 May 2003 14:02:03 -0000 1.14
@@ -1087,14 +1087,14 @@
return pointA;
typedef RefVectorOf<DOMNode> VectorNodes;
- VectorNodes startV(1, false);
+ VectorNodes startV(1, false, ((DOMDocumentImpl *)fDocument)->getMemoryManager());
DOMNode* node;
for (node=(DOMNode*)pointA; node != 0; node=node->getParentNode())
{
startV.addElement(node);
}
- VectorNodes endV(1, false);
+ VectorNodes endV(1, false, ((DOMDocumentImpl *)fDocument)->getMemoryManager());
for (node=(DOMNode*)pointB; node != 0; node=node->getParentNode())
{
endV.addElement(node);
1.39 +6 -3 xml-xerces/c/src/xercesc/dom/impl/DOMWriterImpl.cpp
Index: DOMWriterImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMWriterImpl.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- DOMWriterImpl.cpp 16 May 2003 21:36:55 -0000 1.38
+++ DOMWriterImpl.cpp 18 May 2003 14:02:03 -0000 1.39
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.39 2003/05/18 14:02:03 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.38 2003/05/16 21:36:55 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -477,7 +480,7 @@
,fNamespaceStack(0)
,fMemoryManager(manager)
{
- fNamespaceStack=new (fMemoryManager) RefVectorOf< RefHashTableOf<XMLCh> >(0,true);
+ fNamespaceStack=new (fMemoryManager) RefVectorOf< RefHashTableOf<XMLCh> >(0,true, fMemoryManager);
//
// set features to default setting
@@ -917,7 +920,7 @@
int nodeLine = fCurrentLine;
// add an entry in the namespace stack
- RefHashTableOf<XMLCh>* namespaceMap=new (fMemoryManager) RefHashTableOf<XMLCh>(12,false);
+ RefHashTableOf<XMLCh>* namespaceMap=new (fMemoryManager) RefHashTableOf<XMLCh>(12, false, fMemoryManager);
fNamespaceStack->addElement(namespaceMap);
if ( filterAction == DOMNodeFilter::FILTER_ACCEPT)
1.5 +4 -4 xml-xerces/c/src/xercesc/framework/XMLAttr.cpp
Index: XMLAttr.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLAttr.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLAttr.cpp 15 May 2003 18:26:07 -0000 1.4
+++ XMLAttr.cpp 18 May 2003 14:02:04 -0000 1.5
@@ -79,7 +79,7 @@
, fAttName(0)
, fMemoryManager(manager)
{
- fAttName = new (fMemoryManager) QName();
+ fAttName = new (fMemoryManager) QName(fMemoryManager);
}
XMLAttr::XMLAttr( const unsigned int uriId
@@ -103,7 +103,7 @@
// Just call the local setters to set up everything. Too much
// work is required to replicate that functionality here.
//
- fAttName = new (fMemoryManager) QName(attrPrefix, attrName, uriId);
+ fAttName = new (fMemoryManager) QName(attrPrefix, attrName, uriId, fMemoryManager);
setValue(attrValue);
}
catch(...)
@@ -130,7 +130,7 @@
{
// Just call the local setters to set up everything. Too much
// work is required to replicate that functionality here.
- fAttName = new (fMemoryManager) QName(rawName, uriId);
+ fAttName = new (fMemoryManager) QName(rawName, uriId, fMemoryManager);
setValue(attrValue);
}
catch(...)
1.6 +3 -3 xml-xerces/c/src/xercesc/framework/XMLElementDecl.cpp
Index: XMLElementDecl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLElementDecl.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XMLElementDecl.cpp 15 May 2003 18:26:07 -0000 1.5
+++ XMLElementDecl.cpp 18 May 2003 14:02:04 -0000 1.6
@@ -100,7 +100,7 @@
if (fElementName)
fElementName->setName(prefix, localPart, uriId);
else
- fElementName = new (fMemoryManager) QName(prefix, localPart, uriId);
+ fElementName = new (fMemoryManager) QName(prefix, localPart, uriId, fMemoryManager);
}
void
@@ -110,7 +110,7 @@
if (fElementName)
fElementName->setName(rawName, uriId);
else
- fElementName = new (fMemoryManager) QName(rawName, uriId);
+ fElementName = new (fMemoryManager) QName(rawName, uriId, fMemoryManager);
}
void
1.14 +2 -2 xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp
Index: DGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- DGXMLScanner.cpp 16 May 2003 21:36:57 -0000 1.13
+++ DGXMLScanner.cpp 18 May 2003 14:02:04 -0000 1.14
@@ -1788,7 +1788,7 @@
// And we need one for the raw attribute scan. This just stores key/
// value string pairs (prior to any processing.)
- fAttrNSList = new (fMemoryManager) ValueVectorOf<XMLAttr*>(8);
+ fAttrNSList = new (fMemoryManager) ValueVectorOf<XMLAttr*>(8, fMemoryManager);
// Create the Validator and init them
fDTDValidator = new (fMemoryManager) DTDValidator();
1.7 +5 -0 xml-xerces/c/src/xercesc/internal/ElemStack.cpp
Index: ElemStack.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/ElemStack.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ElemStack.cpp 16 May 2003 21:36:57 -0000 1.6
+++ ElemStack.cpp 18 May 2003 14:02:04 -0000 1.7
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.7 2003/05/18 14:02:04 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.6 2003/05/16 21:36:57 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -153,6 +156,7 @@
fEmptyNamespaceId(0)
, fGlobalPoolId(0)
+ , fPrefixPool(109, manager)
, fStack(0)
, fStackCapacity(32)
, fStackTop(0)
@@ -571,6 +575,7 @@
, fMapCapacity(0)
, fMap(0)
, fStack(0)
+ , fPrefixPool(109, manager)
, fMemoryManager(manager)
{
// Do an initial allocation of the stack and zero it out
1.13 +3 -3 xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp
Index: IGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- IGXMLScanner.cpp 16 May 2003 21:36:57 -0000 1.12
+++ IGXMLScanner.cpp 18 May 2003 14:02:04 -0000 1.13
@@ -501,7 +501,7 @@
// And we need one for the raw attribute scan. This just stores key/
// value string pairs (prior to any processing.)
- fRawAttrList = new (fMemoryManager) RefVectorOf<KVStringPair>(32);
+ fRawAttrList = new (fMemoryManager) RefVectorOf<KVStringPair>(32, true, fMemoryManager);
// Create the Validator and init them
fDTDValidator = new (fMemoryManager) DTDValidator();
@@ -2083,7 +2083,7 @@
//if schema, check if we should lax or skip the validation of this element
bool parentValidation = fValidate;
if (cv) {
- QName element(fPrefixBuf.getRawBuffer(), &qnameRawBuf[prefixColonPos + 1], uriId);
+ QName element(fPrefixBuf.getRawBuffer(), &qnameRawBuf[prefixColonPos + 1], uriId, fMemoryManager);
// elementDepth will be > 0, as cv is only constructed if element is not
// root.
laxThisOne = laxElementValidation(&element, cv, cm, elemDepth - 1);
1.20 +2 -2 xml-xerces/c/src/xercesc/internal/IGXMLScanner2.cpp
Index: IGXMLScanner2.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner2.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- IGXMLScanner2.cpp 16 May 2003 21:36:57 -0000 1.19
+++ IGXMLScanner2.cpp 18 May 2003 14:02:04 -0000 1.20
@@ -1225,7 +1225,7 @@
XMLBufBid bbXsi(&fBufMgr);
XMLBuffer& fXsiType = bbXsi.getBuffer();
- QName attName;
+ QName attName(fMemoryManager);
for (index = 0; index < attCount; index++)
{
1.15 +3 -3 xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp
Index: ReaderMgr.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ReaderMgr.cpp 16 May 2003 21:36:57 -0000 1.14
+++ ReaderMgr.cpp 18 May 2003 14:02:04 -0000 1.15
@@ -900,11 +900,11 @@
// tell it it does own its elements.
//
if (!fReaderStack)
- fReaderStack = new (fMemoryManager) RefStackOf<XMLReader>(16, true);
+ fReaderStack = new (fMemoryManager) RefStackOf<XMLReader>(16, true, fMemoryManager);
// And the entity stack, which does not own its elements
if (!fEntityStack)
- fEntityStack = new (fMemoryManager) RefStackOf<XMLEntityDecl>(16, false);
+ fEntityStack = new (fMemoryManager) RefStackOf<XMLEntityDecl>(16, false, fMemoryManager);
//
// Push the current reader and entity onto their respective stacks.
1.26 +5 -5 xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp
Index: SGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- SGXMLScanner.cpp 16 May 2003 21:36:57 -0000 1.25
+++ SGXMLScanner.cpp 18 May 2003 14:02:04 -0000 1.26
@@ -1174,7 +1174,7 @@
//if schema, check if we should lax or skip the validation of this element
bool parentValidation = fValidate;
if (cv) {
- QName element(fPrefixBuf.getRawBuffer(), &qnameRawBuf[prefixColonPos + 1], uriId);
+ QName element(fPrefixBuf.getRawBuffer(), &qnameRawBuf[prefixColonPos + 1], uriId, fMemoryManager);
// elementDepth will be > 0, as cv is only constructed if element is not
// root.
laxThisOne = laxElementValidation(&element, cv, cm, elemDepth - 1);
@@ -1873,7 +1873,7 @@
// And we need one for the raw attribute scan. This just stores key/
// value string pairs (prior to any processing.)
- fRawAttrList = new (fMemoryManager) RefVectorOf<KVStringPair>(32);
+ fRawAttrList = new (fMemoryManager) RefVectorOf<KVStringPair>(32, true, fMemoryManager);
// Create dummy schema grammar
fSchemaGrammar = new (fMemoryManager) SchemaGrammar(fMemoryManager);
@@ -1890,7 +1890,7 @@
// Add the default entity entries for the character refs that must always
// be present.
- fEntityTable = new (fMemoryManager) ValueHashTableOf<XMLCh>(11);
+ fEntityTable = new (fMemoryManager) ValueHashTableOf<XMLCh>(11, fMemoryManager);
fEntityTable->put((void*) XMLUni::fgAmp, chAmpersand);
fEntityTable->put((void*) XMLUni::fgLT, chOpenAngle);
fEntityTable->put((void*) XMLUni::fgGT, chCloseAngle);
@@ -2992,7 +2992,7 @@
XMLBufBid bbXsi(&fBufMgr);
XMLBuffer& fXsiType = bbXsi.getBuffer();
- QName attName;
+ QName attName(fMemoryManager);
for (index = 0; index < attCount; index++)
{
1.12 +6 -6 xml-xerces/c/src/xercesc/internal/WFXMLScanner.cpp
Index: WFXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/WFXMLScanner.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- WFXMLScanner.cpp 16 May 2003 21:36:57 -0000 1.11
+++ WFXMLScanner.cpp 18 May 2003 14:02:04 -0000 1.12
@@ -439,11 +439,11 @@
// it redundantly in multiple constructors.
void WFXMLScanner::commonInit()
{
- fEntityTable = new (fMemoryManager) ValueHashTableOf<XMLCh>(11);
- fAttrNameHashList = new (fMemoryManager)ValueVectorOf<unsigned int>(16);
- fAttrNSList = new (fMemoryManager) ValueVectorOf<XMLAttr*>(8);
- fElements = new (fMemoryManager) RefVectorOf<XMLElementDecl>(32);
- fElementLookup = new (fMemoryManager) RefHashTableOf<XMLElementDecl>(109, false);
+ fEntityTable = new (fMemoryManager) ValueHashTableOf<XMLCh>(11, fMemoryManager);
+ fAttrNameHashList = new (fMemoryManager)ValueVectorOf<unsigned int>(16, fMemoryManager);
+ fAttrNSList = new (fMemoryManager) ValueVectorOf<XMLAttr*>(8, fMemoryManager);
+ fElements = new (fMemoryManager) RefVectorOf<XMLElementDecl>(32, true, fMemoryManager);
+ fElementLookup = new (fMemoryManager) RefHashTableOf<XMLElementDecl>(109, false, fMemoryManager);
// Add the default entity entries for the character refs that must always
// be present.
1.45 +3 -3 xml-xerces/c/src/xercesc/internal/XMLScanner.cpp
Index: XMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScanner.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- XMLScanner.cpp 16 May 2003 21:36:58 -0000 1.44
+++ XMLScanner.cpp 18 May 2003 14:02:04 -0000 1.45
@@ -702,11 +702,11 @@
// Create the attribute list, which is used to store attribute values
// during start tag processing. Give it a reasonable initial size that
// will serve for most folks, though it will grow as required.
- fAttrList = new (fMemoryManager) RefVectorOf<XMLAttr>(32);
+ fAttrList = new (fMemoryManager) RefVectorOf<XMLAttr>(32, true, fMemoryManager);
// Create the id ref list. This is used to enforce XML 1.0 ID ref
// semantics, i.e. all id refs must refer to elements that exist
- fIDRefList = new (fMemoryManager) RefHashTableOf<XMLRefInfo>(109);
+ fIDRefList = new (fMemoryManager) RefHashTableOf<XMLRefInfo>(109, fMemoryManager);
// Create the GrammarResolver
//fGrammarResolver = new GrammarResolver();
1.42 +8 -5 xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp
Index: AbstractDOMParser.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- AbstractDOMParser.cpp 16 May 2003 06:01:52 -0000 1.41
+++ AbstractDOMParser.cpp 18 May 2003 14:02:05 -0000 1.42
@@ -150,7 +150,7 @@
{
// Create grammar resolver and string pool to pass to the scanner
fGrammarResolver = new (fMemoryManager) GrammarResolver(fMemoryManager);
- fURIStringPool = new (fMemoryManager) XMLStringPool;
+ fURIStringPool = new (fMemoryManager) XMLStringPool(109, fMemoryManager);
// Create a scanner and tell it what validator to use. Then set us
// as the document event handler so we can fill the DOM document.
@@ -190,7 +190,7 @@
if (fDocument && !fDocumentAdoptedByUser) {
if (!fDocumentVector) {
// allocate the vector if not exists yet
- fDocumentVector = new (fMemoryManager) RefVectorOf<DOMDocumentImpl>(10, true) ;
+ fDocumentVector = new (fMemoryManager) RefVectorOf<DOMDocumentImpl>(10, true, fMemoryManager) ;
}
fDocumentVector->addElement(fDocument);
}
@@ -1334,7 +1334,10 @@
XMLCh temp[1000];
if (index > 999)
- prefix = new XMLCh[index+1];
+ prefix = (XMLCh*) fMemoryManager->allocate
+ (
+ (index + 1) * sizeof(XMLCh)
+ );//new XMLCh[index+1];
else
prefix = temp;
@@ -1346,7 +1349,7 @@
buf.append(XMLUni::fgXMLURIName);
if (index > 999)
- delete prefix;
+ fMemoryManager->deallocate(prefix);//delete [] prefix;
}
else {
// No prefix
1.21 +6 -3 xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
Index: SAX2XMLReaderImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- SAX2XMLReaderImpl.cpp 16 May 2003 21:36:59 -0000 1.20
+++ SAX2XMLReaderImpl.cpp 18 May 2003 14:02:05 -0000 1.21
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.21 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.20 2003/05/16 21:36:59 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -339,7 +342,7 @@
{
// Create grammar resolver and string pool that we pass to the scanner
fGrammarResolver = new (fMemoryManager) GrammarResolver(fMemoryManager);
- fURIStringPool = new (fMemoryManager) XMLStringPool();
+ fURIStringPool = new (fMemoryManager) XMLStringPool(109, fMemoryManager);
// Create a scanner and tell it what validator to use. Then set us
// as the document event handler so we can fill the DOM document.
@@ -360,8 +363,8 @@
// default: schema is on
setDoSchema(true);
- fPrefixes = new (fMemoryManager) RefStackOf<XMLBuffer> (10, false) ;
- fTempAttrVec = new (fMemoryManager) RefVectorOf<XMLAttr> (10, false) ;
+ fPrefixes = new (fMemoryManager) RefStackOf<XMLBuffer> (10, false, fMemoryManager) ;
+ fTempAttrVec = new (fMemoryManager) RefVectorOf<XMLAttr> (10, false, fMemoryManager) ;
fPrefixCounts = new (fMemoryManager) ValueStackOf<unsigned int>(10, fMemoryManager) ;
}
1.19 +4 -1 xml-xerces/c/src/xercesc/parsers/SAXParser.cpp
Index: SAXParser.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAXParser.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- SAXParser.cpp 16 May 2003 21:36:59 -0000 1.18
+++ SAXParser.cpp 18 May 2003 14:02:05 -0000 1.19
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.19 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.18 2003/05/16 21:36:59 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -291,7 +294,7 @@
{
// Create grammar resolver and string pool to pass to scanner
fGrammarResolver = new (fMemoryManager) GrammarResolver(fMemoryManager);
- fURIStringPool = new (fMemoryManager) XMLStringPool();
+ fURIStringPool = new (fMemoryManager) XMLStringPool(109, fMemoryManager);
// Create our scanner and tell it what validator to use
fScanner = XMLScannerResolver::getDefaultScanner(fValidator,fMemoryManager);
1.5 +4 -1 xml-xerces/c/src/xercesc/util/KVStringPair.hpp
Index: KVStringPair.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/KVStringPair.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- KVStringPair.hpp 16 May 2003 06:01:52 -0000 1.4
+++ KVStringPair.hpp 18 May 2003 14:02:05 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/16 06:01:52 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -138,7 +141,7 @@
// -----------------------------------------------------------------------
// Constructors and Destructor
// -----------------------------------------------------------------------
- KVStringPair(MemoryManager* const manager);
+ KVStringPair(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
KVStringPair
(
const XMLCh* const key
1.10 +4 -1 xml-xerces/c/src/xercesc/util/PlatformUtils.cpp
Index: PlatformUtils.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/PlatformUtils.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- PlatformUtils.cpp 30 Apr 2003 16:54:38 -0000 1.9
+++ PlatformUtils.cpp 18 May 2003 14:02:05 -0000 1.10
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.10 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.9 2003/04/30 16:54:38 knoaman
* Initialize xerces with a default memory manager if none is provided.
*
@@ -306,7 +309,7 @@
XMLLCPTranscoder* defXCode = XMLPlatformUtils::fgTransService->makeNewLCPTranscoder();
if (!defXCode)
panic(PanicHandler::Panic_NoDefTranscoder);
- XMLString::initString(defXCode);
+ XMLString::initString(defXCode, fgMemoryManager);
//
// Now lets ask the per-platform code to give us an instance of the type
1.4 +15 -9 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RefHash2KeysTableOf.c 15 May 2003 19:04:35 -0000 1.3
+++ RefHash2KeysTableOf.c 18 May 2003 14:02:05 -0000 1.4
@@ -56,6 +56,9 @@
/**
* $Log$
+ * Revision 1.4 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.3 2003/05/15 19:04:35 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -98,9 +101,10 @@
// RefHash2KeysTableOf: Constructors and Destructor
// ---------------------------------------------------------------------------
template <class TVal>
-RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf( const unsigned int modulus
- , const bool adoptElems)
- : fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf( const unsigned int modulus
+ , const bool adoptElems
+ , MemoryManager* const manager)
+ : fMemoryManager(manager)
, fAdoptedElems(adoptElems)
, fBucketList(0)
, fHashModulus(modulus)
@@ -113,10 +117,11 @@
}
template <class TVal>
-RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf( const unsigned int modulus
- , const bool adoptElems
- , HashBase* hashBase)
- : fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf( const unsigned int modulus
+ , const bool adoptElems
+ , HashBase* hashBase
+ , MemoryManager* const manager)
+ : fMemoryManager(manager)
, fAdoptedElems(adoptElems)
, fBucketList(0)
, fHashModulus(modulus)
@@ -128,8 +133,9 @@
}
template <class TVal>
-RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf(const unsigned int modulus)
- : fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf(const unsigned int modulus,
+ MemoryManager* const manager)
+ : fMemoryManager(manager)
, fAdoptedElems(true)
, fBucketList(0)
, fHashModulus(modulus)
1.5 +21 -3 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RefHash2KeysTableOf.hpp 15 May 2003 19:04:35 -0000 1.4
+++ RefHash2KeysTableOf.hpp 18 May 2003 14:02:05 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 19:04:35 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -137,13 +140,28 @@
// Constructors and Destructor
// -----------------------------------------------------------------------
// backwards compatability - default hasher is HashXMLCh
- RefHash2KeysTableOf(const unsigned int modulus);
+ RefHash2KeysTableOf
+ (
+ const unsigned int modulus
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
// backwards compatability - default hasher is HashXMLCh
- RefHash2KeysTableOf(const unsigned int modulus, const bool adoptElems);
+ RefHash2KeysTableOf
+ (
+ const unsigned int modulus
+ , const bool adoptElems
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
// if a hash function is passed in, it will be deleted when the hashtable is deleted.
// use a new instance of the hasher class for each hashtable, otherwise one hashtable
// may delete the hasher of a different hashtable if both use the same hasher.
- RefHash2KeysTableOf(const unsigned int modulus, const bool adoptElems, HashBase* hashBase);
+ RefHash2KeysTableOf
+ (
+ const unsigned int modulus
+ , const bool adoptElems
+ , HashBase* hashBase
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
~RefHash2KeysTableOf();
1.10 +12 -6 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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- RefHashTableOf.c 16 May 2003 21:36:59 -0000 1.9
+++ RefHashTableOf.c 18 May 2003 14:02:05 -0000 1.10
@@ -56,6 +56,9 @@
/**
* $Log$
+ * Revision 1.10 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.9 2003/05/16 21:36:59 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -140,9 +143,10 @@
// ---------------------------------------------------------------------------
template <class TVal>
RefHashTableOf<TVal>::RefHashTableOf( const unsigned int modulus
- , const bool adoptElems)
+ , const bool adoptElems
+ , MemoryManager* const manager)
- : fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ : fMemoryManager(manager)
, fAdoptedElems(adoptElems)
, fBucketList(0)
, fHashModulus(modulus)
@@ -159,9 +163,10 @@
template <class TVal>
RefHashTableOf<TVal>::RefHashTableOf( const unsigned int modulus
, const bool adoptElems
- , HashBase* hashBase)
+ , HashBase* hashBase
+ , MemoryManager* const manager)
- : fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ : fMemoryManager(manager)
, fAdoptedElems(adoptElems)
, fBucketList(0)
, fHashModulus(modulus)
@@ -175,9 +180,10 @@
}
template <class TVal>
-RefHashTableOf<TVal>::RefHashTableOf(const unsigned int modulus)
+RefHashTableOf<TVal>::RefHashTableOf(const unsigned int modulus
+ , MemoryManager* const manager)
- : fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ : fMemoryManager(manager)
, fAdoptedElems(true)
, fBucketList(0)
, fHashModulus(modulus)
1.10 +21 -3 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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- RefHashTableOf.hpp 16 May 2003 21:36:59 -0000 1.9
+++ RefHashTableOf.hpp 18 May 2003 14:02:05 -0000 1.10
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.10 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.9 2003/05/16 21:36:59 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -172,13 +175,28 @@
// Constructors and Destructor
// -----------------------------------------------------------------------
// backwards compatability - default hasher is HashXMLCh
- RefHashTableOf(const unsigned int modulus);
+ RefHashTableOf
+ (
+ const unsigned int modulus
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
// backwards compatability - default hasher is HashXMLCh
- RefHashTableOf(const unsigned int modulus, const bool adoptElems);
+ RefHashTableOf
+ (
+ const unsigned int modulus
+ , const bool adoptElems
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
// if a hash function is passed in, it will be deleted when the hashtable is deleted.
// use a new instance of the hasher class for each hashtable, otherwise one hashtable
// may delete the hasher of a different hashtable if both use the same hasher.
- RefHashTableOf(const unsigned int modulus, const bool adoptElems, HashBase* hashBase);
+ RefHashTableOf
+ (
+ const unsigned int modulus
+ , const bool adoptElems
+ , HashBase* hashBase
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
~RefHashTableOf();
1.5 +4 -1 xml-xerces/c/src/xercesc/util/StringPool.cpp
Index: StringPool.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/StringPool.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- StringPool.cpp 16 May 2003 06:01:52 -0000 1.4
+++ StringPool.cpp 18 May 2003 14:02:05 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/16 06:01:52 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -147,7 +150,7 @@
, fCurId(1)
{
// Create the hash table, passing it the modulus
- fHashTable = new (fMemoryManager) RefHashTableOf<PoolElem>(modulus);
+ fHashTable = new (fMemoryManager) RefHashTableOf<PoolElem>(modulus, fMemoryManager);
// Do an initial allocation of the id map and zero it all out
fIdMap = (PoolElem**) fMemoryManager->allocate
1.13 +5 -2 xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.hpp
Index: XMLAbstractDoubleFloat.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.hpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- XMLAbstractDoubleFloat.hpp 16 May 2003 06:01:53 -0000 1.12
+++ XMLAbstractDoubleFloat.hpp 18 May 2003 14:02:05 -0000 1.13
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.13 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.12 2003/05/16 06:01:53 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -181,7 +184,7 @@
//
// To be used by derived class exclusively
//
- XMLAbstractDoubleFloat(MemoryManager* const manager);
+ XMLAbstractDoubleFloat(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
void init(const XMLCh* const strValue);
1.11 +11 -7 xml-xerces/c/src/xercesc/util/XMLDateTime.cpp
Index: XMLDateTime.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLDateTime.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- XMLDateTime.cpp 15 May 2003 19:07:46 -0000 1.10
+++ XMLDateTime.cpp 18 May 2003 14:02:05 -0000 1.11
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.11 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.10 2003/05/15 19:07:46 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -256,8 +259,8 @@
return EQUAL;
//long comparison algorithm is required
- XMLDateTime tempA, *pTempA = &tempA;
- XMLDateTime tempB, *pTempB = &tempB;
+ XMLDateTime tempA(XMLPlatformUtils::fgMemoryManager), *pTempA = &tempA;
+ XMLDateTime tempB(XMLPlatformUtils::fgMemoryManager), *pTempB = &tempB;
addDuration(pTempA, pDate1, 0);
addDuration(pTempB, pDate2, 0);
@@ -473,16 +476,17 @@
fMemoryManager->deallocate(fBuffer);//delete[] fBuffer;
}
-XMLDateTime::XMLDateTime()
+XMLDateTime::XMLDateTime(MemoryManager* const manager)
: fBuffer(0)
-, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+, fMemoryManager(manager)
{
reset();
}
-XMLDateTime::XMLDateTime(const XMLCh* const aString)
+XMLDateTime::XMLDateTime(const XMLCh* const aString,
+ MemoryManager* const manager)
: fBuffer(0)
-, fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+, fMemoryManager(manager)
{
setBuffer(aString);
}
1.8 +7 -5 xml-xerces/c/src/xercesc/util/XMLDateTime.hpp
Index: XMLDateTime.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLDateTime.hpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLDateTime.hpp 15 May 2003 19:07:46 -0000 1.7
+++ XMLDateTime.hpp 18 May 2003 14:02:05 -0000 1.8
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.8 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.7 2003/05/15 19:07:46 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -132,10 +135,9 @@
// ctors and dtor
// -----------------------------------------------------------------------
- XMLDateTime();
-
- XMLDateTime(const XMLCh* const);
-
+ XMLDateTime(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+ XMLDateTime(const XMLCh* const,
+ MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
~XMLDateTime();
inline void setBuffer(const XMLCh* const);
1.23 +32 -12 xml-xerces/c/src/xercesc/util/XMLString.cpp
Index: XMLString.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLString.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- XMLString.cpp 15 May 2003 19:07:46 -0000 1.22
+++ XMLString.cpp 18 May 2003 14:02:05 -0000 1.23
@@ -75,7 +75,6 @@
#include <xercesc/util/RuntimeException.hpp>
#include <xercesc/util/TransService.hpp>
#include <xercesc/util/TranscodingException.hpp>
-#include <xercesc/util/ValueArrayOf.hpp>
#include <xercesc/util/XMLString.hpp>
#include <xercesc/util/XMLUniDefs.hpp>
#include <xercesc/util/XMLUni.hpp>
@@ -97,6 +96,8 @@
chOpenCurly, chLatin_n, chLatin_u, chLatin_l, chLatin_l, chCloseCurly, chNull
};
+MemoryManager* XMLString::fgMemoryManager = 0;
+
// ---------------------------------------------------------------------------
// XMLString: Public static methods
@@ -1419,8 +1420,8 @@
BaseRefVectorOf<XMLCh>* XMLString::tokenizeString(const XMLCh* const tokenizeSrc)
{
- XMLCh* orgText = replicate(tokenizeSrc);
- ArrayJanitor<XMLCh> janText(orgText);
+ XMLCh* orgText = replicate(tokenizeSrc, fgMemoryManager);
+ ArrayJanitor<XMLCh> janText(orgText, fgMemoryManager);
XMLCh* tokenizeStr = orgText;
RefArrayVectorOf<XMLCh>* tokenStack = new RefArrayVectorOf<XMLCh>(16, true);
@@ -1451,7 +1452,10 @@
// these tokens are adopted in the RefVector and will be deleted
// when the vector is deleted by the caller
- XMLCh* token = new XMLCh[skip+1-index];
+ XMLCh* token = (XMLCh*) fgMemoryManager->allocate
+ (
+ (skip+1-index) * sizeof(XMLCh)
+ );//new XMLCh[skip+1-index];
XMLString::subString(token, tokenizeStr, index, skip);
tokenStack->addElement(token);
@@ -1552,7 +1556,10 @@
if (strLen == 0)
return;
- XMLCh* retBuf = new XMLCh[strLen+1];
+ XMLCh* retBuf = (XMLCh*) fgMemoryManager->allocate
+ (
+ (strLen+1) * sizeof(XMLCh)
+ );//new XMLCh[strLen+1];
XMLCh* retPtr = &(retBuf[0]);
XMLCh* startPtr = toConvert;
@@ -1572,7 +1579,7 @@
retBuf[strLen] = chNull;
XMLString::moveChars(toConvert, retBuf, strLen);
- delete[] retBuf;
+ fgMemoryManager->deallocate(retBuf);//delete[] retBuf;
return;
}
@@ -1648,7 +1655,10 @@
//
// Work through what remains and chop continuous spaces
//
- XMLCh* retBuf = new XMLCh[endPtr - startPtr + 1];
+ XMLCh* retBuf = (XMLCh*) fgMemoryManager->allocate
+ (
+ (endPtr - startPtr + 1) * sizeof(XMLCh)
+ );//new XMLCh[endPtr - startPtr + 1];
XMLCh* retPtr = &(retBuf[0]);
bool inSpace = false;
while (startPtr < endPtr)
@@ -1678,7 +1688,7 @@
*retPtr = chNull;
XMLString::moveChars(toConvert, retBuf, stringLen(retBuf)+1); //copy the last chNull as well
- delete[] retBuf;
+ fgMemoryManager->deallocate(retBuf);//delete[] retBuf;
return;
}
@@ -1691,7 +1701,10 @@
if (( !toConvert ) || ( !*toConvert ))
return;
- XMLCh* retBuf = new XMLCh[ XMLString::stringLen(toConvert) + 1];
+ XMLCh* retBuf = (XMLCh*) fgMemoryManager->allocate
+ (
+ (XMLString::stringLen(toConvert) + 1) * sizeof(XMLCh)
+ );//new XMLCh[ XMLString::stringLen(toConvert) + 1];
XMLCh* retPtr = &(retBuf[0]);
XMLCh* startPtr = toConvert;
@@ -1711,7 +1724,7 @@
*retPtr = chNull;
XMLString::moveChars(toConvert, retBuf, stringLen(retBuf)+1); //copy the last chNull as well
- delete[] retBuf;
+ fgMemoryManager->deallocate(retBuf);//delete[] retBuf;
return;
}
@@ -1802,10 +1815,14 @@
// ---------------------------------------------------------------------------
// XMLString: Private static methods
// ---------------------------------------------------------------------------
-void XMLString::initString(XMLLCPTranscoder* const defToUse)
+void XMLString::initString(XMLLCPTranscoder* const defToUse,
+ MemoryManager* const manager)
{
// Store away the default transcoder that we are to use
gTranscoder = defToUse;
+
+ // Store memory manager
+ fgMemoryManager = manager;
}
void XMLString::termString()
@@ -1813,6 +1830,9 @@
// Just clean up our local code page transcoder
delete gTranscoder;
gTranscoder = 0;
+
+ // reset memory manager
+ fgMemoryManager = 0;
}
XERCES_CPP_NAMESPACE_END
1.17 +7 -1 xml-xerces/c/src/xercesc/util/XMLString.hpp
Index: XMLString.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLString.hpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- XMLString.hpp 15 May 2003 19:07:46 -0000 1.16
+++ XMLString.hpp 18 May 2003 14:02:05 -0000 1.17
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.17 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.16 2003/05/15 19:07:46 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -1455,7 +1458,8 @@
/** @name Initialization */
//@{
/** Init/Term methods called from XMLPlatformUtils class */
- static void initString(XMLLCPTranscoder* const defToUse);
+ static void initString(XMLLCPTranscoder* const defToUse,
+ MemoryManager* const manager);
static void termString();
//@}
@@ -1466,6 +1470,8 @@
static bool validateRegion(const XMLCh* const str1, const int offset1,
const XMLCh* const str2, const int offset2,
const unsigned int charCount);
+
+ static MemoryManager* fgMemoryManager;
friend class XMLPlatformUtils;
};
1.5 +5 -2 xml-xerces/c/src/xercesc/util/XMLStringTokenizer.cpp
Index: XMLStringTokenizer.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLStringTokenizer.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLStringTokenizer.cpp 16 May 2003 03:11:22 -0000 1.4
+++ XMLStringTokenizer.cpp 18 May 2003 14:02:05 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:05 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/16 03:11:22 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -105,7 +108,7 @@
fDelimeters = XMLString::replicate(fgDelimeters, fMemoryManager);
if (fStringLen > 0) {
- fTokens = new (fMemoryManager) RefArrayVectorOf<XMLCh>(4, true);
+ fTokens = new (fMemoryManager) RefArrayVectorOf<XMLCh>(4, true, fMemoryManager);
}
}
catch(...) {
@@ -127,7 +130,7 @@
fDelimeters = XMLString::replicate(delim, fMemoryManager);
if (fStringLen > 0) {
- fTokens = new (fMemoryManager) RefArrayVectorOf<XMLCh>(4, true);
+ fTokens = new (fMemoryManager) RefArrayVectorOf<XMLCh>(4, true, fMemoryManager);
}
}
catch(...) {
1.9 +2 -2 xml-xerces/c/src/xercesc/util/XMLURL.hpp
Index: XMLURL.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLURL.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- XMLURL.hpp 16 May 2003 14:09:42 -0000 1.8
+++ XMLURL.hpp 18 May 2003 14:02:05 -0000 1.9
@@ -131,7 +131,7 @@
XMLURL
(
const char* const urlText
- , MemoryManager* const manager
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
);
XMLURL(const XMLURL& toCopy);
virtual ~XMLURL();
1.4 +4 -1 xml-xerces/c/src/xercesc/util/regx/Op.cpp
Index: Op.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/Op.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Op.cpp 16 May 2003 00:03:10 -0000 1.3
+++ Op.cpp 18 May 2003 14:02:06 -0000 1.4
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.4 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.3 2003/05/16 00:03:10 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -184,7 +187,7 @@
// ---------------------------------------------------------------------------
UnionOp::UnionOp(const short type, const int size, MemoryManager* const manager)
: Op(type)
- , fBranches(new (manager) RefVectorOf<Op> (size, false)) {
+ , fBranches(new (manager) RefVectorOf<Op> (size, false, manager)) {
}
1.6 +4 -1 xml-xerces/c/src/xercesc/util/regx/OpFactory.cpp
Index: OpFactory.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/OpFactory.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- OpFactory.cpp 16 May 2003 00:03:10 -0000 1.5
+++ OpFactory.cpp 18 May 2003 14:02:06 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 00:03:10 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -98,7 +101,7 @@
fOpVector(0)
, fMemoryManager(manager)
{
- fOpVector = new (fMemoryManager) RefVectorOf<Op>(16, true);
+ fOpVector = new (fMemoryManager) RefVectorOf<Op>(16, true, fMemoryManager);
}
OpFactory::~OpFactory() {
1.5 +4 -1 xml-xerces/c/src/xercesc/util/regx/RangeTokenMap.cpp
Index: RangeTokenMap.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/RangeTokenMap.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RangeTokenMap.cpp 15 May 2003 19:10:23 -0000 1.4
+++ RangeTokenMap.cpp 18 May 2003 14:02:06 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 19:10:23 knoaman
* Add missing include.
*
@@ -281,7 +284,7 @@
fTokenFactory = new TokenFactory();
fTokenRegistry = new RefHashTableOf<RangeTokenElemMap>(109);
fRangeMap = new RefHashTableOf<RangeFactory>(29);
- fCategories = new XMLStringPool();
+ fCategories = new XMLStringPool(109);
fRegistryInitialized = true;
}
}
1.12 +5 -2 xml-xerces/c/src/xercesc/util/regx/RegularExpression.cpp
Index: RegularExpression.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/RegularExpression.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- RegularExpression.cpp 16 May 2003 21:37:00 -0000 1.11
+++ RegularExpression.cpp 18 May 2003 14:02:06 -0000 1.12
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.12 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.11 2003/05/16 21:37:00 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -696,7 +699,7 @@
if (fOperations == 0)
prepare();
- RefArrayVectorOf<XMLCh>* tokenStack = new (fMemoryManager) RefArrayVectorOf<XMLCh>(16, true);
+ RefArrayVectorOf<XMLCh>* tokenStack = new (fMemoryManager) RefArrayVectorOf<XMLCh>(16, true, fMemoryManager);
Context* context = 0;
Context* tmpContext = 0;
@@ -869,7 +872,7 @@
ThrowXML(RuntimeException, XMLExcepts::Regex_RepPatMatchesZeroString);
}
- RefVectorOf<Match> *subEx = new (fMemoryManager) RefVectorOf<Match>(10, true);
+ RefVectorOf<Match> *subEx = new (fMemoryManager) RefVectorOf<Match>(10, true, fMemoryManager);
Janitor<RefVectorOf<Match> > janSubEx(subEx);
//Call to tokenize with Match vector so that we keep track of the locations
1.9 +5 -2 xml-xerces/c/src/xercesc/util/regx/RegxParser.cpp
Index: RegxParser.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/RegxParser.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- RegxParser.cpp 16 May 2003 00:03:10 -0000 1.8
+++ RegxParser.cpp 18 May 2003 14:02:06 -0000 1.9
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.9 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.8 2003/05/16 00:03:10 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -656,7 +659,7 @@
fHasBackReferences = true;
if (fReferences == 0) {
- this->fReferences = new (fMemoryManager) RefVectorOf<ReferencePosition>(8, true);
+ this->fReferences = new (fMemoryManager) RefVectorOf<ReferencePosition>(8, true, fMemoryManager);
}
fReferences->addElement(new (fMemoryManager) ReferencePosition(refNo, fOffset));
@@ -848,7 +851,7 @@
fHasBackReferences = true;
if (fReferences == 0) {
- fReferences = new (fMemoryManager) RefVectorOf<ReferencePosition>(8, true);
+ fReferences = new (fMemoryManager) RefVectorOf<ReferencePosition>(8, true, fMemoryManager);
}
fReferences->addElement(new (fMemoryManager) ReferencePosition(refNo, fOffset - 2));
1.8 +4 -1 xml-xerces/c/src/xercesc/util/regx/TokenFactory.cpp
Index: TokenFactory.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/TokenFactory.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- TokenFactory.cpp 16 May 2003 21:37:00 -0000 1.7
+++ TokenFactory.cpp 18 May 2003 14:02:06 -0000 1.8
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.8 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.7 2003/05/16 21:37:00 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -126,7 +129,7 @@
// TokenFactory: Constructors and Destructor
// ---------------------------------------------------------------------------
TokenFactory::TokenFactory(MemoryManager* const manager) :
- fTokens(new (manager) RefVectorOf<Token> (16, true))
+ fTokens(new (manager) RefVectorOf<Token> (16, true, manager))
, fEmpty(0)
, fLineBegin(0)
, fLineBegin2(0)
1.6 +4 -1 xml-xerces/c/src/xercesc/util/regx/UnionToken.cpp
Index: UnionToken.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/UnionToken.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- UnionToken.cpp 16 May 2003 21:37:00 -0000 1.5
+++ UnionToken.cpp 18 May 2003 14:02:06 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 21:37:00 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -138,7 +141,7 @@
return;
if (fChildren == 0)
- fChildren = new (tokFactory->getMemoryManager()) RefVectorOf<Token>(INITIALSIZE, false);
+ fChildren = new (tokFactory->getMemoryManager()) RefVectorOf<Token>(INITIALSIZE, false, tokFactory->getMemoryManager());
if (getTokenType() == T_UNION) {
1.5 +24 -6 xml-xerces/c/src/xercesc/util/regx/XMLRangeFactory.cpp
Index: XMLRangeFactory.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/XMLRangeFactory.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLRangeFactory.cpp 4 Nov 2002 15:17:01 -0000 1.4
+++ XMLRangeFactory.cpp 18 May 2003 14:02:06 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2002/11/04 15:17:01 tng
* C++ Namespace Support.
*
@@ -174,7 +177,10 @@
// Create space ranges
unsigned int wsTblLen = getTableLen(gWhitespaceChars);
RangeToken* tok = tokFactory->createRange();
- XMLInt32* wsRange = new XMLInt32[wsTblLen];
+ XMLInt32* wsRange = (XMLInt32*) XMLPlatformUtils::fgMemoryManager->allocate
+ (
+ wsTblLen * sizeof(XMLInt32)
+ );//new XMLInt32[wsTblLen];
tok->setRangeValues(wsRange, wsTblLen);
setupRange(wsRange, gWhitespaceChars, 0);
@@ -183,7 +189,10 @@
// Create digits ranges
tok = tokFactory->createRange();
unsigned int digitTblLen = getTableLen(gDigitChars);
- XMLInt32* digitRange = new XMLInt32[digitTblLen];
+ XMLInt32* digitRange = (XMLInt32*) XMLPlatformUtils::fgMemoryManager->allocate
+ (
+ digitTblLen * sizeof(XMLInt32)
+ );//new XMLInt32[digitTblLen];
tok->setRangeValues(digitRange, digitTblLen);
setupRange(digitRange, gDigitChars, 0);
@@ -193,8 +202,11 @@
unsigned int baseTblLen = getTableLen(gBaseChars);
unsigned int ideoTblLen = getTableLen(gIdeographicChars);
unsigned int wordRangeLen = baseTblLen + ideoTblLen + digitTblLen;
- XMLInt32* wordRange = new XMLInt32[wordRangeLen];
- ArrayJanitor<XMLInt32> janWordRange(wordRange);
+ XMLInt32* wordRange = (XMLInt32*) XMLPlatformUtils::fgMemoryManager->allocate
+ (
+ wordRangeLen * sizeof(XMLInt32)
+ );//new XMLInt32[wordRangeLen];
+ ArrayJanitor<XMLInt32> janWordRange(wordRange, XMLPlatformUtils::fgMemoryManager);
setupRange(wordRange, gBaseChars, 0);
setupRange(wordRange, gIdeographicChars, baseTblLen);
@@ -205,7 +217,10 @@
unsigned int combTblLen = getTableLen(gCombiningChars);
unsigned int extTblLen = getTableLen(gExtenderChars);
unsigned int nameTblLen = wordRangeLen + combTblLen + extTblLen;
- XMLInt32* nameRange = new XMLInt32[nameTblLen + 8];
+ XMLInt32* nameRange = (XMLInt32*) XMLPlatformUtils::fgMemoryManager->allocate
+ (
+ (nameTblLen + 8) * sizeof(XMLInt32)
+ );//new XMLInt32[nameTblLen + 8];
tok->setRangeValues(nameRange, nameTblLen + 8);
memcpy(nameRange, wordRange, wordRangeLen * sizeof(XMLInt32));
@@ -226,7 +241,10 @@
// Create initialNameChar ranges
tok = tokFactory->createRange();
unsigned int initialNameTblLen = baseTblLen + ideoTblLen;
- XMLInt32* initialNameRange = new XMLInt32[initialNameTblLen + 4];
+ XMLInt32* initialNameRange = (XMLInt32*) XMLPlatformUtils::fgMemoryManager->allocate
+ (
+ (initialNameTblLen + 4) * sizeof(XMLInt32)
+ );//new XMLInt32[initialNameTblLen + 4];
tok->setRangeValues(initialNameRange, initialNameTblLen + 4);
memcpy(initialNameRange, wordRange, initialNameTblLen * sizeof(XMLInt32));
1.5 +6 -3 xml-xerces/c/src/xercesc/validators/DTD/DTDElementDecl.cpp
Index: DTDElementDecl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDElementDecl.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DTDElementDecl.cpp 16 May 2003 21:43:19 -0000 1.4
+++ DTDElementDecl.cpp 18 May 2003 14:02:06 -0000 1.5
@@ -182,7 +182,7 @@
if (!fAttDefs)
faultInAttDefList();
- ((DTDElementDecl*)this)->fAttList = new DTDAttDefList(fAttDefs);
+ ((DTDElementDecl*)this)->fAttList = new (getMemoryManager()) DTDAttDefList(fAttDefs);
}
// Reset it before we return it
@@ -391,6 +391,7 @@
, specNode->getElement()
, 0
, ContentSpecNode::Leaf
+ , getMemoryManager()
);
}
else if ((specNode->getType() == ContentSpecNode::Choice)
@@ -409,6 +410,7 @@
, specNode->getFirst()->getElement()
, specNode->getSecond()->getElement()
, specNode->getType()
+ , getMemoryManager()
);
}
}
@@ -429,6 +431,7 @@
, specNode->getFirst()->getElement()
, 0
, specNode->getType()
+ , getMemoryManager()
);
}
}
@@ -450,7 +453,7 @@
void DTDElementDecl::faultInAttDefList() const
{
// Use a hash modulus of 29 and tell it owns its elements
- ((DTDElementDecl*)this)->fAttDefs = new (getMemoryManager()) RefHashTableOf<DTDAttDef>(29, true);
+ ((DTDElementDecl*)this)->fAttDefs = new (getMemoryManager()) RefHashTableOf<DTDAttDef>(29, true, getMemoryManager());
}
XERCES_CPP_NAMESPACE_END
1.6 +7 -4 xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.cpp
Index: DTDGrammar.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DTDGrammar.cpp 15 May 2003 18:54:50 -0000 1.5
+++ DTDGrammar.cpp 18 May 2003 14:02:06 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/15 18:54:50 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -112,10 +115,10 @@
// <TBD> Investigate what the optimum values would be for the various
// pools.
//
- fElemDeclPool = new (fMemoryManager) NameIdPool<DTDElementDecl>(109);
- fElemNonDeclPool = new (fMemoryManager) NameIdPool<DTDElementDecl>(29);
- fEntityDeclPool = new (fMemoryManager) NameIdPool<DTDEntityDecl>(109);
- fNotationDeclPool = new (fMemoryManager) NameIdPool<XMLNotationDecl>(109);
+ fElemDeclPool = new (fMemoryManager) NameIdPool<DTDElementDecl>(109, 128, fMemoryManager);
+ fElemNonDeclPool = new (fMemoryManager) NameIdPool<DTDElementDecl>(29, 128, fMemoryManager);
+ fEntityDeclPool = new (fMemoryManager) NameIdPool<DTDEntityDecl>(109, 128, fMemoryManager);
+ fNotationDeclPool = new (fMemoryManager) NameIdPool<XMLNotationDecl>(109, 128, fMemoryManager);
//
// Call our own reset method. This lets us have the pool setup stuff
1.27 +79 -13 xml-xerces/c/src/xercesc/validators/DTD/DTDScanner.cpp
Index: DTDScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDScanner.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- DTDScanner.cpp 16 May 2003 21:43:19 -0000 1.26
+++ DTDScanner.cpp 18 May 2003 14:02:06 -0000 1.27
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.27 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.26 2003/05/16 21:43:19 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -264,6 +267,9 @@
ContentSpecNode::ZeroOrOne
, prevNode
, 0
+ , true
+ , true
+ , manager
);
}
else if (testCh == chPlus)
@@ -273,6 +279,9 @@
ContentSpecNode::OneOrMore
, prevNode
, 0
+ , true
+ , true
+ , manager
);
}
else if (testCh == chAsterisk)
@@ -282,6 +291,9 @@
ContentSpecNode::ZeroOrMore
, prevNode
, 0
+ , true
+ , true
+ , manager
);
}
@@ -306,7 +318,7 @@
, fPEntityDeclPool(0)
, fDocTypeReaderId(0)
{
- fPEntityDeclPool = new NameIdPool<DTDEntityDecl>(109);
+ fPEntityDeclPool = new (fMemoryManager) NameIdPool<DTDEntityDecl>(109, 128, fMemoryManager);
}
DTDScanner::~DTDScanner()
@@ -1280,7 +1292,11 @@
decl->setExternalElemDeclaration(isReadingExternalEntity());
fDTDGrammar->putElemDecl(decl);
}
- curNode = new (fMemoryManager) ContentSpecNode(decl->getElementName());
+ curNode = new (fMemoryManager) ContentSpecNode
+ (
+ decl->getElementName()
+ , fMemoryManager
+ );
// Check for a PE ref here, but don't require spaces
const bool gotSpaces = checkForPERef(false, false, true);
@@ -1329,13 +1345,29 @@
if (opCh == chComma)
{
curType = ContentSpecNode::Sequence;
- headNode = new (fMemoryManager) ContentSpecNode(curType, curNode, 0);
+ headNode = new (fMemoryManager) ContentSpecNode
+ (
+ curType
+ , curNode
+ , 0
+ , true
+ , true
+ , fMemoryManager
+ );
curNode = headNode;
}
else if (opCh == chPipe)
{
curType = ContentSpecNode::Choice;
- headNode = new (fMemoryManager) ContentSpecNode(curType, curNode, 0);
+ headNode = new (fMemoryManager) ContentSpecNode
+ (
+ curType
+ , curNode
+ , 0
+ , true
+ , true
+ , fMemoryManager
+ );
curNode = headNode;
}
else
@@ -1413,11 +1445,14 @@
fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE);
// Else patch it in and make it the new current
- ContentSpecNode* newCur = new ContentSpecNode
+ ContentSpecNode* newCur = new (fMemoryManager) ContentSpecNode
(
curType
, subNode
, 0
+ , true
+ , true
+ , fMemoryManager
);
curNode->setSecond(newCur);
lastNode = curNode;
@@ -1457,7 +1492,11 @@
fDTDGrammar->putElemDecl(decl);
}
- ContentSpecNode* tmpLeaf = new (fMemoryManager) ContentSpecNode(decl->getElementName());
+ ContentSpecNode* tmpLeaf = new (fMemoryManager) ContentSpecNode
+ (
+ decl->getElementName()
+ , fMemoryManager
+ );
// Check for a repetition character after the leaf
const XMLCh repCh = fReaderMgr->peekNextChar();
@@ -1476,6 +1515,9 @@
curType
, tmpLeaf2
, 0
+ , true
+ , true
+ , fMemoryManager
);
curNode->setSecond(newCur);
lastNode = curNode;
@@ -3314,11 +3356,18 @@
// PCDATA element id. This current node pointer will be pushed down the
// tree as we go.
//
- ContentSpecNode* curNode =
- new (fMemoryManager) ContentSpecNode(new (fMemoryManager) QName(XMLUni::fgZeroLenString,
- XMLUni::fgZeroLenString,
- XMLElementDecl::fgPCDataElemId),
- false);
+ ContentSpecNode* curNode = new (fMemoryManager) ContentSpecNode
+ (
+ new (fMemoryManager) QName
+ (
+ XMLUni::fgZeroLenString
+ , XMLUni::fgZeroLenString
+ , XMLElementDecl::fgPCDataElemId
+ , fMemoryManager
+ )
+ , false
+ , fMemoryManager
+ );
//
// Set the initial leaf as the temporary head. If we hit the first choice
@@ -3390,6 +3439,9 @@
ContentSpecNode::ZeroOrMore
, headNode
, 0
+ , true
+ , true
+ , fMemoryManager
);
}
@@ -3447,7 +3499,14 @@
(
ContentSpecNode::Choice
, curNode
- , new (fMemoryManager) ContentSpecNode(decl->getElementName())
+ , new (fMemoryManager) ContentSpecNode
+ (
+ decl->getElementName()
+ , fMemoryManager
+ )
+ , true
+ , true
+ , fMemoryManager
);
// Remember the top node
@@ -3462,7 +3521,14 @@
(
ContentSpecNode::Choice
, oldRight
- , new (fMemoryManager) ContentSpecNode(decl->getElementName())
+ , new (fMemoryManager) ContentSpecNode
+ (
+ decl->getElementName()
+ , fMemoryManager
+ )
+ , true
+ , true
+ , fMemoryManager
)
);
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/common/AllContentModel.cpp
Index: AllContentModel.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/AllContentModel.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AllContentModel.cpp 15 May 2003 18:48:27 -0000 1.4
+++ AllContentModel.cpp 18 May 2003 14:02:06 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:48:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -113,8 +116,8 @@
// 99% of the scenarios.
//
- ValueVectorOf<QName*> children(64);
- ValueVectorOf<bool> childOptional(64);
+ ValueVectorOf<QName*> children(64, fMemoryManager);
+ ValueVectorOf<bool> childOptional(64, fMemoryManager);
//
// Get the parent element's content spec. This is the head of the tree
1.5 +5 -0 xml-xerces/c/src/xercesc/validators/common/CMLeaf.hpp
Index: CMLeaf.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/CMLeaf.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CMLeaf.hpp 16 May 2003 21:43:20 -0000 1.4
+++ CMLeaf.hpp 18 May 2003 14:02:06 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/16 21:43:20 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -219,6 +222,7 @@
XMLUni::fgZeroLenString
, XMLUni::fgZeroLenString
, XMLElementDecl::fgInvalidElemId
+ , fMemoryManager
);
// We have to be responsible for this QName - override default fAdopt
fAdopt = true;
@@ -245,6 +249,7 @@
XMLUni::fgZeroLenString
, XMLUni::fgZeroLenString
, XMLElementDecl::fgInvalidElemId
+ , fMemoryManager
);
// We have to be responsible for this QName - override adopt parameter
fAdopt = true;
1.8 +2 -2 xml-xerces/c/src/xercesc/validators/common/ContentSpecNode.cpp
Index: ContentSpecNode.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/ContentSpecNode.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ContentSpecNode.cpp 15 May 2003 18:48:27 -0000 1.7
+++ ContentSpecNode.cpp 18 May 2003 14:02:06 -0000 1.8
@@ -82,7 +82,7 @@
// ---------------------------------------------------------------------------
ContentSpecNode::ContentSpecNode(const ContentSpecNode& toCopy) :
- fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ fMemoryManager(toCopy.fMemoryManager)
{
const QName* tempElement = toCopy.getElement();
if (tempElement)
1.7 +32 -16 xml-xerces/c/src/xercesc/validators/common/ContentSpecNode.hpp
Index: ContentSpecNode.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/ContentSpecNode.hpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ContentSpecNode.hpp 15 May 2003 18:48:27 -0000 1.6
+++ ContentSpecNode.hpp 18 May 2003 14:02:06 -0000 1.7
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.7 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.6 2003/05/15 18:48:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -202,9 +205,18 @@
// -----------------------------------------------------------------------
// Constructors and Destructor
// -----------------------------------------------------------------------
- ContentSpecNode();
- ContentSpecNode(QName* const toAdopt);
- ContentSpecNode(QName* const toAdopt, const bool copyQName);
+ ContentSpecNode(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+ ContentSpecNode
+ (
+ QName* const toAdopt
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
+ ContentSpecNode
+ (
+ QName* const toAdopt
+ , const bool copyQName
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
+ );
ContentSpecNode
(
const NodeTypes type
@@ -212,6 +224,7 @@
, ContentSpecNode* const secondToAdopt
, const bool adoptFirst = true
, const bool adoptSecond = true
+ , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
);
ContentSpecNode(const ContentSpecNode&);
~ContentSpecNode();
@@ -313,9 +326,9 @@
// ---------------------------------------------------------------------------
// ContentSpecNode: Constructors and Destructor
// ---------------------------------------------------------------------------
-inline ContentSpecNode::ContentSpecNode() :
+inline ContentSpecNode::ContentSpecNode(MemoryManager* const manager) :
- fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ fMemoryManager(manager)
, fElement(0)
, fFirst(0)
, fSecond(0)
@@ -328,9 +341,10 @@
}
inline
-ContentSpecNode::ContentSpecNode(QName* const element) :
+ContentSpecNode::ContentSpecNode(QName* const element,
+ MemoryManager* const manager) :
- fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ fMemoryManager(manager)
, fElement(0)
, fFirst(0)
, fSecond(0)
@@ -345,10 +359,11 @@
}
inline
-ContentSpecNode::ContentSpecNode(QName* const element
- , const bool copyQName) :
+ContentSpecNode::ContentSpecNode( QName* const element
+ , const bool copyQName
+ , MemoryManager* const manager) :
- fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ fMemoryManager(manager)
, fElement(0)
, fFirst(0)
, fSecond(0)
@@ -370,13 +385,14 @@
}
inline
-ContentSpecNode::ContentSpecNode(const NodeTypes type
- , ContentSpecNode* const firstAdopt
- , ContentSpecNode* const secondAdopt
- , const bool adoptFirst
- , const bool adoptSecond) :
+ContentSpecNode::ContentSpecNode(const NodeTypes type
+ , ContentSpecNode* const firstAdopt
+ , ContentSpecNode* const secondAdopt
+ , const bool adoptFirst
+ , const bool adoptSecond
+ , MemoryManager* const manager) :
- fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ fMemoryManager(manager)
, fElement(0)
, fFirst(firstAdopt)
, fSecond(secondAdopt)
1.7 +7 -1 xml-xerces/c/src/xercesc/validators/common/DFAContentModel.cpp
Index: DFAContentModel.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/DFAContentModel.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DFAContentModel.cpp 16 May 2003 21:43:20 -0000 1.6
+++ DFAContentModel.cpp 18 May 2003 14:02:06 -0000 1.7
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.7 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.6 2003/05/16 21:43:20 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -553,6 +556,7 @@
XMLUni::fgZeroLenString
, XMLUni::fgZeroLenString
, XMLContentModel::gEOCFakeId
+ , fMemoryManager
)
, ~0
, true
@@ -645,7 +649,7 @@
for (unsigned int outIndex = 0; outIndex < fLeafCount; outIndex++)
{
- fElemMap[outIndex] = new (fMemoryManager) QName();
+ fElemMap[outIndex] = new (fMemoryManager) QName(fMemoryManager);
if ( (fLeafListType[outIndex] & 0x0f) != ContentSpecNode::Leaf )
if (!fLeafNameTypeVector)
@@ -796,6 +800,7 @@
curArraySize
, true
, new (fMemoryManager) HashCMStateSet()
+ , fMemoryManager
);
//stateTable->put((CMStateSet*)setT, new (fMemoryManager) XMLInteger(0));
@@ -1232,6 +1237,7 @@
XMLUni::fgZeroLenString
, XMLUni::fgZeroLenString
, ((CMAny*) nodeCur)->getURI()
+ , fMemoryManager
)
, ((CMAny*)nodeCur)->getPosition()
, true
1.8 +8 -4 xml-xerces/c/src/xercesc/validators/common/GrammarResolver.cpp
Index: GrammarResolver.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/GrammarResolver.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- GrammarResolver.cpp 16 May 2003 21:43:20 -0000 1.7
+++ GrammarResolver.cpp 18 May 2003 14:02:06 -0000 1.8
@@ -57,6 +57,9 @@
/*
* $Log$
+ * Revision 1.8 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.7 2003/05/16 21:43:20 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -108,12 +111,13 @@
GrammarResolver::GrammarResolver(MemoryManager* const manager) :
fCacheGrammar(false)
, fUseCachedGrammar(false)
+ , fStringPool(109, manager)
, fGrammarRegistry(0)
, fCachedGrammarRegistry(0)
, fDataTypeReg(0)
, fMemoryManager(manager)
{
- fGrammarRegistry = new (manager) RefHashTableOf<Grammar>(29, true);
+ fGrammarRegistry = new (manager) RefHashTableOf<Grammar>(29, true, manager);
}
GrammarResolver::~GrammarResolver()
@@ -212,7 +216,7 @@
void GrammarResolver::cacheGrammars()
{
RefHashTableOfEnumerator<Grammar> grammarEnum(fGrammarRegistry);
- ValueVectorOf<XMLCh*> keys(8);
+ ValueVectorOf<XMLCh*> keys(8, fMemoryManager);
unsigned int keyCount = 0;
//Check if a grammar has already been cached.
@@ -229,7 +233,7 @@
}
if (!fCachedGrammarRegistry)
- fCachedGrammarRegistry = new (fMemoryManager) RefHashTableOf<Grammar>(29, true);
+ fCachedGrammarRegistry = new (fMemoryManager) RefHashTableOf<Grammar>(29, true, fMemoryManager);
// Cache
for (unsigned int i=0; i<keyCount; i++) {
@@ -247,7 +251,7 @@
void GrammarResolver::cacheGrammarFromParse(const bool aValue) {
if (aValue && !fCachedGrammarRegistry) {
- fCachedGrammarRegistry = new (fMemoryManager) RefHashTableOf<Grammar>(29, true);
+ fCachedGrammarRegistry = new (fMemoryManager) RefHashTableOf<Grammar>(29, true, fMemoryManager);
}
fCacheGrammar = aValue;
1.6 +5 -2 xml-xerces/c/src/xercesc/validators/common/MixedContentModel.cpp
Index: MixedContentModel.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/MixedContentModel.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MixedContentModel.cpp 16 May 2003 21:43:20 -0000 1.5
+++ MixedContentModel.cpp 18 May 2003 14:02:06 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 21:43:20 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -169,8 +172,8 @@
// it an initial capacity of 64 which should be more than enough for
// 99% of the scenarios.
//
- ValueVectorOf<QName*> children(64);
- ValueVectorOf<ContentSpecNode::NodeTypes> childTypes(64);
+ ValueVectorOf<QName*> children(64, fMemoryManager);
+ ValueVectorOf<ContentSpecNode::NodeTypes> childTypes(64, fMemoryManager);
//
// Get the parent element's content spec. This is the head of the tree
1.6 +9 -4 xml-xerces/c/src/xercesc/validators/common/SimpleContentModel.hpp
Index: SimpleContentModel.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/SimpleContentModel.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SimpleContentModel.hpp 15 May 2003 18:48:27 -0000 1.5
+++ SimpleContentModel.hpp 18 May 2003 14:02:06 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:06 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/15 18:48:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -168,6 +171,7 @@
, QName* const firstChild
, QName* const secondChild
, const ContentSpecNode::NodeTypes cmOp
+ , MemoryManager* const manager
);
~SimpleContentModel();
@@ -249,6 +253,7 @@
, QName* const firstChild
, QName* const secondChild
, const ContentSpecNode::NodeTypes cmOp
+ , MemoryManager* const manager
)
: fFirstChild(0)
, fSecondChild(0)
@@ -256,14 +261,14 @@
, fDTD(dtd)
{
if (firstChild)
- fFirstChild = new (XMLPlatformUtils::fgMemoryManager) QName(*firstChild);
+ fFirstChild = new (manager) QName(*firstChild);
else
- fFirstChild = new (XMLPlatformUtils::fgMemoryManager) QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
+ fFirstChild = new (manager) QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId, manager);
if (secondChild)
- fSecondChild = new (XMLPlatformUtils::fgMemoryManager) QName(*secondChild);
+ fSecondChild = new (manager) QName(*secondChild);
else
- fSecondChild = new (XMLPlatformUtils::fgMemoryManager) QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
+ fSecondChild = new (manager) QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId, manager);
}
inline SimpleContentModel::~SimpleContentModel()
1.6 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp
Index: AnyURIDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AnyURIDatatypeValidator.cpp 16 May 2003 06:01:57 -0000 1.5
+++ AnyURIDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.6
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.6 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 06:01:57 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -204,7 +207,7 @@
try
{
if (!fTempURI)
- fTempURI = new XMLUri(BASE_URI, fMemoryManager);
+ fTempURI = new (fMemoryManager) XMLUri(BASE_URI, fMemoryManager);
// Support for relative URLs
// According to Java 1.1: URLs may also be specified with a
1.16 +6 -3 xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
Index: DatatypeValidatorFactory.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- DatatypeValidatorFactory.cpp 16 May 2003 21:43:20 -0000 1.15
+++ DatatypeValidatorFactory.cpp 18 May 2003 14:02:07 -0000 1.16
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.16 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.15 2003/05/16 21:43:20 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -725,7 +728,7 @@
// So instead of storing them in the static fBuiltInRegistry,
// store them in local data fUserDefinedRegistry
if (fUserDefinedRegistry == 0)
- fUserDefinedRegistry = new (fMemoryManager) RefHashTableOf<DatatypeValidator>(29);
+ fUserDefinedRegistry = new (fMemoryManager) RefHashTableOf<DatatypeValidator>(29, fMemoryManager);
if (!getDatatypeValidator(XMLUni::fgIDRefsString)) {
@@ -825,7 +828,7 @@
if (isUserDefined) {
if (!fUserDefinedRegistry) {
- fUserDefinedRegistry = new (fMemoryManager) RefHashTableOf<DatatypeValidator>(29);
+ fUserDefinedRegistry = new (fMemoryManager) RefHashTableOf<DatatypeValidator>(29, fMemoryManager);
}
fUserDefinedRegistry->put((void *)typeName, datatypeValidator);
@@ -863,7 +866,7 @@
if (userDefined) {
if (!fUserDefinedRegistry) {
- fUserDefinedRegistry = new (fMemoryManager) RefHashTableOf<DatatypeValidator>(29);
+ fUserDefinedRegistry = new (fMemoryManager) RefHashTableOf<DatatypeValidator>(29, fMemoryManager);
}
fUserDefinedRegistry->put((void *)typeName, datatypeValidator);
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/DateDatatypeValidator.cpp
Index: DateDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DateDatatypeValidator.cpp 15 May 2003 18:53:26 -0000 1.4
+++ DateDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:26 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* DateDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/DateTimeDatatypeValidator.cpp
Index: DateTimeDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DateTimeDatatypeValidator.cpp 15 May 2003 18:53:26 -0000 1.4
+++ DateTimeDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:26 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* DateTimeDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.7 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp
Index: DateTimeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DateTimeValidator.cpp 16 May 2003 06:01:57 -0000 1.6
+++ DateTimeValidator.cpp 18 May 2003 14:02:07 -0000 1.7
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.7 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.6 2003/05/16 06:01:57 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -348,7 +351,7 @@
return;
int enumLength = fStrEnumeration->size();
- fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true);
+ fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true, fMemoryManager);
fEnumerationInherited = false;
for ( int i = 0; i < enumLength; i++)
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/DayDatatypeValidator.cpp
Index: DayDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DayDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DayDatatypeValidator.cpp 15 May 2003 18:53:26 -0000 1.4
+++ DayDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:26 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* DayDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.11 +12 -9 xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp
Index: DecimalDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DecimalDatatypeValidator.cpp 16 May 2003 06:01:57 -0000 1.10
+++ DecimalDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.11
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.11 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.10 2003/05/16 06:01:57 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -190,8 +193,8 @@
int DecimalDatatypeValidator::compare(const XMLCh* const lValue
, const XMLCh* const rValue)
{
- XMLBigDecimal lObj(lValue);
- XMLBigDecimal rObj(rValue);
+ XMLBigDecimal lObj(lValue, fMemoryManager);
+ XMLBigDecimal rObj(rValue, fMemoryManager);
return compareValues(&lObj, &rObj);
}
@@ -409,22 +412,22 @@
void DecimalDatatypeValidator::setMaxInclusive(const XMLCh* const value)
{
- fMaxInclusive = new (fMemoryManager) XMLBigDecimal(value);
+ fMaxInclusive = new (fMemoryManager) XMLBigDecimal(value, fMemoryManager);
}
void DecimalDatatypeValidator::setMaxExclusive(const XMLCh* const value)
{
- fMaxExclusive = new (fMemoryManager) XMLBigDecimal(value);
+ fMaxExclusive = new (fMemoryManager) XMLBigDecimal(value, fMemoryManager);
}
void DecimalDatatypeValidator::setMinInclusive(const XMLCh* const value)
{
- fMinInclusive = new (fMemoryManager) XMLBigDecimal(value);
+ fMinInclusive = new (fMemoryManager) XMLBigDecimal(value, fMemoryManager);
}
void DecimalDatatypeValidator::setMinExclusive(const XMLCh* const value)
{
- fMinExclusive = new (fMemoryManager) XMLBigDecimal(value);
+ fMinExclusive = new (fMemoryManager) XMLBigDecimal(value, fMemoryManager);
}
void DecimalDatatypeValidator::setEnumeration()
@@ -466,12 +469,12 @@
checkContent(fStrEnumeration->elementAt(i), false);
}
- fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true);
+ fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true, fMemoryManager);
fEnumerationInherited = false;
for ( i = 0; i < enumLength; i++)
{
- fEnumeration->insertElementAt(new (fMemoryManager) XMLBigDecimal(fStrEnumeration->elementAt(i)), i);
+ fEnumeration->insertElementAt(new (fMemoryManager) XMLBigDecimal(fStrEnumeration->elementAt(i), fMemoryManager), i);
}
}
@@ -518,7 +521,7 @@
return;
try {
- XMLBigDecimal theValue(content);
+ XMLBigDecimal theValue(content, fMemoryManager);
XMLBigDecimal *theData = &theValue;
if (getEnumeration())
1.6 +13 -10 xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp
Index: DoubleDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DoubleDatatypeValidator.cpp 16 May 2003 06:01:57 -0000 1.5
+++ DoubleDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.6
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.6 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 06:01:57 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -129,8 +132,8 @@
int DoubleDatatypeValidator::compare(const XMLCh* const lValue
, const XMLCh* const rValue)
{
- XMLDouble lObj(lValue);
- XMLDouble rObj(rValue);
+ XMLDouble lObj(lValue, fMemoryManager);
+ XMLDouble rObj(rValue, fMemoryManager);
return compareValues(&lObj, &rObj);
}
@@ -184,22 +187,22 @@
void DoubleDatatypeValidator::setMaxInclusive(const XMLCh* const value)
{
- fMaxInclusive = new (fMemoryManager) XMLDouble(value);
+ fMaxInclusive = new (fMemoryManager) XMLDouble(value, fMemoryManager);
}
void DoubleDatatypeValidator::setMaxExclusive(const XMLCh* const value)
{
- fMaxExclusive = new (fMemoryManager) XMLDouble(value);
+ fMaxExclusive = new (fMemoryManager) XMLDouble(value, fMemoryManager);
}
void DoubleDatatypeValidator::setMinInclusive(const XMLCh* const value)
{
- fMinInclusive = new (fMemoryManager) XMLDouble(value);
+ fMinInclusive = new (fMemoryManager) XMLDouble(value, fMemoryManager);
}
void DoubleDatatypeValidator::setMinExclusive(const XMLCh* const value)
{
- fMinExclusive = new (fMemoryManager) XMLDouble(value);
+ fMinExclusive = new (fMemoryManager) XMLDouble(value, fMemoryManager);
}
void DoubleDatatypeValidator::setEnumeration()
@@ -242,12 +245,12 @@
checkContent(fStrEnumeration->elementAt(i), false);
}
- fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true);
+ fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true, fMemoryManager);
fEnumerationInherited = false;
for ( i = 0; i < enumLength; i++)
{
- fEnumeration->insertElementAt(new (fMemoryManager) XMLDouble(fStrEnumeration->elementAt(i)), i);
+ fEnumeration->insertElementAt(new (fMemoryManager) XMLDouble(fStrEnumeration->elementAt(i), fMemoryManager), i);
}
}
@@ -292,7 +295,7 @@
return;
try {
- XMLDouble theValue(content);
+ XMLDouble theValue(content, fMemoryManager);
XMLDouble *theData = &theValue;
if (getEnumeration())
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/DurationDatatypeValidator.cpp
Index: DurationDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DurationDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DurationDatatypeValidator.cpp 15 May 2003 18:53:26 -0000 1.4
+++ DurationDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:26 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* DurationDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.6 +13 -10 xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp
Index: FloatDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FloatDatatypeValidator.cpp 16 May 2003 06:01:57 -0000 1.5
+++ FloatDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.6
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.6 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 06:01:57 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -131,8 +134,8 @@
int FloatDatatypeValidator::compare(const XMLCh* const lValue
, const XMLCh* const rValue)
{
- XMLFloat lObj(lValue);
- XMLFloat rObj(rValue);
+ XMLFloat lObj(lValue, fMemoryManager);
+ XMLFloat rObj(rValue, fMemoryManager);
return compareValues(&lObj, &rObj);
}
@@ -186,22 +189,22 @@
void FloatDatatypeValidator::setMaxInclusive(const XMLCh* const value)
{
- fMaxInclusive = new (fMemoryManager) XMLFloat(value);
+ fMaxInclusive = new (fMemoryManager) XMLFloat(value, fMemoryManager);
}
void FloatDatatypeValidator::setMaxExclusive(const XMLCh* const value)
{
- fMaxExclusive = new (fMemoryManager) XMLFloat(value);
+ fMaxExclusive = new (fMemoryManager) XMLFloat(value, fMemoryManager);
}
void FloatDatatypeValidator::setMinInclusive(const XMLCh* const value)
{
- fMinInclusive = new (fMemoryManager) XMLFloat(value);
+ fMinInclusive = new (fMemoryManager) XMLFloat(value, fMemoryManager);
}
void FloatDatatypeValidator::setMinExclusive(const XMLCh* const value)
{
- fMinExclusive = new (fMemoryManager) XMLFloat(value);
+ fMinExclusive = new (fMemoryManager) XMLFloat(value, fMemoryManager);
}
void FloatDatatypeValidator::setEnumeration()
@@ -244,12 +247,12 @@
checkContent(fStrEnumeration->elementAt(i), false);
}
- fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true);
+ fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(enumLength, true, fMemoryManager);
fEnumerationInherited = false;
for ( i = 0; i < enumLength; i++)
{
- fEnumeration->insertElementAt(new (fMemoryManager) XMLFloat(fStrEnumeration->elementAt(i)), i);
+ fEnumeration->insertElementAt(new (fMemoryManager) XMLFloat(fStrEnumeration->elementAt(i), fMemoryManager), i);
}
}
@@ -293,7 +296,7 @@
return;
try {
- XMLFloat theValue(content);
+ XMLFloat theValue(content, fMemoryManager);
XMLFloat *theData = &theValue;
if (getEnumeration() != 0)
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/MonthDatatypeValidator.cpp
Index: MonthDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/MonthDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MonthDatatypeValidator.cpp 15 May 2003 18:53:26 -0000 1.4
+++ MonthDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:26 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* MonthDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/MonthDayDatatypeValidator.cpp
Index: MonthDayDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/MonthDayDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MonthDayDatatypeValidator.cpp 15 May 2003 18:53:26 -0000 1.4
+++ MonthDayDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:26 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* MonthDayDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/TimeDatatypeValidator.cpp
Index: TimeDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/TimeDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TimeDatatypeValidator.cpp 15 May 2003 18:53:27 -0000 1.4
+++ TimeDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* TimeDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/YearDatatypeValidator.cpp
Index: YearDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/YearDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- YearDatatypeValidator.cpp 15 May 2003 18:53:27 -0000 1.4
+++ YearDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* YearDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/YearMonthDatatypeValidator.cpp
Index: YearMonthDatatypeValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/YearMonthDatatypeValidator.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- YearMonthDatatypeValidator.cpp 15 May 2003 18:53:27 -0000 1.4
+++ YearMonthDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:53:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -124,7 +127,7 @@
//
XMLDateTime* YearMonthDatatypeValidator::parse(const XMLCh* const content)
{
- XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content);
+ XMLDateTime *pRetDate = new (fMemoryManager) XMLDateTime(content, fMemoryManager);
try
{
1.9 +118 -22 xml-xerces/c/src/xercesc/validators/schema/ComplexTypeInfo.cpp
Index: ComplexTypeInfo.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/ComplexTypeInfo.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ComplexTypeInfo.cpp 16 May 2003 21:43:21 -0000 1.8
+++ ComplexTypeInfo.cpp 18 May 2003 14:02:07 -0000 1.9
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.9 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.8 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -284,7 +287,7 @@
if (!fAttDefs)
faultInAttDefList();
- ((ComplexTypeInfo*)this)->fAttList = new SchemaAttDefList(fAttDefs);
+ ((ComplexTypeInfo*)this)->fAttList = new (fMemoryManager) SchemaAttDefList(fAttDefs);
}
// Reset it before we return it
@@ -398,7 +401,7 @@
{
// Use a hash modulus of 29 and tell it owns its elements
((ComplexTypeInfo*)this)->fAttDefs =
- new (fMemoryManager) RefHash2KeysTableOf<SchemaAttDef>(29, true);
+ new (fMemoryManager) RefHash2KeysTableOf<SchemaAttDef>(29, true, fMemoryManager);
}
XMLCh* ComplexTypeInfo::formatContentModel() const
@@ -438,7 +441,7 @@
XMLContentModel* ComplexTypeInfo::makeContentModel(const bool checkUPA, ContentSpecNode* const specNode)
{
if ((specNode || fContentSpec) && !fSpecNodesToDelete) {
- fSpecNodesToDelete = new (fMemoryManager) RefVectorOf<ContentSpecNode>(8);
+ fSpecNodesToDelete = new (fMemoryManager) RefVectorOf<ContentSpecNode>(8, true, fMemoryManager);
}
// expand the content spec first
@@ -555,6 +558,7 @@
, specNode->getElement()
, 0
, ContentSpecNode::Leaf
+ , fMemoryManager
);
}
else if ((specType == ContentSpecNode::Choice)
@@ -574,6 +578,7 @@
, specNode->getFirst()->getElement()
, specNode->getSecond()->getElement()
, specType
+ , fMemoryManager
);
}
}
@@ -594,6 +599,7 @@
, specNode->getFirst()->getElement()
, 0
, specType
+ , fMemoryManager
);
}
else if (specNode->getFirst()->getType() == ContentSpecNode::All)
@@ -698,47 +704,114 @@
}
else if (minOccurs == 0 && maxOccurs == 1) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::ZeroOrOne, retNode, 0);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::ZeroOrOne
+ , retNode
+ , 0
+ , true
+ , true
+ , fMemoryManager
+ );
}
else if (minOccurs == 0 && maxOccurs == -1) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::ZeroOrMore, retNode, 0);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::ZeroOrMore
+ , retNode
+ , 0
+ , true
+ , true
+ , fMemoryManager
+ );
}
else if (minOccurs == 1 && maxOccurs == -1) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::OneOrMore, retNode, 0);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::OneOrMore
+ , retNode
+ , 0
+ , true
+ , true
+ , fMemoryManager
+ );
}
else if (maxOccurs == -1) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::OneOrMore, retNode, 0);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::OneOrMore
+ , retNode
+ , 0
+ , true
+ , true
+ , fMemoryManager
+ );
for (int i=0; i < (int)(minOccurs-1); i++) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence,
- saveNode, retNode, false);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , saveNode
+ , retNode
+ , false
+ , true
+ , fMemoryManager
+ );
}
}
else {
if (minOccurs == 0) {
- ContentSpecNode* optional =
- new (fMemoryManager) ContentSpecNode(ContentSpecNode::ZeroOrOne, saveNode, 0);
+ ContentSpecNode* optional = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::ZeroOrOne
+ , saveNode
+ , 0
+ , true
+ , true
+ , fMemoryManager
+ );
retNode = optional;
for (int i=0; i < (int)(maxOccurs-minOccurs-1); i++) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence,
- retNode, optional, true, false);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , retNode
+ , optional
+ , true
+ , false
+ , fMemoryManager
+ );
}
}
else {
if (minOccurs > 1) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence,
- retNode, saveNode, true, false);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , retNode
+ , saveNode
+ , true
+ , false
+ , fMemoryManager
+ );
for (int i=1; i < (int)(minOccurs-1); i++) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence,
- retNode, saveNode, true, false);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , retNode
+ , saveNode
+ , true
+ , false
+ , fMemoryManager
+ );
}
}
@@ -746,14 +819,37 @@
if (counter > 0) {
- ContentSpecNode* optional = new (fMemoryManager) ContentSpecNode(ContentSpecNode::ZeroOrOne, saveNode, 0, false);
-
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence, retNode, optional);
+ ContentSpecNode* optional = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::ZeroOrOne
+ , saveNode
+ , 0
+ , false
+ , true
+ , fMemoryManager
+ );
+
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , retNode
+ , optional
+ , true
+ , true
+ , fMemoryManager
+ );
for (int j=1; j < counter; j++) {
- retNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence,
- retNode, optional, true, false);
+ retNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , retNode
+ , optional
+ , true
+ , false
+ , fMemoryManager
+ );
}
}
}
1.14 +2 -2 xml-xerces/c/src/xercesc/validators/schema/ComplexTypeInfo.hpp
Index: ComplexTypeInfo.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/ComplexTypeInfo.hpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- ComplexTypeInfo.hpp 16 May 2003 21:43:21 -0000 1.13
+++ ComplexTypeInfo.hpp 18 May 2003 14:02:07 -0000 1.14
@@ -513,7 +513,7 @@
inline void ComplexTypeInfo::addElement(SchemaElementDecl* const elem) {
if (!fElements) {
- fElements = new (fMemoryManager) RefVectorOf<SchemaElementDecl>(8, false);
+ fElements = new (fMemoryManager) RefVectorOf<SchemaElementDecl>(8, false, fMemoryManager);
}
else if (fElements->containsElement(elem)) {
return;
1.5 +4 -0 xml-xerces/c/src/xercesc/validators/schema/NamespaceScope.cpp
Index: NamespaceScope.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/NamespaceScope.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- NamespaceScope.cpp 16 May 2003 21:43:21 -0000 1.4
+++ NamespaceScope.cpp 18 May 2003 14:02:07 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -96,6 +99,7 @@
fEmptyNamespaceId(0)
, fStackCapacity(8)
, fStackTop(0)
+ , fPrefixPool(109, manager)
, fStack(0)
, fMemoryManager(manager)
{
1.6 +9 -5 xml-xerces/c/src/xercesc/validators/schema/SchemaAttDef.cpp
Index: SchemaAttDef.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaAttDef.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SchemaAttDef.cpp 16 May 2003 21:43:21 -0000 1.5
+++ SchemaAttDef.cpp 18 May 2003 14:02:07 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -133,7 +136,7 @@
, fValidity(PSVIDefs::UNKNOWN)
, fValidation(PSVIDefs::NONE)
{
- fAttName = new QName(prefix, localPart, uriId);
+ fAttName = new (manager) QName(prefix, localPart, uriId, manager);
}
SchemaAttDef::SchemaAttDef( const XMLCh* const prefix
@@ -154,7 +157,7 @@
, fValidity(PSVIDefs::UNKNOWN)
, fValidation(PSVIDefs::NONE)
{
- fAttName = new QName(prefix, localPart, uriId);
+ fAttName = new (manager) QName(prefix, localPart, uriId, manager);
}
SchemaAttDef::SchemaAttDef(const SchemaAttDef* other) :
@@ -172,11 +175,12 @@
, fValidation(other->fValidation)
{
QName* otherName = other->getAttName();
- fAttName = new QName(otherName->getPrefix(),
- otherName->getLocalPart(), otherName->getURI());
+ fAttName = new (getMemoryManager()) QName(otherName->getPrefix(),
+ otherName->getLocalPart(), otherName->getURI(),
+ getMemoryManager());
if (other->fNamespaceList && other->fNamespaceList->size()) {
- fNamespaceList = new ValueVectorOf<unsigned int>(*(other->fNamespaceList));
+ fNamespaceList = new (getMemoryManager()) ValueVectorOf<unsigned int>(*(other->fNamespaceList));
}
}
1.6 +4 -1 xml-xerces/c/src/xercesc/validators/schema/SchemaAttDef.hpp
Index: SchemaAttDef.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaAttDef.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SchemaAttDef.hpp 16 May 2003 21:43:21 -0000 1.5
+++ SchemaAttDef.hpp 18 May 2003 14:02:07 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -461,7 +464,7 @@
*fNamespaceList = *toSet;
}
else {
- fNamespaceList = new ValueVectorOf<unsigned int>(*toSet);
+ fNamespaceList = new (getMemoryManager()) ValueVectorOf<unsigned int>(*toSet);
}
}
else {
1.3 +5 -2 xml-xerces/c/src/xercesc/validators/schema/SchemaAttDefList.cpp
Index: SchemaAttDefList.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaAttDefList.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SchemaAttDefList.cpp 4 Nov 2002 14:49:41 -0000 1.2
+++ SchemaAttDefList.cpp 18 May 2003 14:02:07 -0000 1.3
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.3 2003/05/18 14:02:07 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.2 2002/11/04 14:49:41 tng
* C++ Namespace Support.
*
@@ -113,7 +116,7 @@
XMLAttDef* SchemaAttDefList::findAttDef(const unsigned long uriID
, const XMLCh* const attName)
{
- QName tempAtt(attName, uriID);
+ QName tempAtt(attName, uriID, XMLPlatformUtils::fgMemoryManager);
return fList->get((void*)tempAtt.getLocalPart(), uriID);
}
@@ -122,7 +125,7 @@
SchemaAttDefList::findAttDef( const unsigned long uriID
, const XMLCh* const attName) const
{
- QName tempAtt(attName, uriID);
+ QName tempAtt(attName, uriID, XMLPlatformUtils::fgMemoryManager);
return fList->get((void*)tempAtt.getLocalPart(), uriID);
}
1.10 +5 -1 xml-xerces/c/src/xercesc/validators/schema/SchemaElementDecl.cpp
Index: SchemaElementDecl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaElementDecl.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- SchemaElementDecl.cpp 16 May 2003 21:43:21 -0000 1.9
+++ SchemaElementDecl.cpp 18 May 2003 14:02:08 -0000 1.10
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.10 2003/05/18 14:02:08 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.9 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -271,7 +274,8 @@
// If no att list exist yet, then create one
if (!fAttDefs) {
// Use a hash modulus of 29 and tell it owns its elements
- ((SchemaElementDecl*)this)->fAttDefs = new (getMemoryManager()) RefHash2KeysTableOf<SchemaAttDef>(29, true);
+ ((SchemaElementDecl*)this)->fAttDefs =
+ new (getMemoryManager()) RefHash2KeysTableOf<SchemaAttDef>(29, true, getMemoryManager());
}
retVal = fAttDefs->get(baseName, uriId);
1.11 +4 -1 xml-xerces/c/src/xercesc/validators/schema/SchemaElementDecl.hpp
Index: SchemaElementDecl.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaElementDecl.hpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- SchemaElementDecl.hpp 16 May 2003 21:43:21 -0000 1.10
+++ SchemaElementDecl.hpp 18 May 2003 14:02:08 -0000 1.11
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.11 2003/05/18 14:02:08 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.10 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -900,7 +903,7 @@
SchemaElementDecl::addIdentityConstraint(IdentityConstraint* const ic) {
if (!fIdentityConstraints) {
- fIdentityConstraints = new RefVectorOf<IdentityConstraint>(16);
+ fIdentityConstraints = new (getMemoryManager()) RefVectorOf<IdentityConstraint>(16, true, getMemoryManager());
}
fIdentityConstraints->addElement(ic);
1.5 +7 -4 xml-xerces/c/src/xercesc/validators/schema/SchemaGrammar.cpp
Index: SchemaGrammar.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaGrammar.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SchemaGrammar.cpp 15 May 2003 18:57:27 -0000 1.4
+++ SchemaGrammar.cpp 18 May 2003 14:02:08 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:08 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:57:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -143,13 +146,13 @@
// <TBD> Investigate what the optimum values would be for the various
// pools.
//
- fElemDeclPool = new (fMemoryManager) RefHash3KeysIdPool<SchemaElementDecl>(109);
+ fElemDeclPool = new (fMemoryManager) RefHash3KeysIdPool<SchemaElementDecl>(109, 128, fMemoryManager);
try {
- fElemNonDeclPool = new (fMemoryManager) RefHash3KeysIdPool<SchemaElementDecl>(29);
+ fElemNonDeclPool = new (fMemoryManager) RefHash3KeysIdPool<SchemaElementDecl>(29, 128, fMemoryManager);
fGroupElemDeclPool = new (fMemoryManager) RefHash3KeysIdPool<SchemaElementDecl>(109, false);
- fNotationDeclPool = new NameIdPool<XMLNotationDecl>(109);
- fIDRefList = new (fMemoryManager) RefHashTableOf<XMLRefInfo>(29);
+ fNotationDeclPool = new (fMemoryManager) NameIdPool<XMLNotationDecl>(109, 128, fMemoryManager);
+ fIDRefList = new (fMemoryManager) RefHashTableOf<XMLRefInfo>(29, fMemoryManager);
fDatatypeRegistry.expandRegistryToFullSchemaSet();
//
1.32 +8 -5 xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.cpp
Index: SchemaValidator.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- SchemaValidator.cpp 16 May 2003 21:43:21 -0000 1.31
+++ SchemaValidator.cpp 18 May 2003 14:02:08 -0000 1.32
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.32 2003/05/18 14:02:08 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.31 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -275,7 +278,7 @@
, fNil(false)
, fTypeStack(0)
{
- fTypeStack = new (fMemoryManager) ValueStackOf<ComplexTypeInfo*>(8);
+ fTypeStack = new (fMemoryManager) ValueStackOf<ComplexTypeInfo*>(8, fMemoryManager);
}
SchemaValidator::~SchemaValidator()
@@ -1374,8 +1377,8 @@
ContentSpecNode* curSpecNode = curNode;
ContentSpecNode* baseSpecNode = baseNode;
- ValueVectorOf<ContentSpecNode*> curVector(8);
- ValueVectorOf<ContentSpecNode*> baseVector(8);
+ ValueVectorOf<ContentSpecNode*> curVector(8, fMemoryManager);
+ ValueVectorOf<ContentSpecNode*> baseVector(8, fMemoryManager);
ContentSpecNode::NodeTypes curNodeType = curSpecNode->getType();
ContentSpecNode::NodeTypes baseNodeType = baseSpecNode->getType();
@@ -1864,11 +1867,11 @@
const ComplexTypeInfo* const baseInfo) {
ContentSpecNode::NodeTypes baseType = baseSpecNode->getType();
- ValueVectorOf<ContentSpecNode*> derivedNodes(1);
+ ValueVectorOf<ContentSpecNode*> derivedNodes(1, fMemoryManager);
bool toLax = false;
//Treat the element as if it were in a group of the same variety as base
- ContentSpecNode derivedGroupNode(baseType, derivedSpecNode, 0, false);
+ ContentSpecNode derivedGroupNode(baseType, derivedSpecNode, 0, false, true, fMemoryManager);
derivedNodes.addElement(derivedSpecNode);
1.17 +4 -1 xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.hpp
Index: SchemaValidator.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.hpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- SchemaValidator.hpp 16 May 2003 21:43:21 -0000 1.16
+++ SchemaValidator.hpp 18 May 2003 14:02:08 -0000 1.17
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.17 2003/05/18 14:02:08 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.16 2003/05/16 21:43:21 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -407,7 +410,7 @@
, const unsigned int uriId)
{
delete fXsiType;
- fXsiType = new (fMemoryManager) QName(prefix, localPart, uriId);
+ fXsiType = new (fMemoryManager) QName(prefix, localPart, uriId, fMemoryManager);
}
inline void SchemaValidator::setNillable(bool isNil) {
1.74 +190 -79 xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp
Index: TraverseSchema.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- TraverseSchema.cpp 16 May 2003 21:43:21 -0000 1.73
+++ TraverseSchema.cpp 18 May 2003 14:02:08 -0000 1.74
@@ -322,7 +322,7 @@
if (fComplexTypeRegistry == 0 ) {
- fComplexTypeRegistry = new (fMemoryManager) RefHashTableOf<ComplexTypeInfo>(29);
+ fComplexTypeRegistry = new (fMemoryManager) RefHashTableOf<ComplexTypeInfo>(29, fMemoryManager);
fSchemaGrammar->setComplexTypeRegistry(fComplexTypeRegistry);
}
@@ -330,7 +330,7 @@
if (fGroupRegistry == 0 ) {
- fGroupRegistry = new (fMemoryManager) RefHashTableOf<XercesGroupInfo>(13);
+ fGroupRegistry = new (fMemoryManager) RefHashTableOf<XercesGroupInfo>(13, fMemoryManager);
fSchemaGrammar->setGroupInfoRegistry(fGroupRegistry);
}
@@ -338,7 +338,7 @@
if (fAttGroupRegistry == 0 ) {
- fAttGroupRegistry = new (fMemoryManager) RefHashTableOf<XercesAttGroupInfo>(13);
+ fAttGroupRegistry = new (fMemoryManager) RefHashTableOf<XercesAttGroupInfo>(13, fMemoryManager);
fSchemaGrammar->setAttGroupInfoRegistry(fAttGroupRegistry);
}
@@ -346,7 +346,7 @@
if (fAttributeDeclRegistry == 0) {
- fAttributeDeclRegistry = new (fMemoryManager) RefHashTableOf<XMLAttDef>(29);
+ fAttributeDeclRegistry = new (fMemoryManager) RefHashTableOf<XMLAttDef>(29, fMemoryManager);
fSchemaGrammar->setAttributeDeclRegistry(fAttributeDeclRegistry);
}
@@ -363,7 +363,7 @@
if (!fValidSubstitutionGroups) {
- fValidSubstitutionGroups = new (fMemoryManager) RefHash2KeysTableOf<ElemVector>(29);
+ fValidSubstitutionGroups = new (fMemoryManager) RefHash2KeysTableOf<ElemVector>(29, fMemoryManager);
fSchemaGrammar->setValidSubstitutionGroups(fValidSubstitutionGroups);
}
@@ -810,7 +810,7 @@
}
if (!fRedefineComponents) {
- fRedefineComponents = new (fMemoryManager) RefHash2KeysTableOf<XMLCh>(13, false);
+ fRedefineComponents = new (fMemoryManager) RefHash2KeysTableOf<XMLCh>(13, (bool) false, fMemoryManager);
}
SchemaInfo* redefinedInfo = fSchemaInfo;
@@ -888,7 +888,12 @@
continue;
}
- contentSpecNode = new (fMemoryManager) ContentSpecNode(eltQName, false);
+ contentSpecNode = new (fMemoryManager) ContentSpecNode
+ (
+ eltQName
+ , false
+ , fMemoryManager
+ );
seeParticle = true;
}
else if (XMLString::equals(childName, SchemaSymbols::fgELT_GROUP)) {
@@ -948,13 +953,29 @@
right = contentSpecNode;
}
else {
- left = new (fMemoryManager) ContentSpecNode((ContentSpecNode::NodeTypes) modelGroupType, left, right);
+ left = new (fMemoryManager) ContentSpecNode
+ (
+ (ContentSpecNode::NodeTypes) modelGroupType
+ , left
+ , right
+ , true
+ , true
+ , fMemoryManager
+ );
right = contentSpecNode;
}
}
if (hadContent) {
- left = new (fMemoryManager) ContentSpecNode((ContentSpecNode::NodeTypes) modelGroupType, left, right);
+ left = new (fMemoryManager) ContentSpecNode
+ (
+ (ContentSpecNode::NodeTypes) modelGroupType
+ , left
+ , right
+ , true
+ , true
+ , fMemoryManager
+ );
}
return left;
@@ -1181,7 +1202,7 @@
if (fFullConstraintChecking) {
- XSDLocator* aLocator = new XSDLocator();
+ XSDLocator* aLocator = new (fMemoryManager) XSDLocator();
aLocator->setValues(fStringPool->getValueForId(fStringPool->addOrFind(fSchemaInfo->getCurrentSchemaURL())),
0, ((XSDElementNSImpl*) elem)->getLineNo(),
((XSDElementNSImpl*) elem)->getColumnNo());
@@ -1429,7 +1450,7 @@
if (fFullConstraintChecking) {
- XSDLocator* aLocator = new XSDLocator();
+ XSDLocator* aLocator = new (fMemoryManager) XSDLocator();
groupInfo->setLocator(aLocator);
aLocator->setValues(fStringPool->getValueForId(fStringPool->addOrFind(fSchemaInfo->getCurrentSchemaURL())),
@@ -1677,23 +1698,38 @@
if ((!nameSpace || !*nameSpace)
|| XMLString::equals(nameSpace, SchemaSymbols::fgATTVAL_TWOPOUNDANY)) {
- retSpecNode = new (fMemoryManager) ContentSpecNode(new (fMemoryManager) QName(XMLUni::fgZeroLenString,
- XMLUni::fgZeroLenString,
- fEmptyNamespaceURI),
- false);
+ retSpecNode = new (fMemoryManager) ContentSpecNode
+ (
+ new (fMemoryManager) QName
+ (
+ XMLUni::fgZeroLenString
+ , XMLUni::fgZeroLenString
+ , fEmptyNamespaceURI
+ , fMemoryManager
+ )
+ , false
+ , fMemoryManager
+ );
retSpecNode->setType(anyType);
}
else if (XMLString::equals(nameSpace, SchemaSymbols::fgATTVAL_TWOPOUNDOTHER)) {
- retSpecNode = new (fMemoryManager) ContentSpecNode(new (fMemoryManager) QName(XMLUni::fgZeroLenString,
- XMLUni::fgZeroLenString,
- fTargetNSURI),
- false);
+ retSpecNode = new (fMemoryManager) ContentSpecNode
+ (
+ new (fMemoryManager) QName
+ (
+ XMLUni::fgZeroLenString
+ , XMLUni::fgZeroLenString
+ , fTargetNSURI, fMemoryManager
+ )
+ , false
+ , fMemoryManager
+ );
retSpecNode->setType(anyOtherType);
}
else {
BaseRefVectorOf<XMLCh>* nameSpaceTokens = XMLString::tokenizeString(nameSpace);
- ValueVectorOf<unsigned int> uriList(8);
+ ValueVectorOf<unsigned int> uriList(8, fMemoryManager);
ContentSpecNode* firstNode = 0;
ContentSpecNode* secondNode = 0;
unsigned int tokensSize = nameSpaceTokens->size();
@@ -1726,17 +1762,32 @@
uriList.addElement(uriIndex);
- firstNode = new (fMemoryManager) ContentSpecNode(new (fMemoryManager) QName(XMLUni::fgZeroLenString,
- XMLUni::fgZeroLenString,
- uriIndex),
- false);
+ firstNode = new (fMemoryManager) ContentSpecNode
+ (
+ new (fMemoryManager) QName
+ (
+ XMLUni::fgZeroLenString
+ , XMLUni::fgZeroLenString
+ , uriIndex, fMemoryManager
+ )
+ , false
+ , fMemoryManager
+ );
firstNode->setType(anyLocalType);
if (secondNode == 0) {
secondNode = firstNode;
}
else {
- secondNode = new (fMemoryManager) ContentSpecNode(ContentSpecNode::Choice, secondNode, firstNode);
+ secondNode = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Choice
+ , secondNode
+ , firstNode
+ , true
+ , true
+ , fMemoryManager
+ );
}
}
@@ -1793,7 +1844,12 @@
continue;
}
- contentSpecNode = new (fMemoryManager) ContentSpecNode(eltQName, false);
+ contentSpecNode = new (fMemoryManager) ContentSpecNode
+ (
+ eltQName
+ , false
+ , fMemoryManager
+ );
checkMinMax(contentSpecNode, child, All_Element);
}
else {
@@ -1811,13 +1867,29 @@
right = contentSpecNode;
}
else {
- left = new (fMemoryManager) ContentSpecNode(ContentSpecNode::All, left, right);
+ left = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::All
+ , left
+ , right
+ , true
+ , true
+ , fMemoryManager
+ );
right = contentSpecNode;
}
}
if (hadContent) {
- left = new (fMemoryManager) ContentSpecNode(ContentSpecNode::All, left, right);
+ left = new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::All
+ , left
+ , right
+ , true
+ , true
+ , fMemoryManager
+ );
}
return left;
@@ -2223,7 +2295,7 @@
if (topLevel) {
if (fSchemaGrammar->getElemDecl(fTargetNSURI, name, 0, Grammar::TOP_LEVEL_SCOPE) != 0) {
- return new (fMemoryManager) QName(name, fTargetNSURI);
+ return new (fMemoryManager) QName(name, fTargetNSURI, fMemoryManager);
}
}
@@ -2470,14 +2542,14 @@
else if (fSchemaInfo->circularImportExist(subsElemURI)) {
aGrammar->getValidSubstitutionGroups()->put(
- subsElemBaseName, subsElemURI, new (fMemoryManager) ValueVectorOf<SchemaElementDecl*>(8));
+ subsElemBaseName, subsElemURI, new (fMemoryManager) ValueVectorOf<SchemaElementDecl*>(8, fMemoryManager));
}
}
}
if (!subsElements) {
- subsElements = new (fMemoryManager) ValueVectorOf<SchemaElementDecl*>(8);
+ subsElements = new (fMemoryManager) ValueVectorOf<SchemaElementDecl*>(8, fMemoryManager);
fValidSubstitutionGroups->put(subsElemBaseName, subsElemURI, subsElements);
}
@@ -2622,7 +2694,7 @@
else {
if (!icNodes) {
- icNodes = new (fMemoryManager) ValueVectorOf<DOMElement*>(8);
+ icNodes = new (fMemoryManager) ValueVectorOf<DOMElement*>(8, fMemoryManager);
}
icNodes->addElement(ic);
@@ -2636,9 +2708,9 @@
if (!fIC_ElementsNS) {
- fIC_ElementsNS = new (fMemoryManager) RefHashTableOf<ElemVector>(13);
- fIC_NamespaceDepthNS = new (fMemoryManager) RefHashTableOf<ValueVectorOf<unsigned int> >(13);
- fIC_NodeListNS = new (fMemoryManager) RefHashTableOf<ValueVectorOf<DOMElement*> >(29, true, new (fMemoryManager) HashPtr());
+ fIC_ElementsNS = new (fMemoryManager) RefHashTableOf<ElemVector>(13, fMemoryManager);
+ fIC_NamespaceDepthNS = new (fMemoryManager) RefHashTableOf<ValueVectorOf<unsigned int> >(13, fMemoryManager);
+ fIC_NodeListNS = new (fMemoryManager) RefHashTableOf<ValueVectorOf<DOMElement*> >(29, true, new (fMemoryManager) HashPtr(), fMemoryManager);
}
if (fIC_ElementsNS->containsKey(fTargetNSURIString)) {
@@ -2649,8 +2721,8 @@
if (!fIC_Elements) {
- fIC_Elements = new (fMemoryManager) ValueVectorOf<SchemaElementDecl*>(8);
- fIC_NamespaceDepth = new (fMemoryManager) ValueVectorOf<unsigned int>(8);
+ fIC_Elements = new (fMemoryManager) ValueVectorOf<SchemaElementDecl*>(8, fMemoryManager);
+ fIC_NamespaceDepth = new (fMemoryManager) ValueVectorOf<unsigned int>(8, fMemoryManager);
fIC_ElementsNS->put((void*) fTargetNSURIString, fIC_Elements);
fIC_NamespaceDepthNS->put((void*) fTargetNSURIString, fIC_NamespaceDepth);
}
@@ -2919,7 +2991,7 @@
fAttributeCheck.checkAttributes(content, scope, this);
if (facets == 0) {
- facets = new (fMemoryManager) RefHashTableOf<KVStringPair>(29, true);
+ facets = new (fMemoryManager) RefHashTableOf<KVStringPair>(29, true, fMemoryManager);
}
if (XMLString::equals(facetName, SchemaSymbols::fgELT_ENUMERATION)) {
@@ -2929,7 +3001,7 @@
// to get the qualified name first before adding it to the
// enum buffer
if (!enums) {
- enums = new (fMemoryManager) RefArrayVectorOf<XMLCh>(8, true);
+ enums = new (fMemoryManager) RefArrayVectorOf<XMLCh>(8, true, fMemoryManager);
}
if (baseValidator->getType() == DatatypeValidator::NOTATION) {
@@ -2946,10 +3018,10 @@
fBuffer.set(uriStr);
fBuffer.append(chColon);
fBuffer.append(localPart);
- enums->addElement(XMLString::replicate(fBuffer.getRawBuffer()));
+ enums->addElement(XMLString::replicate(fBuffer.getRawBuffer(), fMemoryManager));
}
else {
- enums->addElement(XMLString::replicate(attValue));
+ enums->addElement(XMLString::replicate(attValue, fMemoryManager));
}
}
else if (XMLString::equals(facetName, SchemaSymbols::fgELT_PATTERN)) {
@@ -2980,7 +3052,7 @@
else {
const XMLCh* facetStr = fStringPool->getValueForId(fStringPool->addOrFind(facetName));
- facets->put((void*) facetStr, new (fMemoryManager) KVStringPair(facetStr, attValue));
+ facets->put((void*) facetStr, new (fMemoryManager) KVStringPair(facetStr, attValue, fMemoryManager));
checkFixedFacet(content, facetStr, baseValidator, fixedFlag);
}
}
@@ -2997,14 +3069,14 @@
if (!pattern.isEmpty()) {
facets->put((void*) SchemaSymbols::fgELT_PATTERN,
- new (fMemoryManager) KVStringPair(SchemaSymbols::fgELT_PATTERN, pattern.getRawBuffer()));
+ new (fMemoryManager) KVStringPair(SchemaSymbols::fgELT_PATTERN, pattern.getRawBuffer(), fMemoryManager));
}
if (fixedFlag) {
XMLString::binToText(fixedFlag, fixedFlagStr, 15, 10);
facets->put((void*) SchemaSymbols::fgATT_FIXED,
- new (fMemoryManager) KVStringPair(SchemaSymbols::fgATT_FIXED, fixedFlagStr));
+ new (fMemoryManager) KVStringPair(SchemaSymbols::fgATT_FIXED, fixedFlagStr, fMemoryManager));
}
try {
@@ -3041,7 +3113,7 @@
int size = 1;
const XMLCh* baseTypeName = getElementAttValue(contentElem, SchemaSymbols::fgATT_MEMBERTYPES);
DatatypeValidator* baseValidator = 0;
- RefVectorOf<DatatypeValidator>* validators = new (fMemoryManager) RefVectorOf<DatatypeValidator>(4, false);
+ RefVectorOf<DatatypeValidator>* validators = new (fMemoryManager) RefVectorOf<DatatypeValidator>(4, false, fMemoryManager);
Janitor<DVRefVector> janValidators(validators);
DOMElement* content = 0;
@@ -3358,13 +3430,13 @@
const XMLCh* attValue = content->getAttribute(SchemaSymbols::fgATT_VALUE);
if (facets == 0) {
- facets = new (fMemoryManager) RefHashTableOf<KVStringPair>(29, true);
+ facets = new (fMemoryManager) RefHashTableOf<KVStringPair>(29, true, fMemoryManager);
}
if (XMLString::equals(facetName, SchemaSymbols::fgELT_ENUMERATION)) {
if (!enums) {
- enums = new (fMemoryManager) RefArrayVectorOf<XMLCh>(8, true);
+ enums = new (fMemoryManager) RefArrayVectorOf<XMLCh>(8, true, fMemoryManager);
}
enums->addElement(XMLString::replicate(attValue));
@@ -3392,7 +3464,7 @@
const XMLCh* facetNameStr =
fStringPool->getValueForId(fStringPool->addOrFind(facetName));
- facets->put((void*) facetNameStr, new (fMemoryManager) KVStringPair(facetNameStr, attValue));
+ facets->put((void*) facetNameStr, new (fMemoryManager) KVStringPair(facetNameStr, attValue, fMemoryManager));
checkFixedFacet(content, facetNameStr, typeInfo->getBaseDatatypeValidator(), fixedFlag);
}
}
@@ -3419,7 +3491,7 @@
XMLString::binToText(fixedFlag, fixedFlagStr, 15, 10);
facets->put((void*) SchemaSymbols::fgATT_FIXED,
- new (fMemoryManager) KVStringPair(SchemaSymbols::fgATT_FIXED, fixedFlagStr));
+ new (fMemoryManager) KVStringPair(SchemaSymbols::fgATT_FIXED, fixedFlagStr, fMemoryManager));
}
try {
@@ -3672,7 +3744,7 @@
// ------------------------------------------------------------------
int uriIndex = fEmptyNamespaceURI;
XMLAttDef::AttTypes attType = XMLAttDef::Any_Any;
- ValueVectorOf<unsigned int> namespaceList(8);
+ ValueVectorOf<unsigned int> namespaceList(8, fMemoryManager);
if ((!nameSpace || !*nameSpace)
|| XMLString::equals(nameSpace, SchemaSymbols::fgATTVAL_TWOPOUNDANY)) {
@@ -3767,7 +3839,7 @@
if (!fIdentityConstraintNames) {
- fIdentityConstraintNames = new (fMemoryManager) RefHash2KeysTableOf<IdentityConstraint>(29, false);
+ fIdentityConstraintNames = new (fMemoryManager) RefHash2KeysTableOf<IdentityConstraint>(29, (bool) false, fMemoryManager);
}
if (fIdentityConstraintNames->containsKey(name, fTargetNSURI)) {
@@ -3828,7 +3900,7 @@
}
if (!fIdentityConstraintNames) {
- fIdentityConstraintNames = new (fMemoryManager) RefHash2KeysTableOf<IdentityConstraint>(29, false);
+ fIdentityConstraintNames = new (fMemoryManager) RefHash2KeysTableOf<IdentityConstraint>(29, (bool) false, fMemoryManager);
}
if (fIdentityConstraintNames->containsKey(name, fTargetNSURI)) {
@@ -4523,7 +4595,7 @@
const XMLCh* uriStr = resolvePrefixToURI(elem, prefix);
QName* eltName = new (fMemoryManager) QName(prefix , localPart, uriStr != 0
? fURIStringPool->addOrFind(uriStr)
- : fEmptyNamespaceURI);
+ : fEmptyNamespaceURI, fMemoryManager);
//if from another schema, just return the element QName
if (!XMLString::equals(uriStr, fTargetNSURIString)) {
@@ -5717,10 +5789,18 @@
}
typeInfo->setAdoptContentSpec(false);
- typeInfo->setContentSpec(
- new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence,
- new (fMemoryManager) ContentSpecNode(*baseSpecNode),
- specNode));
+ typeInfo->setContentSpec
+ (
+ new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , new (fMemoryManager) ContentSpecNode(*baseSpecNode)
+ , specNode
+ , true
+ , true
+ , fMemoryManager
+ )
+ );
typeInfo->setAdoptContentSpec(true);
}
}
@@ -5734,10 +5814,17 @@
// -------------------------------------------------------------
if (isBaseAnyType && typeDerivedBy == SchemaSymbols::XSD_EXTENSION) {
- ContentSpecNode* anySpecNode = new (fMemoryManager) ContentSpecNode(new (fMemoryManager) QName(XMLUni::fgZeroLenString,
- XMLUni::fgZeroLenString,
- fEmptyNamespaceURI),
- false);
+ ContentSpecNode* anySpecNode = new (fMemoryManager) ContentSpecNode
+ (
+ new (fMemoryManager) QName
+ (
+ XMLUni::fgZeroLenString
+ , XMLUni::fgZeroLenString
+ , fEmptyNamespaceURI, fMemoryManager
+ )
+ , false
+ , fMemoryManager
+ );
anySpecNode->setType(ContentSpecNode::Any_Lax);
anySpecNode->setMinOccurs(0);
@@ -5750,7 +5837,18 @@
else {
typeInfo->setAdoptContentSpec(false);
- typeInfo->setContentSpec(new (fMemoryManager) ContentSpecNode(ContentSpecNode::Sequence, anySpecNode, specNode));
+ typeInfo->setContentSpec
+ (
+ new (fMemoryManager) ContentSpecNode
+ (
+ ContentSpecNode::Sequence
+ , anySpecNode
+ , specNode
+ , true
+ , true
+ , fMemoryManager
+ )
+ );
typeInfo->setAdoptContentSpec(true);
if (!isMixed) {
@@ -5769,11 +5867,18 @@
}
else {
// add #PCDATA leaf and set its minOccurs to 0
- ContentSpecNode* pcdataNode =
- new (fMemoryManager) ContentSpecNode(new (fMemoryManager) QName(XMLUni::fgZeroLenString,
- XMLUni::fgZeroLenString,
- XMLElementDecl::fgPCDataElemId),
- false);
+ ContentSpecNode* pcdataNode = new (fMemoryManager) ContentSpecNode
+ (
+ new (fMemoryManager) QName
+ (
+ XMLUni::fgZeroLenString
+ , XMLUni::fgZeroLenString
+ , XMLElementDecl::fgPCDataElemId
+ , fMemoryManager
+ )
+ , false
+ , fMemoryManager
+ );
pcdataNode->setMinOccurs(0);
typeInfo->setContentSpec(pcdataNode);
@@ -5993,7 +6098,7 @@
SchemaAttDef* attWildCard = 0;
Janitor<SchemaAttDef> janAttWildCard(0);
XercesAttGroupInfo* attGroupInfo = 0;
- ValueVectorOf<XercesAttGroupInfo*> attGroupList(4);
+ ValueVectorOf<XercesAttGroupInfo*> attGroupList(4, fMemoryManager);
for (; child != 0; child = XUtil::getNextSiblingElement(child)) {
@@ -6890,7 +6995,7 @@
if (listSize) {
bool found = false;
- ValueVectorOf<unsigned int> tmpURIList(listSize);
+ ValueVectorOf<unsigned int> tmpURIList(listSize, fMemoryManager);
for (unsigned int i=0; i < listSize; i++) {
@@ -6927,7 +7032,7 @@
if (listSize) {
- ValueVectorOf<unsigned int> tmpURIList(listSize);
+ ValueVectorOf<unsigned int> tmpURIList(listSize, fMemoryManager);
for (unsigned int i=0; i < listSize; i++) {
@@ -7950,21 +8055,27 @@
fDatatypeRegistry = fSchemaGrammar->getDatatypeRegistry();
fStringPool = fGrammarResolver->getStringPool();
fEmptyNamespaceURI = fScanner->getEmptyNamespaceId();
- fCurrentTypeNameStack = new (fMemoryManager) ValueVectorOf<unsigned int>(8);
- fCurrentGroupStack = new (fMemoryManager) ValueVectorOf<unsigned int>(8);
+ fCurrentTypeNameStack = new (fMemoryManager) ValueVectorOf<unsigned int>(8, fMemoryManager);
+ fCurrentGroupStack = new (fMemoryManager) ValueVectorOf<unsigned int>(8, fMemoryManager);
fGlobalDeclarations = (ValueVectorOf<unsigned int>**) fMemoryManager->allocate
(
ENUM_ELT_SIZE * sizeof(ValueVectorOf<unsigned int>*)
);//new ValueVectorOf<unsigned int>*[ENUM_ELT_SIZE];
for(unsigned int i=0; i < ENUM_ELT_SIZE; i++)
- fGlobalDeclarations[i] = new (fMemoryManager) ValueVectorOf<unsigned int>(8);
+ fGlobalDeclarations[i] = new (fMemoryManager) ValueVectorOf<unsigned int>(8, fMemoryManager);
- fNotationRegistry = new (fMemoryManager) RefHash2KeysTableOf<XMLCh>(13, false);
- fSchemaInfoList = new (fMemoryManager) RefHash2KeysTableOf<SchemaInfo>(29);
- fPreprocessedNodes = new (fMemoryManager) RefHashTableOf<SchemaInfo>(29, false, new (fMemoryManager) HashPtr());
- fLocator = new XSDLocator();
- fDeclStack = new (fMemoryManager) ValueVectorOf<const DOMElement*>(16);
+ fNotationRegistry = new (fMemoryManager) RefHash2KeysTableOf<XMLCh>(13, (bool) false, fMemoryManager);
+ fSchemaInfoList = new (fMemoryManager) RefHash2KeysTableOf<SchemaInfo>(29, fMemoryManager);
+ fPreprocessedNodes = new (fMemoryManager) RefHashTableOf<SchemaInfo>
+ (
+ 29
+ , false
+ , new (fMemoryManager) HashPtr()
+ , fMemoryManager
+ );
+ fLocator = new (fMemoryManager) XSDLocator();
+ fDeclStack = new (fMemoryManager) ValueVectorOf<const DOMElement*>(16, fMemoryManager);
}
void TraverseSchema::cleanUp() {
1.5 +3 -3 xml-xerces/c/src/xercesc/validators/schema/XercesAttGroupInfo.hpp
Index: XercesAttGroupInfo.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XercesAttGroupInfo.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XercesAttGroupInfo.hpp 16 May 2003 21:43:21 -0000 1.4
+++ XercesAttGroupInfo.hpp 18 May 2003 14:02:08 -0000 1.5
@@ -213,7 +213,7 @@
const bool toClone) {
if (!fAttributes) {
- fAttributes = new (fMemoryManager) RefVectorOf<SchemaAttDef>(4);
+ fAttributes = new (fMemoryManager) RefVectorOf<SchemaAttDef>(4, true, fMemoryManager);
}
if (toClone) {
@@ -228,7 +228,7 @@
const bool toClone) {
if (!fAnyAttributes) {
- fAnyAttributes = new (fMemoryManager) RefVectorOf<SchemaAttDef>(2);
+ fAnyAttributes = new (fMemoryManager) RefVectorOf<SchemaAttDef>(2, true, fMemoryManager);
}
if (toClone) {
1.6 +4 -1 xml-xerces/c/src/xercesc/validators/schema/XercesGroupInfo.cpp
Index: XercesGroupInfo.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XercesGroupInfo.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XercesGroupInfo.cpp 15 May 2003 18:57:27 -0000 1.5
+++ XercesGroupInfo.cpp 18 May 2003 14:02:08 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/05/18 14:02:08 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.5 2003/05/15 18:57:27 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -99,7 +102,7 @@
, fBaseGroup(0)
, fLocator(0)
{
- fElements = new (manager) RefVectorOf<SchemaElementDecl>(4, false);
+ fElements = new (manager) RefVectorOf<SchemaElementDecl>(4, false, manager);
}
1.5 +5 -2 xml-xerces/c/src/xercesc/validators/schema/identity/FieldValueMap.cpp
Index: FieldValueMap.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/FieldValueMap.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FieldValueMap.cpp 15 May 2003 18:59:34 -0000 1.4
+++ FieldValueMap.cpp 18 May 2003 14:02:09 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/05/18 14:02:09 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.4 2003/05/15 18:59:34 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -104,10 +107,10 @@
fFields = new (fMemoryManager) ValueVectorOf<IC_Field*>(*(other.fFields));
fValidators = new (fMemoryManager) ValueVectorOf<DatatypeValidator*>(*(other.fValidators));
- fValues = new (fMemoryManager) RefArrayVectorOf<XMLCh>(other.fFields->curCapacity());
+ fValues = new (fMemoryManager) RefArrayVectorOf<XMLCh>(other.fFields->curCapacity(), true, fMemoryManager);
for (unsigned int i=0; i<valuesSize; i++) {
- fValues->addElement(XMLString::replicate(other.fValues->elementAt(i)));
+ fValues->addElement(XMLString::replicate(other.fValues->elementAt(i), fMemoryManager));
}
}
}
1.6 +4 -4 xml-xerces/c/src/xercesc/validators/schema/identity/FieldValueMap.hpp
Index: FieldValueMap.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/FieldValueMap.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FieldValueMap.hpp 16 May 2003 21:43:22 -0000 1.5
+++ FieldValueMap.hpp 18 May 2003 14:02:09 -0000 1.6
@@ -199,9 +199,9 @@
const XMLCh* const value) {
if (!fFields) {
- fFields = new (fMemoryManager) ValueVectorOf<IC_Field*>(4);
- fValidators = new (fMemoryManager) ValueVectorOf<DatatypeValidator*>(4);
- fValues = new (fMemoryManager) RefArrayVectorOf<XMLCh>(4);
+ fFields = new (fMemoryManager) ValueVectorOf<IC_Field*>(4, fMemoryManager);
+ fValidators = new (fMemoryManager) ValueVectorOf<DatatypeValidator*>(4, fMemoryManager);
+ fValues = new (fMemoryManager) RefArrayVectorOf<XMLCh>(4, true, fMemoryManager);
}
int keyIndex = indexOf(key);
1.5 +2 -2 xml-xerces/c/src/xercesc/validators/schema/identity/IdentityConstraint.hpp
Index: IdentityConstraint.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/IdentityConstraint.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- IdentityConstraint.hpp 16 May 2003 21:43:22 -0000 1.4
+++ IdentityConstraint.hpp 18 May 2003 14:02:09 -0000 1.5
@@ -199,7 +199,7 @@
inline void IdentityConstraint::addField(IC_Field* const field) {
if (!fFields) {
- fFields = new (fMemoryManager) RefVectorOf<IC_Field>(4);
+ fFields = new (fMemoryManager) RefVectorOf<IC_Field>(4, true, fMemoryManager);
}
fFields->addElement(field);
1.7 +5 -2 xml-xerces/c/src/xercesc/validators/schema/identity/ValueStore.cpp
Index: ValueStore.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/ValueStore.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ValueStore.cpp 15 May 2003 18:59:34 -0000 1.6
+++ ValueStore.cpp 18 May 2003 14:02:09 -0000 1.7
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.7 2003/05/18 14:02:09 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.6 2003/05/15 18:59:34 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -162,7 +165,7 @@
// store values
if (!fValueTuples) {
- fValueTuples = new (fMemoryManager) RefVectorOf<FieldValueMap>(4);
+ fValueTuples = new (fMemoryManager) RefVectorOf<FieldValueMap>(4, true, fMemoryManager);
}
fValueTuples->addElement(new (fMemoryManager) FieldValueMap(fValues));
@@ -184,7 +187,7 @@
if (!contains(valueMap)) {
if (!fValueTuples) {
- fValueTuples = new (fMemoryManager) RefVectorOf<FieldValueMap>(4);
+ fValueTuples = new (fMemoryManager) RefVectorOf<FieldValueMap>(4, true, fMemoryManager);
}
fValueTuples->addElement(new (fMemoryManager) FieldValueMap(*valueMap));
1.7 +26 -5 xml-xerces/c/src/xercesc/validators/schema/identity/ValueStoreCache.cpp
Index: ValueStoreCache.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/ValueStoreCache.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ValueStoreCache.cpp 15 May 2003 18:59:34 -0000 1.6
+++ ValueStoreCache.cpp 18 May 2003 14:02:09 -0000 1.7
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.7 2003/05/18 14:02:09 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.6 2003/05/15 18:59:34 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -129,7 +132,13 @@
void ValueStoreCache::startElement() {
fGlobalMapStack->push(fGlobalICMap);
- fGlobalICMap = new (fMemoryManager) RefHashTableOf<ValueStore>(13, false, new (fMemoryManager) HashPtr());
+ fGlobalICMap = new (fMemoryManager) RefHashTableOf<ValueStore>
+ (
+ 13
+ , false
+ , new (fMemoryManager) HashPtr()
+ , fMemoryManager
+ );
}
void ValueStoreCache::endElement() {
@@ -171,10 +180,22 @@
void ValueStoreCache::init() {
- fValueStores = new (fMemoryManager) RefVectorOf<ValueStore>(8);
- fGlobalICMap = new (fMemoryManager) RefHashTableOf<ValueStore>(13, false, new (fMemoryManager) HashPtr());
- fIC2ValueStoreMap = new (fMemoryManager) RefHash2KeysTableOf<ValueStore>(13, false, new (fMemoryManager) HashPtr());
- fGlobalMapStack = new (fMemoryManager) RefStackOf<RefHashTableOf<ValueStore> >(8);
+ fValueStores = new (fMemoryManager) RefVectorOf<ValueStore>(8, true, fMemoryManager);
+ fGlobalICMap = new (fMemoryManager) RefHashTableOf<ValueStore>
+ (
+ 13
+ , false
+ , new (fMemoryManager) HashPtr()
+ , fMemoryManager
+ );
+ fIC2ValueStoreMap = new (fMemoryManager) RefHash2KeysTableOf<ValueStore>
+ (
+ 13
+ , false
+ , new (fMemoryManager) HashPtr()
+ , fMemoryManager
+ );
+ fGlobalMapStack = new (fMemoryManager) RefStackOf<RefHashTableOf<ValueStore> >(8, true, fMemoryManager);
}
void ValueStoreCache::initValueStoresFor(SchemaElementDecl* const elemDecl,
1.8 +6 -3 xml-xerces/c/src/xercesc/validators/schema/identity/XPathMatcher.cpp
Index: XPathMatcher.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/XPathMatcher.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XPathMatcher.cpp 15 May 2003 18:59:34 -0000 1.7
+++ XPathMatcher.cpp 18 May 2003 14:02:09 -0000 1.8
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.8 2003/05/18 14:02:09 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.7 2003/05/15 18:59:34 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -162,7 +165,7 @@
if (fLocationPathSize) {
- fStepIndexes = new (fMemoryManager) RefVectorOf<ValueStackOf<int> >(fLocationPathSize);
+ fStepIndexes = new (fMemoryManager) RefVectorOf<ValueStackOf<int> >(fLocationPathSize, true, fMemoryManager);
fCurrentStep = (int*) fMemoryManager->allocate
(
fLocationPathSize * sizeof(int)
@@ -177,7 +180,7 @@
);//new int[fLocationPathSize];
for(unsigned int i=0; i < fLocationPathSize; i++) {
- fStepIndexes->addElement(new (fMemoryManager) ValueStackOf<int>(8));
+ fStepIndexes->addElement(new (fMemoryManager) ValueStackOf<int>(8, fMemoryManager));
}
}
}
@@ -262,7 +265,7 @@
if (nodeTest->getType() == XercesNodeTest::QNAME) {
- QName elemQName(elemPrefix, elemDecl.getElementName()->getLocalPart(), urlId);
+ QName elemQName(elemPrefix, elemDecl.getElementName()->getLocalPart(), urlId, fMemoryManager);
// if (!(*(nodeTest->getName()) == *(elemDecl.getElementName()))) {
if (!(*(nodeTest->getName()) == elemQName)) {
1.4 +5 -2 xml-xerces/c/src/xercesc/validators/schema/identity/XPathMatcherStack.cpp
Index: XPathMatcherStack.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/XPathMatcherStack.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XPathMatcherStack.cpp 15 May 2003 18:59:34 -0000 1.3
+++ XPathMatcherStack.cpp 18 May 2003 14:02:09 -0000 1.4
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.4 2003/05/18 14:02:09 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.3 2003/05/15 18:59:34 knoaman
* Partial implementation of the configurable memory manager.
*
@@ -82,11 +85,11 @@
// ---------------------------------------------------------------------------
XPathMatcherStack::XPathMatcherStack(MemoryManager* const manager)
: fMatchersCount(0)
- , fContextStack(new (manager) ValueStackOf<int>(8))
+ , fContextStack(new (manager) ValueStackOf<int>(8, manager))
, fMatchers(0)
{
try {
- fMatchers = new (manager) RefVectorOf<XPathMatcher>(8);
+ fMatchers = new (manager) RefVectorOf<XPathMatcher>(8, true, manager);
}
catch(...) {
1.8 +9 -11 xml-xerces/c/src/xercesc/validators/schema/identity/XercesXPath.cpp
Index: XercesXPath.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/XercesXPath.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XercesXPath.cpp 16 May 2003 21:43:22 -0000 1.7
+++ XercesXPath.cpp 18 May 2003 14:02:09 -0000 1.8
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.8 2003/05/18 14:02:09 knoaman
+ * Memory manager implementation: pass per instance manager.
+ *
* Revision 1.7 2003/05/16 21:43:22 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -236,11 +239,6 @@
// ---------------------------------------------------------------------------
// XercesLocationPath: Constructors and Destructor
// ---------------------------------------------------------------------------
-XercesLocationPath::XercesLocationPath()
- : fSteps(0)
-{
-}
-
XercesLocationPath::XercesLocationPath(RefVectorOf<XercesStep>* const steps)
: fSteps(steps)
{
@@ -363,16 +361,16 @@
return;
}
- ValueVectorOf<int> tokens(16);
+ ValueVectorOf<int> tokens(16, fMemoryManager);
XPathScannerForSchema scanner(stringPool);
bool success = scanner.scanExpression(fExpression, 0, length, &tokens);
bool firstTokenOfLocationPath=true;
unsigned int tokenCount = tokens.size();
- RefVectorOf<XercesStep>* stepsVector = new (fMemoryManager) RefVectorOf<XercesStep>(16);
+ RefVectorOf<XercesStep>* stepsVector = new (fMemoryManager) RefVectorOf<XercesStep>(16, true, fMemoryManager);
Janitor<RefVectorOf<XercesStep> > janSteps(stepsVector);
if (tokenCount) {
- fLocationPaths = new (fMemoryManager) RefVectorOf<XercesLocationPath>(8);
+ fLocationPaths = new (fMemoryManager) RefVectorOf<XercesLocationPath>(8, true, fMemoryManager);
}
for (unsigned int i = 0; i < tokenCount; i++) {
@@ -395,7 +393,7 @@
fLocationPaths->addElement(new (fMemoryManager) XercesLocationPath(stepsVector));
janSteps.orphan();
- stepsVector = new (fMemoryManager) RefVectorOf<XercesStep>(16);
+ stepsVector = new (fMemoryManager) RefVectorOf<XercesStep>(16, true, fMemoryManager);
janSteps.reset(stepsVector);
firstTokenOfLocationPath = true;
}
@@ -464,7 +462,7 @@
aToken = tokens.elementAt(++i);
const XMLCh* localPart = stringPool->getValueForId(aToken);
- QName aQName(prefix, localPart, uri);
+ QName aQName(prefix, localPart, uri, fMemoryManager);
// build step
XercesNodeTest* nodeTest = new (fMemoryManager) XercesNodeTest(&aQName);
@@ -535,7 +533,7 @@
aToken = tokens.elementAt(++i);
const XMLCh* localPart = stringPool->getValueForId(aToken);
- QName aQName(prefix, localPart, uri);
+ QName aQName(prefix, localPart, uri, fMemoryManager);
// build step
XercesNodeTest* nodeTest = new (fMemoryManager) XercesNodeTest(&aQName);
1.5 +1 -6 xml-xerces/c/src/xercesc/validators/schema/identity/XercesXPath.hpp
Index: XercesXPath.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/identity/XercesXPath.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XercesXPath.hpp 16 May 2003 21:43:22 -0000 1.4
+++ XercesXPath.hpp 18 May 2003 14:02:09 -0000 1.5
@@ -178,7 +178,6 @@
// -----------------------------------------------------------------------
// Constructors/Destructor
// -----------------------------------------------------------------------
- XercesLocationPath();
XercesLocationPath(RefVectorOf<XercesStep>* const steps);
~XercesLocationPath() { delete fSteps; }
@@ -464,10 +463,6 @@
}
inline void XercesLocationPath::addStep(XercesStep* const aStep) {
-
- if (!fSteps) {
- fSteps = new RefVectorOf<XercesStep>(16);
- }
fSteps->addElement(aStep);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org