in core/src/main/java/org/adoptopenjdk/jitwatch/model/assembly/AssemblyInstruction.java [161:234]
public String toString(int annoWidth, boolean useLocalLabels)
{
StringBuilder builder = new StringBuilder();
builder.append(StringUtil.alignLeft(annotation, annoWidth));
if (useLocalLabels)
{
labels.formatAddress(address, builder);
}
else
{
builder.append(S_HEX_PREFIX).append(StringUtil.pad(Long.toHexString(address), 16, '0', true));
}
builder.append(C_COLON).append(C_SPACE);
if (!prefixes.isEmpty())
{
for (String prefix : prefixes)
{
builder.append(prefix);
builder.append(C_SPACE);
}
}
builder.append(mnemonic);
if (useLocalLabels)
{
labels.formatOperands(this, builder);
}
else
{
if (operands.size() > 0)
{
builder.append(C_SPACE);
for (String op : operands)
{
builder.append(op).append(S_COMMA);
}
builder.deleteCharAt(builder.length() - 1);
}
}
int lineLength = builder.length();
if (commentLines.size() > 0)
{
boolean first = true;
for (String commentLine : commentLines)
{
if (first)
{
builder.append(S_DOUBLE_SPACE).append(commentLine).append(S_NEWLINE);
first = false;
}
else
{
builder.append(StringUtil.repeat(C_SPACE, lineLength + 2));
builder.append(commentLine).append(S_NEWLINE);
}
}
}
else
{
builder.append(S_NEWLINE);
}
return StringUtil.rtrim(builder.toString());
}