builder.Append("NEW_MULTI_DIM_ARR__NON_VAR_ARG");
break;
+ case ReadyToRunHelper.MonitorEnter:
+ builder.Append("MONITOR_ENTER");
+ break;
+
+ case ReadyToRunHelper.MonitorExit:
+ builder.Append("MONITOR_EXIT");
+ break;
+
// Helpers used with generic handle lookup cases
case ReadyToRunHelper.NewObject:
builder.Append("NEW_OBJECT");
break;
default:
- // TODO: Something is wrong with helper signature parsing
- builder.Append(string.Format("Unknown helper: {0:X2}", helperType));
- break;
+ throw new BadImageFormatException();
}
}
}
_writer.WriteLine();
}
-
BaseGcInfo gcInfo = (_options.HideTransitions ? null : rtf.Method?.GcInfo);
- if (gcInfo != null && gcInfo.Transitions.TryGetValue(codeOffset, out List<BaseGcTransition> transitionsForOffset))
+ if (gcInfo != null && gcInfo.Transitions != null && gcInfo.Transitions.TryGetValue(codeOffset, out List<BaseGcTransition> transitionsForOffset))
{
string[] formattedTransitions = new string[transitionsForOffset.Count];
for (int transitionIndex = 0; transitionIndex < formattedTransitions.Length; transitionIndex++)