Skip to content

Commit e6951da

Browse files
author
Mihail Slavchev
committed
format RegExp function name in CPU profile output
1 parent 64c0566 commit e6951da

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

runtime/src/main/jni/Profiler.cpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ bool Profiler::Write(CpuProfile *cpuProfile)
148148
char buff[1024];
149149
auto COMMA_NODE = reinterpret_cast<const CpuProfileNode*>(1);
150150
auto CLOSE_NODE = reinterpret_cast<const CpuProfileNode*>(2);
151+
auto PREFIX = string("RegExp:");
151152

152153
while (!s.empty())
153154
{
@@ -163,12 +164,21 @@ bool Profiler::Write(CpuProfile *cpuProfile)
163164
}
164165
else
165166
{
167+
auto funcName = ArgConverter::ConvertToString(node->GetFunctionName());
168+
auto scriptName = ArgConverter::ConvertToString(node->GetScriptResourceName());
169+
auto lineNumber = node->GetLineNumber();
170+
auto columnNumber = node->GetColumnNumber();
171+
if (funcName.compare(0, PREFIX.size(), PREFIX) == 0) {
172+
stringstream ss;
173+
ss << "RegExp_" << scriptName << "_" << lineNumber << "_" << columnNumber;
174+
funcName = ss.str();
175+
}
166176
snprintf(buff, sizeof(buff), "{\"functionName\":\"%s\",\"scriptId\":%d,\"url\":\"%s\",\"lineNumber\":%d,\"columnNumber\":%d,\"hitCount\":%u,\"callUID\":%u,\"deoptReason\":\"%s\",\"id\":%u,\"children\":[",
167-
ArgConverter::ConvertToString(node->GetFunctionName()).c_str(),
177+
funcName.c_str(),
168178
node->GetScriptId(),
169-
ArgConverter::ConvertToString(node->GetScriptResourceName()).c_str(),
170-
node->GetLineNumber(),
171-
node->GetColumnNumber(),
179+
scriptName.c_str(),
180+
lineNumber,
181+
columnNumber,
172182
node->GetHitCount(),
173183
node->GetCallUid(),
174184
node->GetBailoutReason(),

0 commit comments

Comments
 (0)