Example #1
0
        protected override void InitApi()
        {
            if (_sos == null)
                _sos = _library.SOSInterface;

            Debug.Assert(_sos != null);
        }
Example #2
0
        public bool Init(ISOSDac sos, ulong md)
        {
            ulong count = 0;
            V45MethodDescData data = new V45MethodDescData();
            if (sos.GetMethodDescData(md, 0, out data, 0, null, out count) < 0)
                return false;


            _md = data.MethodDescPtr;
            _ip = data.NativeCodeAddr;
            _module = data.ModulePtr;
            _token = data.MDToken;
            _mt = data.MethodTablePtr;

            CodeHeaderData header;
            if (sos.GetCodeHeaderData(data.NativeCodeAddr, out header) >= 0)
            {
                if (header.JITType == 1)
                    _jitType = MethodCompilationType.Jit;
                else if (header.JITType == 2)
                    _jitType = MethodCompilationType.Ngen;
                else
                    _jitType = MethodCompilationType.None;
            }
            else
            {
                _jitType = MethodCompilationType.None;
            }

            return true;
        }