From 4ef3ca08100098a323216c34247e6ad126039e72 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Fri, 13 Sep 2019 08:31:53 -0400
Subject: [PATCH] Optimize a loop hotspot

---
 indra/newview/llvovolume.cpp   | 24 ++++++++++++------------
 indra/newview/llwlparamset.cpp |  6 +++---
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 692878c28f..430ac5dcc6 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -6287,7 +6287,7 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
 		
 		U32 buffer_count = 0;
 
-		for (LLSpatialGroup::element_iter drawable_iter = group->getDataBegin(); drawable_iter != group->getDataEnd(); ++drawable_iter)
+		for (LLSpatialGroup::element_iter drawable_iter = group->getDataBegin(), drawable_iter_end = group->getDataEnd(); drawable_iter != drawable_iter_end; ++drawable_iter)
 		{
 			LLDrawable* drawablep = (LLDrawable*)(*drawable_iter)->getDrawable();
 
@@ -6352,18 +6352,18 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
 		
 		{
 			LL_RECORD_BLOCK_TIME(FTM_REBUILD_MESH_FLUSH);
-			for (LLVertexBuffer** iter = locked_buffer, ** end_iter = locked_buffer+buffer_count; iter != end_iter; ++iter)
-		{
-			(*iter)->flush();
-		}
+			for (LLVertexBuffer** iter = locked_buffer, **end_iter = locked_buffer + buffer_count; iter != end_iter; ++iter)
+			{
+				(*iter)->flush();
+			}
 
-		// don't forget alpha
-		if(group != NULL && 
-		   !group->mVertexBuffer.isNull() && 
-		   group->mVertexBuffer->isLocked())
-		{
-			group->mVertexBuffer->flush();
-		}
+			// don't forget alpha
+			if (group != NULL &&
+				group->mVertexBuffer.notNull() &&
+				group->mVertexBuffer->isLocked())
+			{
+				group->mVertexBuffer->flush();
+			}
 		}
 
 		//if not all buffers are unmapped
diff --git a/indra/newview/llwlparamset.cpp b/indra/newview/llwlparamset.cpp
index b88a2e9fc8..5aaa20aabc 100644
--- a/indra/newview/llwlparamset.cpp
+++ b/indra/newview/llwlparamset.cpp
@@ -64,9 +64,9 @@ static LLTrace::BlockTimerStatHandle FTM_WL_PARAM_UPDATE("WL Param Update");
 void LLWLParamSet::update(LLGLSLShader * shader) const 
 {	
 	LL_RECORD_BLOCK_TIME(FTM_WL_PARAM_UPDATE);
-	LLSD::map_const_iterator i = mParamValues.beginMap();
-	std::vector<LLStaticHashedString>::const_iterator n = mParamHashedNames.begin();
-	for(;(i != mParamValues.endMap()) && (n != mParamHashedNames.end());++i, n++)
+	LLSD::map_const_iterator i = mParamValues.beginMap(), i_end = mParamValues.endMap();
+	std::vector<LLStaticHashedString>::const_iterator n = mParamHashedNames.begin(), n_end = mParamHashedNames.end();
+	for(;(i != i_end) && (n != n_end); ++i, ++n)
 	{
 		const LLStaticHashedString& param = *n;
 		
-- 
GitLab