aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/ProfilingUtils.hpp
diff options
context:
space:
mode:
authorKeith Davis <keith.davis@arm.com>2020-03-11 12:17:05 +0000
committerJim Flynn <jim.flynn@arm.com>2020-03-11 17:42:33 +0000
commit5238aff21baf0b35c36ab0cc72c7a46888e3bd08 (patch)
tree531ab960cd38b4255d6537393dbe8adf1d9ffb26 /src/profiling/ProfilingUtils.hpp
parentf3a43238858a91bbd3719efc5ae6e1a3992b2d23 (diff)
downloadarmnn-5238aff21baf0b35c36ab0cc72c7a46888e3bd08.tar.gz
IVGCVSW-4542 Refactor TimelineDecoder parsing of TimelinePackets
* Added test to add multiple SwTraceMessages to the buffer * Updated TimelineCaptureCommandHandler to iterate until there are no more read functions in the packet * Further commenting Change-Id: I41d5acf4f7288ce5a51ffd10a5eea335ac3026ec Signed-off-by: Keith Davis <keith.davis@arm.com>
Diffstat (limited to 'src/profiling/ProfilingUtils.hpp')
-rw-r--r--src/profiling/ProfilingUtils.hpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/profiling/ProfilingUtils.hpp b/src/profiling/ProfilingUtils.hpp
index 26043612e0..37ab88cb6f 100644
--- a/src/profiling/ProfilingUtils.hpp
+++ b/src/profiling/ProfilingUtils.hpp
@@ -108,7 +108,10 @@ bool StringToSwTraceString(const std::string& s, std::vector<uint32_t>& outputBu
// Prepare the output buffer
size_t s_size = s.size() + 1; // The size of the string (in chars) plus the null-terminator
size_t uint32_t_size = sizeof(uint32_t);
- size_t outBufferSize = 1 + s_size / uint32_t_size + (s_size % uint32_t_size != 0 ? 1 : 0);
+ // Output buffer size = StringLength (32 bit) + amount of complete 32bit words that fit into the string
+ // + an additional 32bit word if there are remaining chars to complete the string
+ // (The rest of the 32bit word is then filled with the NULL terminator)
+ size_t outBufferSize = 1 + (s_size / uint32_t_size) + (s_size % uint32_t_size != 0 ? 1 : 0);
outputBuffer.resize(outBufferSize, '\0');
// Write the SWTrace string to the output buffer