From: Marcos Henrich Date: Wed, 2 Mar 2016 10:33:55 +0000 (+0000) Subject: [mono-symbolicate] Use SeqPointInfo instead of PInvoking. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=07eed74767d23859512de24f0f0368f6630817ac;hp=-c;p=mono.git [mono-symbolicate] Use SeqPointInfo instead of PInvoking. --- 07eed74767d23859512de24f0f0368f6630817ac diff --git a/mcs/tools/mono-symbolicate/LocationProvider.cs b/mcs/tools/mono-symbolicate/LocationProvider.cs index cad20ae8e16..0580eeb9615 100644 --- a/mcs/tools/mono-symbolicate/LocationProvider.cs +++ b/mcs/tools/mono-symbolicate/LocationProvider.cs @@ -58,16 +58,13 @@ namespace Symbolicate return true; } - [DllImport("mono-symbolicate-native.dll")] - private static extern bool mono_seq_point_data_get_il_offset (string path, uint method_token, uint method_index, uint native_offset, out uint il_offset); - - static MethodInfo methodGetIL; + SeqPointInfo seqPointInfo; private int GetILOffsetFromFile (int methodToken, uint methodIndex, int nativeOffset) { - uint ilOffset; - mono_seq_point_data_get_il_offset (seqPointDataPath, (uint) methodToken, methodIndex, (uint) nativeOffset, out ilOffset); + if (seqPointInfo == null) + seqPointInfo = SeqPointInfo.Read (seqPointDataPath); - return (int) ilOffset; + return seqPointInfo.GetILOffset (methodToken, methodIndex, nativeOffset); } private string GetMethodFullName (MethodBase m) diff --git a/mcs/tools/mono-symbolicate/Makefile b/mcs/tools/mono-symbolicate/Makefile index daa92225a3d..35cdfd88a39 100644 --- a/mcs/tools/mono-symbolicate/Makefile +++ b/mcs/tools/mono-symbolicate/Makefile @@ -11,8 +11,6 @@ LOCAL_MCS_FLAGS = \ /r:System.Core.dll \ /r:System.dll -EXTRA_DISTFILES="mono-symbolicate-native.dll" - include ../../build/executable.make LIB_PATH = $(topdir)/class/lib/$(PROFILE) @@ -60,12 +58,3 @@ ifeq ($(AOT_SUPPORTED), 1) @MONO_DEBUG=gen-compact-seq-points $(MONO) --aot=gen-seq-points-file $(TEST_EXE) > /dev/null $(CHECK_DIFF) endif - -all: mono-symbolicate-native.dll - -mono-symbolicate-native.dll: - cp ../../../mono/mini/mono-sgen mono-symbolicate-native.dll - -clean: - rm -rf mono-symbolicate-native.dll - diff --git a/mono/metadata/seq-points-data.h b/mono/metadata/seq-points-data.h index 280a148caac..3f72f3f338a 100644 --- a/mono/metadata/seq-points-data.h +++ b/mono/metadata/seq-points-data.h @@ -111,7 +111,7 @@ mono_seq_point_data_add (SeqPointData *data, guint32 methodToken, guint32 method gboolean mono_seq_point_data_get (SeqPointData *data, guint32 methodToken, guint32 methodIndex, MonoSeqPointInfo** info); -MONO_API gboolean +gboolean mono_seq_point_data_get_il_offset (char *path, guint32 methodToken, guint32 methodIndex, guint32 native_offset, guint32 *il_offset); #endif /* __MONO_SEQ_POINTS_DATA_H__ */