dbertoni 01/05/10 10:57:18
Modified: c/src/XPath XPathExecutionContextDefault.cpp
XPathExecutionContextDefault.hpp
Log:
Changes for new XalanObjectCache implementation.
Revision Changes Path
1.36 +5 -14 xml-xalan/c/src/XPath/XPathExecutionContextDefault.cpp
Index: XPathExecutionContextDefault.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContextDefault.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- XPathExecutionContextDefault.cpp 2001/04/30 18:11:02 1.35
+++ XPathExecutionContextDefault.cpp 2001/05/10 17:57:12 1.36
@@ -98,8 +98,8 @@
m_contextNodeList(theContextNodeList == 0 ? &s_dummyList :
theContextNodeList),
m_prefixResolver(thePrefixResolver),
m_throwFoundIndex(false),
- m_nodeListCache(),
- m_resultTreeFragCache(),
+ m_nodeListCache(eNodeListCacheListSize),
+ m_resultTreeFragCache(eResultTreeFragCacheListSize),
m_stringCache()
{
}
@@ -118,8 +118,8 @@
m_contextNodeList(theContextNodeList == 0 ? &s_dummyList :
theContextNodeList),
m_prefixResolver(thePrefixResolver),
m_throwFoundIndex(false),
- m_nodeListCache(),
- m_resultTreeFragCache(),
+ m_nodeListCache(eNodeListCacheListSize),
+ m_resultTreeFragCache(eResultTreeFragCacheListSize),
m_stringCache()
{
}
@@ -323,16 +323,7 @@
bool
XPathExecutionContextDefault::returnMutableNodeRefList(MutableNodeRefList*
theList)
{
- if (m_nodeListCache.release(theList) == false)
- {
- return false;
- }
- else
- {
- theList->clear();
-
- return true;
- }
+ return m_nodeListCache.release(theList);
}
1.34 +6 -13 xml-xalan/c/src/XPath/XPathExecutionContextDefault.hpp
Index: XPathExecutionContextDefault.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContextDefault.hpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- XPathExecutionContextDefault.hpp 2001/04/30 18:11:02 1.33
+++ XPathExecutionContextDefault.hpp 2001/05/10 17:57:13 1.34
@@ -347,18 +347,11 @@
protected:
- class XalanResultTreeFragCache : public
XalanObjectCache<ResultTreeFragBase>
- {
- protected:
-
- virtual ResultTreeFragBase*
- create()
- {
- return new ResultTreeFrag;
- }
- };
+ typedef XalanObjectCache<MutableNodeRefList,
DefaultCacheCreateFunctor<MutableNodeRefList>,
DeleteFunctor<MutableNodeRefList>, ClearCacheResetFunctor<MutableNodeRefList> >
NodeListCacheType;
+ typedef XalanObjectCache<ResultTreeFragBase,
DefaultCacheCreateFunctor<ResultTreeFrag>, DeleteFunctor<ResultTreeFragBase>,
ClearCacheResetFunctor<ResultTreeFragBase> > ResultTreeFragCacheType;
- enum { eCachedArgVectorDefaultSize = 10 };
+ enum { eNodeListCacheListSize = 50,
+ eResultTreeFragCacheListSize = 50 };
XPathEnvSupport* m_xpathEnvSupport;
@@ -376,9 +369,9 @@
XalanDOMString m_currentPattern;
- XalanObjectCacheDefault<MutableNodeRefList> m_nodeListCache;
+ NodeListCacheType m_nodeListCache;
- XalanResultTreeFragCache m_resultTreeFragCache;
+ ResultTreeFragCacheType m_resultTreeFragCache;
XalanDOMStringCache m_stringCache;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]