[mini] Implement callback that gives metadata access to seqpoint information.
authorRodrigo Kumpera <kumpera@gmail.com>
Thu, 17 Nov 2016 00:07:52 +0000 (16:07 -0800)
committerRodrigo Kumpera <kumpera@gmail.com>
Mon, 19 Dec 2016 17:57:17 +0000 (15:57 -0200)
mono/mini/mini-exceptions.c

index 00e6addd57897fd82a07abf0dba95141096c1de2..2f25bbda818cb4c52e0fd143d8100003ca5489c6 100644 (file)
@@ -180,6 +180,15 @@ mini_above_abort_threshold (void)
        return above_threshold;
 }
 
+static int
+mono_get_seq_point_for_native_offset (MonoDomain *domain, MonoMethod *method, gint32 native_offset)
+{
+       SeqPoint sp;
+       if (mono_find_prev_seq_point_for_native_offset (domain, method, native_offset, NULL, &sp))
+               return sp.il_offset;
+       return -1;
+}
+
 void
 mono_exceptions_init (void)
 {
@@ -225,6 +234,7 @@ mono_exceptions_init (void)
        cbs.mono_clear_abort_threshold = mini_clear_abort_threshold;
        cbs.mono_above_abort_threshold = mini_above_abort_threshold;
        mono_install_eh_callbacks (&cbs);
+       mono_install_get_seq_point (mono_get_seq_point_for_native_offset);
 }
 
 gpointer