diff options
author | Jonathan Wakely <redi@gcc.gnu.org> | 2004-02-26 11:35:06 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2004-02-26 11:35:06 +0000 |
commit | cec0e70b442f27e1eab654061caf454de8e1ea5e (patch) | |
tree | 552b5d8a82d84998a1ad86cd473ac16d7a2a0cca /libstdc++-v3/docs | |
parent | 1e2a4850db7dcb27d4fed3d486a329650cb0dbd1 (diff) | |
download | gcc-cec0e70b442f27e1eab654061caf454de8e1ea5e.zip gcc-cec0e70b442f27e1eab654061caf454de8e1ea5e.tar.gz gcc-cec0e70b442f27e1eab654061caf454de8e1ea5e.tar.bz2 |
howto.html, [...]: Fix markup, more <link> tags.
2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
* docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
Fix markup, more <link> tags.
From-SVN: r78495
Diffstat (limited to 'libstdc++-v3/docs')
-rw-r--r-- | libstdc++-v3/docs/html/20_util/allocator.html | 14 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/20_util/howto.html | 2 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/ext/howto.html | 2 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/ext/mt_allocator.html | 25 |
4 files changed, 27 insertions, 16 deletions
diff --git a/libstdc++-v3/docs/html/20_util/allocator.html b/libstdc++-v3/docs/html/20_util/allocator.html index 43aaae7..07e8e2d 100644 --- a/libstdc++-v3/docs/html/20_util/allocator.html +++ b/libstdc++-v3/docs/html/20_util/allocator.html @@ -11,6 +11,10 @@ <meta name="GENERATOR" content="emacs and ten fingers" /> <title>Allocators and allocation</title> <link rel="StyleSheet" href="../lib3styles.css" type="text/css" /> +<link rel="Start" href="../documentation.html" type="text/html" + title="GNU C++ Standard Library" /> +<link rel="Bookmark" href="howto.html" type="text/html" + title="General Utilities" /> <link rel="Copyright" href="../17_intro/license.html" type="text/html" /> </head> <body> @@ -35,7 +39,7 @@ </p> <h3 class="left"> - <a name="standard requirements">Standard requirements</a> + <a name="standard_requirements">Standard requirements</a> </h3> <p>The C++ standard only gives a few directives in this area: </p> @@ -74,7 +78,7 @@ </p> <h3 class="left"> - <a name="probs possibilities">Problems and Possibilities</a> + <a name="probs_possibilities">Problems and Possibilities</a> </h3> <p>The easiest way of fulfilling the requirements is to call operator new each time a container needs memory, and to call operator delete each @@ -256,7 +260,7 @@ </p> <h3 class="left"> - <a name="ext allocators">Other allocators</a> + <a name="ext_allocators">Other allocators</a> </h3> <p> Several other allocators are provided as part of this implementation. The location of the extension allocators and their @@ -381,7 +385,7 @@ <h3 class="left"> - <a name="using custom allocators">Using a specific allocator</a> + <a name="using_custom_allocators">Using a specific allocator</a> </h3> <p>You can specify different memory management schemes on a per-container basis, by overriding the default @@ -397,7 +401,7 @@ <h3 class="left"> - <a name="custom allocators">Writing custom allocators</a> + <a name="custom_allocators">Writing custom allocators</a> </h3> <p> Writing a portable C++ allocator would dictate that the interface would look much like the one specified for <code> diff --git a/libstdc++-v3/docs/html/20_util/howto.html b/libstdc++-v3/docs/html/20_util/howto.html index 9597707..4c40459 100644 --- a/libstdc++-v3/docs/html/20_util/howto.html +++ b/libstdc++-v3/docs/html/20_util/howto.html @@ -18,6 +18,8 @@ title="Diagnostics" /> <link rel="Next" href="../21_strings/howto.html" type="text/html" title="Strings" /> +<link rel="Bookmark" href="allocator.html" type="text/html" + title="Allocators and allocation" /> <link rel="Copyright" href="../17_intro/license.html" type="text/html" /> <link rel="Help" href="../faq/index.html" type="text/html" title="F.A.Q." /> </head> diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html index 3e5c35c..41fe10b 100644 --- a/libstdc++-v3/docs/html/ext/howto.html +++ b/libstdc++-v3/docs/html/ext/howto.html @@ -18,6 +18,8 @@ title="Input/Output" /> <link rel="Bookmark" href="sgiexts.html" type="text/html" title="SGI extensions" /> +<link rel="Bookmark" href="mt_allocator.html" type="text/html" + title="__mt_alloc" /> <link rel="Copyright" href="../17_intro/license.html" type="text/html" /> </head> <body> diff --git a/libstdc++-v3/docs/html/ext/mt_allocator.html b/libstdc++-v3/docs/html/ext/mt_allocator.html index e806395..7272711 100644 --- a/libstdc++-v3/docs/html/ext/mt_allocator.html +++ b/libstdc++-v3/docs/html/ext/mt_allocator.html @@ -5,12 +5,15 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> - <meta name="AUTHOR" content="Stefan Olsson <stefan@xapa.se>" /> + <meta name="AUTHOR" content="Stefan Olsson <stefan@xapa.se>" /> <meta name="KEYWORDS" content="c++, libstdc++, g++, allocator, memory" /> <meta name="DESCRIPTION" content="Allocators and allocation" /> <meta name="GENERATOR" content="emacs and ten fingers" /> <title>A fixed-size, multi-thread optimized allocator</title> <link rel="StyleSheet" href="../lib3styles.css" type="text/css" /> +<link rel="Start" href="../documentation.html" type="text/html" + title="GNU C++ Standard Library" /> +<link rel="Bookmark" href="howto.html" type="text/html" title="Extensions" /> <link rel="Copyright" href="../17_intro/license.html" type="text/html" /> </head> <body> @@ -61,8 +64,8 @@ are initialized to their default values at file scope, i.e.: </p> <pre> - template<typename _Tp> size_t - __mt_alloc<_Tp>::_S_freelist_headroom = 10; + template<typename _Tp> size_t + __mt_alloc<_Tp>::_S_freelist_headroom = 10; </pre> <p> @@ -100,7 +103,7 @@ The _S_init() function: as many bin_records in this array as the number of bins that we calculated earlier. I.e., if _S_max_bytes = 128 there will be 8 entries. Each bin_record is then initialized: - - bin_record->first = An array of pointers to block_records. There will be + - bin_record->first = An array of pointers to block_records. There will be as many block_records pointers as there are maximum number of threads (in a ST application there is only 1 thread, in a MT application there are _S_max_threads). @@ -127,7 +130,7 @@ The _S_init() function: created thread and we pop the first entry from this list and saves the pointer to this record in the _S_thread_key variable. The next time we will get the pointer to the thread_record back and we use the - thread_record->thread_id as identification. I.e., the first thread that + thread_record->thread_id as identification. I.e., the first thread that calls allocate will get the first record in this list and thus be thread number 1 and will then find the pointer to its first free 32 byte block in _S_bin[ 5 ].first[ 1 ] @@ -140,12 +143,12 @@ The _S_init() function: </p> <p> - Initialize the free and used counters of each bin_record: - - bin_record->free = An array of size_t. This keeps track of the number + - bin_record->free = An array of size_t. This keeps track of the number of blocks on a specific thread's freelist in each bin. I.e., if a thread has 12 32-byte blocks on it's freelists and allocates one of these, this counter would be decreased to 11. - - bin_record->used = An array of size_t. This keeps track of the number + - bin_record->used = An array of size_t. This keeps track of the number of blocks currently in use of this size by this thread. I.e., if a thread has made 678 requests (and no deallocations...) of 32-byte blocks this counter will read 678. @@ -155,7 +158,7 @@ The _S_init() function: </p> <p> - Initialize the mutex of each bin_record: - The bin_record->mutex is used to protect the global freelist. This concept + The bin_record->mutex is used to protect the global freelist. This concept of a global freelist is explained in more detail in the section "A multi threaded example", but basically this mutex is locked whenever a block of memory is retrieved or returned to the global freelist for this @@ -194,7 +197,7 @@ This is the first two blocks in freelist for thread id 3 in bin 3 (8 bytes): | | | +----------------+ | +----------------+ | -| next* |<-+ (If next == NULL it's the last one on the list) +| next* |<-+ (If next == NULL it's the last one on the list) | | | | | | @@ -223,7 +226,7 @@ assigned this id since they span from 1 to _S_max_threads in a MT application). </p> <p> When the application requests memory (calling allocate()) we first look at the -requested size and if this is > _S_max_bytes we call new() directly and return. +requested size and if this is > _S_max_bytes we call new() directly and return. </p> <p> If the requested size is within limits we start by finding out from which @@ -297,7 +300,7 @@ not when a deallocation occurs. <p> When the application requests memory (calling allocate()) we first -look at the requested size and if this is > _S_max_bytes we call new() +look at the requested size and if this is > _S_max_bytes we call new() directly and return. </p> |