[jit] Allocate the thunks area next to the method code if the backend can compute...
[mono.git] / mono / mini / seq-points.h
index cce4b121d1645c35877cdc6c42c126191536a9d8..3c0677a61c709a0f6ceec68e793dd288f40efaa3 100644 (file)
@@ -5,27 +5,7 @@
 #ifndef __MONO_SEQ_POINTS_H__
 #define __MONO_SEQ_POINTS_H__
 
-#define MONO_SEQ_POINT_FLAG_NONEMPTY_STACK 1
-
-/* IL offsets used to mark the sequence points belonging to method entry/exit events */
-#define METHOD_ENTRY_IL_OFFSET -1
-#define METHOD_EXIT_IL_OFFSET 0xffffff
-
-/* Native offset used to mark seq points in dead code */
-#define SEQ_POINT_NATIVE_OFFSET_DEAD_CODE -1
-
-typedef struct {
-       int il_offset, native_offset, flags;
-       /* Indexes of successor sequence points */
-       int *next;
-       /* Number of entries in next */
-       int next_len;
-} SeqPoint;
-
-typedef struct MonoSeqPointInfo {
-       int len;
-       SeqPoint seq_points [MONO_ZERO_LEN_ARRAY];
-} MonoSeqPointInfo;
+#include <mono/metadata/seq-points-data.h>
 
 void
 mono_save_seq_point_info (MonoCompile *cfg);
@@ -33,13 +13,19 @@ mono_save_seq_point_info (MonoCompile *cfg);
 MonoSeqPointInfo*
 get_seq_points (MonoDomain *domain, MonoMethod *method);
 
-SeqPoint*
-find_next_seq_point_for_native_offset (MonoDomain *domain, MonoMethod *method, gint32 native_offset, MonoSeqPointInfo **info);
+gboolean
+find_next_seq_point_for_native_offset (MonoDomain *domain, MonoMethod *method, gint32 native_offset, MonoSeqPointInfo **info, SeqPoint* seq_point);
 
-SeqPoint*
-find_prev_seq_point_for_native_offset (MonoDomain *domain, MonoMethod *method, gint32 native_offset, MonoSeqPointInfo **info);
+gboolean
+find_prev_seq_point_for_native_offset (MonoDomain *domain, MonoMethod *method, gint32 native_offset, MonoSeqPointInfo **info, SeqPoint* seq_point);
 
-G_GNUC_UNUSED SeqPoint*
-find_seq_point (MonoDomain *domain, MonoMethod *method, gint32 il_offset, MonoSeqPointInfo **info);
+gboolean
+find_seq_point (MonoDomain *domain, MonoMethod *method, gint32 il_offset, MonoSeqPointInfo **info, SeqPoint *seq_point);
+
+void
+bb_deduplicate_op_il_seq_points (MonoCompile *cfg, MonoBasicBlock *bb);
+
+void
+mono_image_get_aot_seq_point_path (MonoImage *image, char **str);
 
 #endif /* __MONO_SEQ_POINTS_H__ */
\ No newline at end of file