protected void TrampolineCompiled(TargetAddress mono_method, TargetAddress code)
{
if (sse.MonoDebuggerInfo.HasNewTrampolineNotification) {
sse.disable_extended_notification (NotificationType.Trampoline);
sse.remove_temporary_breakpoint ();
} else {
sse.disable_extended_notification (NotificationType.OldTrampoline);
}
Report.Debug (DebugFlags.SSE, "{0} compiled trampoline: {1} {2} {3}",
sse, mono_method, code, TrampolineHandler != null);
if (TrampolineHandler != null) {
Method method = sse.Lookup (code);
Report.Debug (DebugFlags.SSE, "{0} compiled trampoline #1: {1}", sse, method);
if (!TrampolineHandler (method)) {
sse.do_continue (CallSite.Address + CallSite.InstructionSize);
return;
}
}
sse.do_continue (code);
}