summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/Opcode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/bytecode/Opcode.cpp')
-rw-r--r--Source/JavaScriptCore/bytecode/Opcode.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/bytecode/Opcode.cpp b/Source/JavaScriptCore/bytecode/Opcode.cpp
index 0d16dfc2f..25e857d76 100644
--- a/Source/JavaScriptCore/bytecode/Opcode.cpp
+++ b/Source/JavaScriptCore/bytecode/Opcode.cpp
@@ -49,6 +49,18 @@ const char* const opcodeNames[] = {
#if ENABLE(OPCODE_STATS)
+inline const char* padOpcodeName(OpcodeID op, unsigned width)
+{
+ auto padding = " ";
+ auto paddingLength = strlen(padding);
+ auto opcodeNameLength = strlen(opcodeNames[op]);
+ if (opcodeNameLength >= width)
+ return "";
+ if (paddingLength + opcodeNameLength < width)
+ return padding;
+ return &padding[paddingLength + opcodeNameLength - width];
+}
+
long long OpcodeStats::opcodeCounts[numOpcodeIDs];
long long OpcodeStats::opcodePairCounts[numOpcodeIDs][numOpcodeIDs];
int OpcodeStats::lastOpcode = -1;
@@ -80,9 +92,9 @@ static int compareOpcodeIndices(const void* left, const void* right)
static int compareOpcodePairIndices(const void* left, const void* right)
{
- std::pair<int, int> leftPair = *(pair<int, int>*) left;
+ std::pair<int, int> leftPair = *(std::pair<int, int>*) left;
long long leftValue = OpcodeStats::opcodePairCounts[leftPair.first][leftPair.second];
- std::pair<int, int> rightPair = *(pair<int, int>*) right;
+ std::pair<int, int> rightPair = *(std::pair<int, int>*) right;
long long rightValue = OpcodeStats::opcodePairCounts[rightPair.first][rightPair.second];
if (leftValue < rightValue)