diff options
Diffstat (limited to 'Source/JavaScriptCore/bytecode/Opcode.cpp')
-rw-r--r-- | Source/JavaScriptCore/bytecode/Opcode.cpp | 16 |
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) |