Xamarin Public Jenkins (auto-signing) ef583813eb Imported Upstream version 6.4.0.137
Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
2019-07-26 19:53:28 +00:00

102 lines
1.5 KiB
C#

namespace Mono.Profiler.Aot
{
//
// Represents the contents of an .aotprofile file created by the
// AOT profiler
//
public class ProfileRecord
{
public ProfileRecord (int id)
{
Id = id;
}
public int Id {
get; set;
}
}
public class ModuleRecord : ProfileRecord
{
public ModuleRecord (int id, string name, string mvid) : base (id)
{
Name = name;
Mvid = mvid;
}
public string Name {
get; set;
}
public string Mvid {
get; set;
}
}
public class GenericInstRecord : ProfileRecord
{
public GenericInstRecord (int id, TypeRecord[] types) : base (id)
{
Types = types;
}
public TypeRecord[] Types {
get; set;
}
}
public class TypeRecord : ProfileRecord
{
public TypeRecord (int id, ModuleRecord module, string name, GenericInstRecord ginst) : base (id)
{
Module = module;
Name = name;
GenericInst = ginst;
}
public ModuleRecord Module {
get; set;
}
public string Name {
get; set;
}
public GenericInstRecord GenericInst {
get; set;
}
}
public class MethodRecord : ProfileRecord
{
public MethodRecord (int id, TypeRecord type, GenericInstRecord ginst, string name, string sig, int param_count) : base (id)
{
Type = type;
GenericInst = ginst;
Name = name;
Signature = sig;
ParamCount = param_count;
}
public TypeRecord Type {
get; set;
}
public GenericInstRecord GenericInst {
get; set;
}
public string Name {
get; set;
}
public string Signature {
get; set;
}
public int ParamCount {
get; set;
}
}
}