You've already forked linux-packaging-mono
Imported Upstream version 5.14.0.78
Former-commit-id: 3494343bcc9ddb42b36b82dd9ae7b69e85e0229f
This commit is contained in:
parent
74b74abd9f
commit
19234507ba
@@ -66,6 +66,7 @@ namespace Mono.Profiler.Log {
|
||||
RuntimeJitHelper = 1 << 4,
|
||||
|
||||
MetaSynchronizationPoint = 0 << 4,
|
||||
MetaAotId = 1 << 4,
|
||||
}
|
||||
|
||||
// mono/profiler/log.h : TYPE_*
|
||||
|
||||
@@ -189,5 +189,9 @@ namespace Mono.Profiler.Log {
|
||||
public virtual void Visit (SynchronizationPointEvent ev)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void Visit (AotIdEvent ev)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,6 +101,8 @@ namespace Mono.Profiler.Log {
|
||||
|
||||
public string Name { get; internal set; }
|
||||
|
||||
public Guid ModuleVersionId { get; internal set; }
|
||||
|
||||
internal override void Accept (LogEventVisitor visitor)
|
||||
{
|
||||
visitor.Visit (this);
|
||||
@@ -260,6 +262,8 @@ namespace Mono.Profiler.Log {
|
||||
|
||||
public long ObjectSize { get; internal set; }
|
||||
|
||||
public int Generation { get; internal set; }
|
||||
|
||||
public IReadOnlyList<HeapObjectReference> References { get; internal set; }
|
||||
|
||||
internal override void Accept (LogEventVisitor visitor)
|
||||
@@ -326,7 +330,7 @@ namespace Mono.Profiler.Log {
|
||||
|
||||
public LogGCEvent Type { get; internal set; }
|
||||
|
||||
public byte Generation { get; internal set; }
|
||||
public int Generation { get; internal set; }
|
||||
|
||||
internal override void Accept (LogEventVisitor visitor)
|
||||
{
|
||||
@@ -554,6 +558,7 @@ namespace Mono.Profiler.Log {
|
||||
}
|
||||
}
|
||||
|
||||
[Obsolete ("This event is no longer produced.")]
|
||||
public sealed class UnmanagedBinaryEvent : LogEvent {
|
||||
|
||||
public long SegmentPointer { get; internal set; }
|
||||
@@ -593,4 +598,14 @@ namespace Mono.Profiler.Log {
|
||||
visitor.Visit (this);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class AotIdEvent : LogEvent {
|
||||
|
||||
public Guid AotId { get; internal set; }
|
||||
|
||||
internal override void Accept (LogEventVisitor visitor)
|
||||
{
|
||||
visitor.Visit (this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,10 +232,18 @@ namespace Mono.Profiler.Log {
|
||||
break;
|
||||
case LogMetadataType.Image:
|
||||
if (load) {
|
||||
ev = new ImageLoadEvent {
|
||||
var ile = new ImageLoadEvent {
|
||||
ImagePointer = ReadPointer (),
|
||||
Name = _reader.ReadCString (),
|
||||
};
|
||||
|
||||
if (StreamHeader.FormatVersion >= 16) {
|
||||
var guid = _reader.ReadCString ();
|
||||
|
||||
ile.ModuleVersionId = guid == string.Empty ? Guid.Empty : Guid.Parse (guid);
|
||||
}
|
||||
|
||||
ev = ile;
|
||||
} else if (unload) {
|
||||
ev = new ImageUnloadEvent {
|
||||
ImagePointer = ReadPointer (),
|
||||
@@ -408,6 +416,7 @@ namespace Mono.Profiler.Log {
|
||||
ClassPointer = StreamHeader.FormatVersion < 15 ? ReadPointer () : 0,
|
||||
VTablePointer = StreamHeader.FormatVersion >= 15 ? ReadPointer () : 0,
|
||||
ObjectSize = (long) _reader.ReadULeb128 (),
|
||||
Generation = StreamHeader.FormatVersion >= 16 ? _reader.ReadByte () : 0,
|
||||
};
|
||||
|
||||
var list = new HeapObjectEvent.HeapObjectReference [(int) _reader.ReadULeb128 ()];
|
||||
@@ -597,6 +606,11 @@ namespace Mono.Profiler.Log {
|
||||
Type = (LogSynchronizationPoint) _reader.ReadByte (),
|
||||
};
|
||||
break;
|
||||
case LogEventType.MetaAotId:
|
||||
ev = new AotIdEvent {
|
||||
AotId = Guid.Parse (_reader.ReadCString ()),
|
||||
};
|
||||
break;
|
||||
default:
|
||||
throw new LogException ($"Invalid extended event type ({extType}).");
|
||||
}
|
||||
|
||||
@@ -9,7 +9,8 @@ namespace Mono.Profiler.Log {
|
||||
public sealed class LogStreamHeader {
|
||||
|
||||
const int MinVersion = 13;
|
||||
const int MaxVersion = 15;
|
||||
|
||||
const int MaxVersion = 16;
|
||||
|
||||
const int Id = 0x4d505a01;
|
||||
|
||||
@@ -21,6 +22,8 @@ namespace Mono.Profiler.Log {
|
||||
|
||||
public ulong StartupTime { get; }
|
||||
|
||||
public ulong TimestampStartupTime { get; }
|
||||
|
||||
public int TimerOverhead { get; }
|
||||
|
||||
public int Flags { get; }
|
||||
@@ -50,6 +53,10 @@ namespace Mono.Profiler.Log {
|
||||
|
||||
PointerSize = reader.ReadByte ();
|
||||
StartupTime = reader.ReadUInt64 ();
|
||||
|
||||
if (Version.Major >= 3)
|
||||
TimestampStartupTime = reader.ReadUInt64 ();
|
||||
|
||||
TimerOverhead = reader.ReadInt32 ();
|
||||
Flags = reader.ReadInt32 ();
|
||||
ProcessId = reader.ReadInt32 ();
|
||||
|
||||
Reference in New Issue
Block a user