You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2002/04/18 06:51:50 UTC

cvs commit: xml-xalan/c/src/XalanSourceTree XalanSourceTreeDocument.cpp XalanSourceTreeDocument.hpp

dbertoni    02/04/17 21:51:50

  Modified:    c/src/XalanSourceTree XalanSourceTreeDocument.cpp
                        XalanSourceTreeDocument.hpp
  Log:
  New constructor for choosing node allocator block sizes.
  
  Revision  Changes    Path
  1.29      +44 -9     xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.cpp
  
  Index: XalanSourceTreeDocument.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.cpp,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- XalanSourceTreeDocument.cpp	6 Apr 2002 19:36:51 -0000	1.28
  +++ XalanSourceTreeDocument.cpp	18 Apr 2002 04:51:50 -0000	1.29
  @@ -2,7 +2,7 @@
    * The Apache Software License, Version 1.1
    *
    *
  - * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights 
  + * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights 
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -95,16 +95,51 @@
   	XalanDocument(),
   	m_firstChild(0),
   	m_documentElement(0),
  -	m_attributeAllocator(200),
  -	m_attributeNSAllocator(50),
  -	m_commentAllocator(20),
  -	m_elementAllocator(200),
  -	m_elementNSAllocator(200),
  -	m_piAllocator(25),
  -	m_textAllocator(200),
  -	m_textIWSAllocator(400),
  +	m_attributeAllocator(eDefaultAttributeAllocatorBlockSize),
  +	m_attributeNSAllocator(eDefaultAttributeNSAllocatorBlockSize),
  +	m_commentAllocator(eDefaultCommentAllocatorBlockSize),
  +	m_elementAllocator(eDefaultElementAllocatorBlockSize),
  +	m_elementNSAllocator(eDefaultElementNSAllocatorBlockSize),
  +	m_piAllocator(eDefaultPIAllocatorBlockSize),
  +	m_textAllocator(eDefaultTextAllocatorBlockSize),
  +	m_textIWSAllocator(eDefaultTextIWSAllocatorBlockSize),
   	m_namesStringPool(theNamesStringPoolBlockSize, theNamesStringPoolBucketCount, theNamesStringPoolBucketSize),
   	m_valuesStringPool(theValuesStringPoolBlockSize, theValuesStringPoolBucketCount, theValuesStringPoolBucketSize),
  +	m_attributesVector(),
  +	m_nextIndexValue(2),
  +	m_poolAllText(fPoolAllText),
  +	m_elementsByID(),
  +	m_unparsedEntityURIs(),
  +	m_nonPooledStrings(),
  +	m_stringBuffer()
  +{
  +}
  +
  +
  +
  +XalanSourceTreeDocument::XalanSourceTreeDocument(
  +			allocator_size_type		theAttributeBlockSize,
  +			allocator_size_type		theAttributeNSBlockSize,
  +			allocator_size_type		theCommentBlockSize,
  +			allocator_size_type		theElementBlockSize,
  +			allocator_size_type		theElementNSBlockSize,
  +			allocator_size_type		thePIBlockSize,
  +			allocator_size_type		theTextBlockSize,
  +			allocator_size_type		theTextIWSBlockSize,
  +			bool					fPoolAllText) :
  +	XalanDocument(),
  +	m_firstChild(0),
  +	m_documentElement(0),
  +	m_attributeAllocator(theAttributeBlockSize),
  +	m_attributeNSAllocator(theAttributeNSBlockSize),
  +	m_commentAllocator(theCommentBlockSize),
  +	m_elementAllocator(theElementBlockSize),
  +	m_elementNSAllocator(theElementNSBlockSize),
  +	m_piAllocator(thePIBlockSize),
  +	m_textAllocator(theTextBlockSize),
  +	m_textIWSAllocator(theTextIWSBlockSize),
  +	m_namesStringPool(eDefaultNamesStringPoolBlockSize, eDefaultNamesStringPoolBucketCount, eDefaultNamesStringPoolBucketSize),
  +	m_valuesStringPool(eDefaultValuesStringPoolBlockSize, eDefaultValuesStringPoolBucketCount, eDefaultValuesStringPoolBucketSize),
   	m_attributesVector(),
   	m_nextIndexValue(2),
   	m_poolAllText(fPoolAllText),
  
  
  
  1.17      +39 -5     xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.hpp
  
  Index: XalanSourceTreeDocument.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XalanSourceTree/XalanSourceTreeDocument.hpp,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- XalanSourceTreeDocument.hpp	6 Apr 2002 19:36:51 -0000	1.16
  +++ XalanSourceTreeDocument.hpp	18 Apr 2002 04:51:50 -0000	1.17
  @@ -2,7 +2,7 @@
    * The Apache Software License, Version 1.1
    *
    *
  - * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights 
  + * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights 
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -142,7 +142,15 @@
   	terminate();
   
   
  -	enum { eDefaultNamesStringPoolBlockSize = XalanDOMStringPool::eDefaultBlockSize,
  +	enum { eDefaultAttributeAllocatorBlockSize = 100,
  +		   eDefaultAttributeNSAllocatorBlockSize = 50,
  +		   eDefaultCommentAllocatorBlockSize = 10,
  +		   eDefaultElementAllocatorBlockSize = 100,
  +		   eDefaultElementNSAllocatorBlockSize = 100,
  +		   eDefaultPIAllocatorBlockSize = 10,
  +		   eDefaultTextAllocatorBlockSize = 100,
  +		   eDefaultTextIWSAllocatorBlockSize = 100,
  +		   eDefaultNamesStringPoolBlockSize = XalanDOMStringPool::eDefaultBlockSize,
   		   eDefaultNamesStringPoolBucketCount = XalanDOMStringPool::eDefaultBucketCount,
   		   eDefaultNamesStringPoolBucketSize = XalanDOMStringPool::eDefaultBucketSize,
   		   eDefaultValuesStringPoolBlockSize = XalanDOMStringPool::eDefaultBlockSize,
  @@ -150,9 +158,10 @@
   		   eDefaultValuesStringPoolBucketSize = XalanDOMStringPool::eDefaultBucketSize };
   
   
  -	typedef XalanDOMStringPool::block_size_type		block_size_type;
  -	typedef XalanDOMStringPool::bucket_count_type	bucket_count_type;
  -	typedef XalanDOMStringPool::bucket_size_type	bucket_size_type;
  +	typedef XalanSourceTreeAttributeAllocator::size_type	allocator_size_type;
  +	typedef XalanDOMStringPool::block_size_type				block_size_type;
  +	typedef XalanDOMStringPool::bucket_count_type			bucket_count_type;
  +	typedef XalanDOMStringPool::bucket_size_type			bucket_size_type;
   
   	/**
   	 *
  @@ -175,6 +184,31 @@
   			block_size_type		theValuesStringPoolBlockSize = eDefaultValuesStringPoolBlockSize,
   			bucket_count_type	theValuesStringPoolBucketCount = eDefaultValuesStringPoolBucketCount,
   			bucket_size_type	theValuesStringPoolBucketSize = eDefaultValuesStringPoolBucketSize);
  +
  +	/**
  +	 *
  +	 * Constructor for XalanSourceTreeDocument.
  +	 *
  +	 * @param theAttributeBlockSize The block size for allocating attribute nodes
  +	 * @param theAttributeNSBlockSize The block size for allocating attribute NS nodes
  +	 * @param theCommentBlockSize The block size for allocating comment nodes
  +	 * @param theElementBlockSize The block size for allocating element nodes
  +	 * @param theElementNSBlockSize The block size for allocating element nodes
  +	 * @param theTextBlockSize The block size for allocating text nodes,
  +	 * @param theTextIWSBlockSize The block size for allocating text IWS nodes,
  +	 * @param fPoolAllText If false, text node data that is not whitespace will not be pooled.
  +	 *
  +	 */
  +	XalanSourceTreeDocument(
  +			allocator_size_type		theAttributeBlockSize,
  +			allocator_size_type		theAttributeNSBlockSize,
  +			allocator_size_type		theCommentBlockSize,
  +			allocator_size_type		theElementBlockSize,
  +			allocator_size_type		theElementNSBlockSize,
  +			allocator_size_type		thePIBlockSize,
  +			allocator_size_type		theTextBlockSize,
  +			allocator_size_type		theTextIWSBlockSize,
  +			bool					fPoolAllText = true);
   
   	virtual
   	~XalanSourceTreeDocument();
  
  
  

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