Author: ivan
Date: Thu May 19 23:12:14 2011
New Revision: 1125171
URL: http://svn.apache.org/viewvc?rev=1125171&view=rev
Log:
Fix deferred group initialization in membuffer cache.
* subversion/libsvn_subr/cache-membuffer.c
(initialize_group): Remove premature optimization and fix the code. Let's
compiler care about low-level performance.
Modified:
subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
Modified: subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cache-membuffer.c?rev=1125171&r1=1125170&r2=1125171&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cache-membuffer.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cache-membuffer.c Thu May 19
23:12:14 2011
@@ -677,8 +677,7 @@ static void
initialize_group(svn_membuffer_t *cache, apr_uint32_t group_index)
{
unsigned char bit_mask;
- entry_t *entry;
- apr_uint32_t i;
+ apr_uint32_t i, j;
/* range of groups to initialize due to GROUP_INIT_GRANULARITY */
apr_uint32_t first_index =
@@ -687,13 +686,9 @@ initialize_group(svn_membuffer_t *cache,
if (last_index > cache->group_count)
last_index = cache->group_count;
- /* initialize their entries */
- first_index *= GROUP_SIZE;
- last_index *= GROUP_SIZE;
-
- entry = &cache->directory[0][0];
for (i = first_index; i < last_index; ++i)
- entry[i].offset = NO_OFFSET;
+ for (j = 0; j < GROUP_SIZE; j++)
+ cache->directory[i][j].offset = NO_OFFSET;
/* set the "initialized" bit for these groups */
bit_mask = 1 << ((group_index / GROUP_INIT_GRANULARITY) % 8);