Skip to content

Commit 72791be

Browse files
committed
Fix pinning of frames
1 parent 151eef6 commit 72791be

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/Ultra.Core/Parser/UltraSamplerParser.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public sealed class UltraNativeCallstackTraceEvent : TraceEvent
6767
private static readonly string[] _payloadNames =
6868
[
6969
nameof(FrameThreadId),
70-
nameof(FrameCount),
70+
nameof(FrameSize),
7171
nameof(FrameAddresses)
7272
];
7373

@@ -80,9 +80,9 @@ internal UltraNativeCallstackTraceEvent(Action<UltraNativeCallstackTraceEvent>?
8080

8181
public ulong FrameThreadId => (ulong)GetInt64At(0);
8282

83-
public int FrameCount => GetInt32At(8);
83+
public int FrameSize => GetInt32At(8);
8484

85-
public unsafe ReadOnlySpan<ulong> FrameAddresses => new((byte*)DataStart + 12, FrameCount);
85+
public unsafe ReadOnlySpan<ulong> FrameAddresses => new((byte*)DataStart + 12, FrameSize / sizeof(ulong));
8686

8787
/// <inheritdoc />
8888

@@ -93,7 +93,7 @@ public override object PayloadValue(int index)
9393
case 0:
9494
return FrameThreadId;
9595
case 1:
96-
return FrameCount;
96+
return FrameSize;
9797
case 2:
9898
return FrameAddresses.ToArray();
9999
default:

src/Ultra.Sampler/MacOS/MacOSUltraSampler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ internal unsafe class MacOSUltraSampler : UltraSampler
1919
private readonly AutoResetEvent _resumeCaptureThread;
2020

2121
private const int MaximumFrames = 4096;
22-
private readonly ulong[] _frames = new ulong[MaximumFrames];
22+
private readonly ulong[] _frames;
2323

2424
private const int DefaultImageCount = 1024;
2525
private UnsafeList<NativeModuleEvent> _moduleEvents = new(DefaultImageCount);
@@ -33,6 +33,7 @@ internal unsafe class MacOSUltraSampler : UltraSampler
3333

3434
public MacOSUltraSampler()
3535
{
36+
_frames = GC.AllocateArray<ulong>(4096, true);
3637
_resumeCaptureThread = new AutoResetEvent(false);
3738

3839
_callbackDyldAdded = new MacOSLibSystem.dyld_register_callback(CallbackDyldAdded);

0 commit comments

Comments
 (0)