Get rid of two global constructors by making things static variables in the only function that uses these variables.

llvm-svn: 264347
This commit is contained in:
Greg Clayton
2016-03-24 21:48:10 +00:00
parent 8e1232af42
commit 1e05c3bc28
2 changed files with 8 additions and 9 deletions

View File

@@ -757,8 +757,6 @@ const uint32_t RenderScriptRuntime::AllocationDetails::RSTypeToFormat[][3] = {
{eFormatVectorOfFloat32, eFormatVectorOfFloat32, sizeof(float) * 4} // RS_TYPE_MATRIX_2X2
};
const std::string RenderScriptRuntime::s_runtimeExpandSuffix(".expand");
const std::array<const char *, 3> RenderScriptRuntime::s_runtimeCoordVars{{"rsIndex", "p->current.y", "p->current.z"}};
//------------------------------------------------------------------
// Static Functions
//------------------------------------------------------------------
@@ -3267,6 +3265,9 @@ RenderScriptRuntime::GetFrameVarAsUnsigned(const StackFrameSP frame_sp, const ch
bool
RenderScriptRuntime::GetKernelCoordinate(RSCoordinate &coord, Thread *thread_ptr)
{
static const std::string s_runtimeExpandSuffix(".expand");
static const std::array<const char *, 3> s_runtimeCoordVars{{"rsIndex", "p->current.y", "p->current.z"}};
Log *log(GetLogIfAnyCategoriesSet(LIBLLDB_LOG_LANGUAGE));
if (!thread_ptr)
@@ -3299,13 +3300,13 @@ RenderScriptRuntime::GetKernelCoordinate(RSCoordinate &coord, Thread *thread_ptr
// Check if function name has .expand suffix
std::string func_name(func_name_cstr);
const int length_difference = func_name.length() - RenderScriptRuntime::s_runtimeExpandSuffix.length();
const int length_difference = func_name.length() - s_runtimeExpandSuffix.length();
if (length_difference <= 0)
continue;
const int32_t has_expand_suffix = func_name.compare(length_difference,
RenderScriptRuntime::s_runtimeExpandSuffix.length(),
RenderScriptRuntime::s_runtimeExpandSuffix);
s_runtimeExpandSuffix.length(),
s_runtimeExpandSuffix);
if (has_expand_suffix != 0)
continue;
@@ -3315,12 +3316,12 @@ RenderScriptRuntime::GetKernelCoordinate(RSCoordinate &coord, Thread *thread_ptr
// Get values for variables in .expand frame that tell us the current kernel invocation
bool found_coord_variables = true;
assert(RenderScriptRuntime::s_runtimeCoordVars.size() == coord.size());
assert(s_runtimeCoordVars.size() == coord.size());
for (uint32_t i = 0; i < coord.size(); ++i)
{
uint64_t value = 0;
if (!GetFrameVarAsUnsigned(frame_sp, RenderScriptRuntime::s_runtimeCoordVars[i], value))
if (!GetFrameVarAsUnsigned(frame_sp, s_runtimeCoordVars[i], value))
{
found_coord_variables = false;
break;