Skip to content

Instantly share code, notes, and snippets.

View janvorli's full-sized avatar

Jan Vorlicek janvorli

  • Microsoft
  • Prague
View GitHub Profile
0:000> !u -gcinfo 0x00007ffc`cbf8a3c1
Normal JIT generated code
StrSwitchFinalTest.Run()
ilAddr is 000001E17E2A33C0 pImport is 0000022F9A833970
Begin 00007FFCCBF89D80, size b10
C:\Users\LocalJanvorli\git\runtime\src\tests\baseservices\exceptions\unittests\EHPatternTests.cs @ 898:
Prolog size: 0
Security object: <none>
GS cookie: <none>
@janvorli
janvorli / gist:d4b10e4a10a7adf1e79847e8a0351152
Created August 18, 2020 16:50
Brotli performance with and without loop unrolling
| Method | Job | Toolchain | level | file | Mean | Error | StdDev | Median | Min | Max | Ratio | Gen 0 | Gen 1 | Gen 2 | Allocated |
|------------------------ |----------- |-------------------------------------- |-------- |----------------- |-------------:|------------:|------------:|-------------:|-------------:|-------------:|------:|------:|------:|------:|----------:|
| Compress_WithState | Job-IKEYGM | /Core_Root_FullUnroll/corerun | Optimal | TestDocument.pdf | 862,129.6 us | 1,450.77 us | 1,286.07 us | 861,591.6 us | 860,933.5 us | 864,949.5 us | 1.00 | - | - | - | 320 B |
| Compress_WithState | Job-ZDOOKP | /Core_Root_NoUnroll/Core_Root/corerun | Optimal | TestDocument.pdf | 925,634.4 us | 1,669.09 us | 1,561.27 us | 925,095.6 us | 923,926.7 us | 928,918.8 us | 1.07 | - | - | - | 320 B |
| | |
# Child-SP RetAddr Call Site
00 0000000c`aaf7c358 00007ffe`f24c1496 coreclr!PEFile::AddRef [F:\git\runtime5\src\coreclr\src\vm\pefile.inl @ 57]
01 0000000c`aaf7c360 00007ffe`f24c23a8 coreclr!clr::SafeAddRef<PEFile *>+0x46 [F:\git\runtime5\src\coreclr\src\inc\utilcode.h @ 4951]
02 0000000c`aaf7c3a0 00007ffe`f24cfb05 coreclr!PEAssembly::PEAssembly+0x158 [F:\git\runtime5\src\coreclr\src\vm\pefile.cpp @ 1848]
03 0000000c`aaf7c740 00007ffe`f2d09dac coreclr!PEAssembly::Open+0x235 [F:\git\runtime5\src\coreclr\src\vm\pefile.cpp @ 1939]
04 0000000c`aaf7c890 00007ffe`f2d0a372 coreclr!AssemblyNative::LoadFromPEImage+0x7ec [F:\git\runtime5\src\coreclr\src\vm\assemblynative.cpp @ 216]
05 0000000c`aaf7d020 00007ffe`f1968468 coreclr!AssemblyNative::LoadFromPath+0x412 [F:\git\runtime5\src\coreclr\src\vm\assemblynative.cpp @ 283]
06 0000000c`aaf7d3c0 00007ffe`f1c7a0b5 System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(IntPtr, System.String, System.String, System.Runtime.CompilerServices.ObjectHan
System.Numerics.Matrix4x4 System.Numerics.Matrix4x4.CreateConstrainedBillboard(System.Numerics.Vector3, System.Numerics.Vector3, System.Numerics.Vector3, System.Numerics.Vector3, System.Numerics.Vector3)
Handle: 0x06001B7D
Rid: 7037
Number of RuntimeFunctions: 1
Number of fixups: 1
System.Numerics.Vector3 (TYPE_HANDLE)
System.Numerics.Matrix4x4 System.Numerics.Matrix4x4.CreateConstrainedBillboard(System.Numerics.Vector3, System.Numerics.Vector3, System.Numerics.Vector3, System.Numerics.Vector3, System.Numerics.Vector3)
Size: 1210 bytes
Version: 1
Build started 2/6/2020 1:05:49 PM.
Logging verbosity is set to: Normal. 1>Project "/home/janvorli/git/runtime/src/coreclr/tests/src/runtest.proj" on node 1 (CreateTestOverlay target(s)).
1>Project "/home/janvorli/git/runtime/src/coreclr/tests/src/runtest.proj" (1) is building "/home/janvorli/git/runtime/src/coreclr/tests/src/runtest.proj" (1:2) on node 1 (CopyDependencyToCoreRoot target(s)).
1:2>Project "/home/janvorli/git/runtime/src/coreclr/tests/src/runtest.proj" (1:2) is building "/home/janvorli/git/runtime/src/coreclr/tests/src/Common/test_dependencies/test_dependencies.csproj" (2) on node 1 (CopyDependencyToCoreRoot target(s)).
2>PrepareForBuild:
Creating directory "/home/janvorli/git/runtime/src/coreclr/../../artifacts/tests/coreclr/Linux.arm.Debug/Common/test_dependencies/test_dependencies/linux-arm/".
Creating directory "/home/janvorli/git/runtime/src/coreclr/../../artifacts/tests/coreclr/obj/Linux.arm.Debug/Managed/Common/test_dependencies/test_dependencies/linux-a
pwsh ./build-and-test.ps1 -VersionFilter 2.2* -OSFilter alpine3.9* -SkipTesting
Executing 'docker pull mcr.microsoft.com/dotnet-buildtools/image-builder:debian-20190301193659'
debian-20190301193659: Pulling from dotnet-buildtools/image-builder
Digest: sha256:f1104daa8f41cded3a1737ab342de02c435fd463af3dbed6e1f6499c285b02e7
Status: Image is up to date for mcr.microsoft.com/dotnet-buildtools/image-builder:debian-20190301193659
Executing: 'docker build -t microsoft-dotnet-imagebuilder-withrepo --build-arg IMAGE=mcr.microsoft.com/dotnet-buildtools/image-builder:debian-20190301193659 -f ./scripts/Dockerfile.WithRepo .'
Sending build context to Docker daemon 6.547MB
Step 1/4 : ARG IMAGE
Step 2/4 : FROM $IMAGE
<!doctype html>
<html>
<head>
<title>/home/janvorli/git/coreclr/src/utilcode/loaderheap.cpp</title>
<style type="text/css">
body { color:#000000; background-color:#ffffff }
body { font-family:Helvetica, sans-serif; font-size:10pt }
h1 { font-size:14pt }
.code { border-collapse:collapse; width:100%; }
.code { font-family: "Monospace", monospace; font-size:10pt }
// 100% repro of the #22820 on x86 when running with env var COMPlus_GCStress=4
using System;
namespace SimpleAyendeRepro
{
class DisposableObject : IDisposable
{
public void Dispose()
{
Console.WriteLine("In dispose");
Excerpt of the code where the issue happens.
The offset from the function start is 0x11DA
0e995fbe 8b8dccfeffff mov ecx,dword ptr [ebp-134h]
>>> 0e995fc4 ff15501b3b03 call dword ptr ds:[33B1B50h] (CLRStub[VSD_DispatchStub]@53cbf5d60c1304ae)
0e995fca 58 pop eax
0e995fcb ffe0 jmp eax
0:035> !u -gcinfo 0e995fc4
0:035> !gcinfo 0a06fa38
entry point 0e994df0
Normal JIT generated code
GC info 06e763c8
Method info block:
method size = 198A
prolog size = 34
epilog size = 8
epilog count = 1
epilog end = yes