예제 #1
0
        ExceptionEvent(LogFileReader reader, byte exinfo)
        {
            TimeDiff = reader.ReadULeb128();
            byte subtype = (byte)(exinfo & ~TYPE_EXCEPTION_BT);

            if (subtype == TYPE_CLAUSE)
            {
                //ClauseType = reader.ReadULeb128 ();
                ClauseType = reader.ReadByte();
                ClauseNum  = reader.ReadULeb128();
                Method     = reader.ReadSLeb128();
            }
            else if (subtype == TYPE_THROW)
            {
                Object = reader.ReadSLeb128();
                if ((exinfo & TYPE_EXCEPTION_BT) == TYPE_EXCEPTION_BT)
                {
                    Backtrace = new Backtrace(reader);
                }
            }
            else
            {
                throw new InvalidOperationException("Unknown exception event type:" + (exinfo & ~TYPE_EXCEPTION_BT));
            }
        }
예제 #2
0
 MonitiorEvent(BinaryReader reader, byte exinfo)
 {
     TimeDiff = reader.ReadULeb128();
     Object   = reader.ReadSLeb128();
     if (exinfo == MONO_PROFILER_MONITOR_CONTENTION)
     {
         Backtrace = new Backtrace(reader);
     }
 }
예제 #3
0
        MonitiorEvent(LogFileReader reader, byte exinfo)
        {
            TimeDiff = reader.ReadULeb128();
            Object   = reader.ReadSLeb128();
            byte ev = (byte)((exinfo >> 4) & 0x3);

            if (ev == MONO_PROFILER_MONITOR_CONTENTION && (exinfo & TYPE_MONITOR_BT) == TYPE_MONITOR_BT)
            {
                Backtrace = new Backtrace(reader);
            }
        }
예제 #4
0
 AllocEvent(LogFileReader reader, byte extendedInfo)
 {
     TimeDiff = reader.ReadULeb128();
     Ptr      = reader.ReadSLeb128();
     Obj      = reader.ReadSLeb128();
     Size     = reader.ReadULeb128();
     if ((extendedInfo & TYPE_ALLOC_BT) != 0)
     {
         Backtrace = new Backtrace(reader);
     }
 }
예제 #5
0
 AllocEvent(BinaryReader reader, byte extendedInfo)
 {
     TimeDiff = reader.ReadULeb128();
     Ptr      = reader.ReadSLeb128();
     Obj      = reader.ReadSLeb128();
     Size     = reader.ReadULeb128();
     if (extendedInfo == TYPE_ALLOC_BT)
     {
         Backtrace = new Backtrace(reader);
     }
 }
예제 #6
0
        ExceptionEvent(LogFileReader reader, byte exinfo)
        {
            TimeDiff = reader.ReadULeb128();
            byte subtype = (byte)(exinfo & 0x70);

            if (subtype == TYPE_CLAUSE)
            {
                ClauseType = reader.ReadULeb128();
                ClauseNum  = reader.ReadULeb128();
                Method     = reader.ReadSLeb128();
            }
            else if (subtype == TYPE_THROW)
            {
                Object = reader.ReadSLeb128();
                if ((exinfo & TYPE_EXCEPTION_BT) == TYPE_EXCEPTION_BT)
                {
                    Backtrace = new Backtrace(reader);
                }
            }
        }
예제 #7
0
파일: Event.cs 프로젝트: facemao3/heap-shot
        public readonly ulong Size; // size of the object in the heap

        #endregion Fields

        #region Constructors

        AllocEvent(LogFileReader reader, byte extendedInfo)
        {
            TimeDiff = reader.ReadULeb128 ();
            Ptr = reader.ReadSLeb128 ();
            Obj = reader.ReadSLeb128 ();
            Size = reader.ReadULeb128 ();
            if ((extendedInfo & TYPE_ALLOC_BT) != 0)
                Backtrace = new Backtrace (reader);
        }
예제 #8
0
파일: Event.cs 프로젝트: facemao3/heap-shot
        public readonly long Object; //  the lock object as a difference from obj_base

        #endregion Fields

        #region Constructors

        MonitiorEvent(LogFileReader reader, byte exinfo)
        {
            TimeDiff = reader.ReadULeb128 ();
            Object = reader.ReadSLeb128 ();
            byte ev = (byte)((exinfo >> 4) & 0x3);
            if (ev == MONO_PROFILER_MONITOR_CONTENTION && (exinfo & TYPE_MONITOR_BT) == TYPE_MONITOR_BT) {
                Backtrace = new Backtrace (reader);
            }
        }
예제 #9
0
파일: Event.cs 프로젝트: facemao3/heap-shot
        public readonly long Object; // the object that was thrown as a difference from obj_base If the TYPE_EXCEPTION_BT flag is set, a backtrace follows.

        #endregion Fields

        #region Constructors

        ExceptionEvent(LogFileReader reader, byte exinfo)
        {
            TimeDiff = reader.ReadULeb128 ();
            byte subtype = (byte)(exinfo & 0x70);
            if (subtype == TYPE_CLAUSE) {
                ClauseType = reader.ReadULeb128 ();
                ClauseNum = reader.ReadULeb128 ();
                Method = reader.ReadSLeb128 ();
            } else if (subtype == TYPE_THROW) {
                Object = reader.ReadSLeb128 ();
                if ((exinfo & TYPE_EXCEPTION_BT) == TYPE_EXCEPTION_BT)
                    Backtrace = new Backtrace (reader);
            }
        }
예제 #10
0
파일: Event.cs 프로젝트: mono/heap-shot
        public readonly long Object; // the object that was thrown as a difference from obj_base If the TYPE_EXCEPTION_BT flag is set, a backtrace follows.

        #endregion Fields

        #region Constructors

        ExceptionEvent(LogFileReader reader, byte exinfo)
        {
            TimeDiff = reader.ReadULeb128 ();
            byte subtype = (byte)(exinfo & ~TYPE_EXCEPTION_BT);
            if (subtype == TYPE_CLAUSE) {
                ClauseType = reader.ReadULeb128 ();
                ClauseNum = reader.ReadULeb128 ();
                Method = reader.ReadSLeb128 ();
            } else if (subtype == TYPE_THROW) {
                Object = reader.ReadSLeb128 ();
                if ((exinfo & TYPE_EXCEPTION_BT) == TYPE_EXCEPTION_BT)
                    Backtrace = new Backtrace (reader);
            } else
                throw new InvalidOperationException ("Unknown exception event type:" + (exinfo & ~TYPE_EXCEPTION_BT));
        }
예제 #11
0
		MonitiorEvent (BinaryReader reader, byte exinfo)
		{
			TimeDiff = reader.ReadULeb128 ();
			Object = reader.ReadSLeb128 ();
			if (exinfo == MONO_PROFILER_MONITOR_CONTENTION) {
				Backtrace = new Backtrace (reader);
			}
		}
예제 #12
0
		AllocEvent (BinaryReader reader, byte extendedInfo)
		{
			TimeDiff = reader.ReadULeb128 ();
			Ptr = reader.ReadSLeb128 ();
			Obj = reader.ReadSLeb128 ();
			Size = reader.ReadULeb128 ();
			if (extendedInfo == TYPE_ALLOC_BT)
				Backtrace = new Backtrace (reader);
		}