Details
Payloads
Baseline
Compare
Histogram
Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Software)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 15.585828759148372 > 14.40504684505828.
IsChangePoint: Marked as a change because one of 11/30/2022 7:06:59 PM, 12/6/2022 5:44:36 AM falls between 11/27/2022 4:37:47 PM and 12/6/2022 5:44:36 AM.
IsRegressionStdDev: Marked as regression because -3.4644330068340223 (T) = (0 -14812.583819391015) / Math.Sqrt((6868774.955056067 / (27)) + (4142163.364375723 / (25))) is less than -2.0085591120996775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (27) + (25) - 2, .025) and -0.17867525655752448 = (12567.145816442357 - 14812.583819391015) / 12567.145816442357 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; Exceptions.Handling.ThrowAndCatchWhenFinally(ExceptionKind)
push rbp
sub rsp,40
lea rbp,[rsp+40]
xor eax,eax
mov [rbp-8],rax
mov [rbp-20],rsp
mov [rbp+10],rcx
call qword ptr [7FFAB806D660]; Exceptions.Handling.Throw(ExceptionKind)
jmp short M00_L01
M00_L00:
nop
mov rcx,[rbp+10]
call qword ptr [7FFAB806D678]; Exceptions.Handling.DoNothing()
jmp short M00_L02
M00_L01:
mov rcx,rsp
call M00_L05
nop
xor eax,eax
add rsp,40
pop rbp
ret
M00_L02:
mov rax,[rbp-10]
add rsp,40
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+40]
mov rcx,offset MT_System.Exception
call qword ptr [7FFAB7D0B828]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test rax,rax
jne short M00_L03
xor eax,eax
jmp short M00_L04
M00_L03:
mov [rbp-8],rax
mov rcx,[rbp+10]
call qword ptr [7FFAB806D690]; Exceptions.Handling.ReturnTrue()
test eax,eax
setne al
movzx eax,al
M00_L04:
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+40]
mov rax,[rbp-8]
mov [rbp-10],rax
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
M00_L05:
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+40]
mov rcx,[rbp+10]
call qword ptr [7FFAB806D678]; Exceptions.Handling.DoNothing()
nop
add rsp,30
pop rbp
ret
; Total bytes of code 217
; Exceptions.Handling.Throw(ExceptionKind)pushrsisubrsp,30movrax,rcxtestedx,edxje near ptr M01_L03cmpedx,1jne short M01_L00movrsi,[rax+10]movrcx,[rax+8]movrax,[rcx]movrax,[rax+40]call qword ptr [rax+18]mov[rsi+40],eaxaddrsp,30poprsiretM01_L00:cmpedx,2jne short M01_L01movrcx,[rax+18]movrdx,[rax+20]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]nopaddrsp,30poprsiretM01_L01:cmpedx,3jne short M01_L02movrcx,[rax+18]movrdx,[rax+28]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]M01_L02:nopaddrsp,30poprsiretM01_L03:movrcx,offset MT_System.Exceptioncall CORINFO_HELP_NEWSFASTmovrsi,raxmovrcx,rsicall qword ptr [7FFAB7DA5C00]; System.Exception..ctor()movrcx,rsicall CORINFO_HELP_THROWint3; Total bytes of code 186
; Exceptions.Handling.DoNothing()ret; Total bytes of code 1
; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)movrax,rdxtestrax,raxje short M03_L00cmp[rax],rcxjne short M03_L01M03_L00:retM03_L01:movrdx,[rax]movrdx,[rdx+10]M03_L02:cmprdx,rcxje short M03_L04testrdx,rdxje short M03_L03movrdx,[rdx+10]cmprdx,rcxje short M03_L04testrdx,rdxje short M03_L03movrdx,[rdx+10]cmprdx,rcxje short M03_L04testrdx,rdxje short M03_L03movrdx,[rdx+10]cmprdx,rcxje short M03_L04testrdx,rdxjne short M03_L05M03_L03:xoreax,eaxM03_L04:retM03_L05:movrdx,[rdx+10]jmp short M03_L02; Total bytes of code 82
; Exceptions.Handling.ReturnTrue()moveax,1ret; Total bytes of code 6
Compare Jit Disasm
; Exceptions.Handling.ThrowAndCatchWhenFinally(ExceptionKind)pushrbpsubrsp,40learbp,[rsp+40]xoreax,eaxmov[rbp-8],raxmov[rbp-20],rspmov[rbp+10],rcxcall qword ptr [7FFC3BE91660]; Exceptions.Handling.Throw(ExceptionKind)jmp short M00_L01M00_L00:nopmovrcx,[rbp+10]call qword ptr [7FFC3BE91678]; Exceptions.Handling.DoNothing()jmp short M00_L02M00_L01:movrcx,rspcall M00_L05nopxoreax,eaxaddrsp,40poprbpretM00_L02:movrax,[rbp-10]addrsp,40poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+40]movrcx,offset MT_System.Exceptioncall qword ptr [7FFC3BB0D828]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)testrax,raxjne short M00_L03xoreax,eaxjmp short M00_L04M00_L03:mov[rbp-8],raxmovrcx,[rbp+10]call qword ptr [7FFC3BE91690]; Exceptions.Handling.ReturnTrue()testeax,eax setne almovzxeax,alM00_L04:addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+40]movrax,[rbp-8]mov[rbp-10],raxlearax,[M00_L00]addrsp,30poprbpretM00_L05:pushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+40]movrcx,[rbp+10]call qword ptr [7FFC3BE91678]; Exceptions.Handling.DoNothing()nopaddrsp,30poprbpret; Total bytes of code 217
; Exceptions.Handling.Throw(ExceptionKind)pushrsisubrsp,30movrax,rcxtestedx,edxje near ptr M01_L03cmpedx,1jne short M01_L00movrsi,[rax+10]movrcx,[rax+8]movrax,[rcx]movrax,[rax+40]call qword ptr [rax+18]mov[rsi+40],eaxaddrsp,30poprsiretM01_L00:cmpedx,2jne short M01_L01movrcx,[rax+18]movrdx,[rax+20]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]nopaddrsp,30poprsiretM01_L01:cmpedx,3jne short M01_L02movrcx,[rax+18]movrdx,[rax+28]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]M01_L02:nopaddrsp,30poprsiretM01_L03:movrcx,offset MT_System.Exceptioncall CORINFO_HELP_NEWSFASTmovrsi,raxmovrcx,rsicall qword ptr [7FFC3BB17C00]; System.Exception..ctor()movrcx,rsicall CORINFO_HELP_THROWint3; Total bytes of code 186
; Exceptions.Handling.DoNothing()ret; Total bytes of code 1
; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)movrax,rdxtestrax,raxje short M03_L00cmp[rax],rcxjne short M03_L01M03_L00:retM03_L01:movrdx,[rax]movrdx,[rdx+10]M03_L02:cmprdx,rcxje short M03_L04testrdx,rdxje short M03_L03movrdx,[rdx+10]cmprdx,rcxje short M03_L04testrdx,rdxje short M03_L03movrdx,[rdx+10]cmprdx,rcxje short M03_L04testrdx,rdxje short M03_L03movrdx,[rdx+10]cmprdx,rcxje short M03_L04testrdx,rdxjne short M03_L05M03_L03:xoreax,eaxM03_L04:retM03_L05:movrdx,[rdx+10]jmp short M03_L02; Total bytes of code 82
; Exceptions.Handling.ReturnTrue()moveax,1ret; Total bytes of code 6
Exceptions.Handling.TryAndFinallyDeep(kind: Software)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 28.897433659217878 > 28.277094162695974.
IsChangePoint: Marked as a change because one of 11/14/2022 3:36:58 AM, 11/14/2022 7:25:10 PM, 11/30/2022 7:06:59 PM, 12/6/2022 5:44:36 AM falls between 11/27/2022 4:37:47 PM and 12/6/2022 5:44:36 AM.
IsRegressionStdDev: Marked as regression because -3.983582774938478 (T) = (0 -28555.74009650842) / Math.Sqrt((4686141.24910061 / (27)) + (3811203.762083469 / (25))) is less than -2.0085591120996775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (27) + (25) - 2, .025) and -0.08654519786621775 = (26281.22617686483 - 28555.74009650842) / 26281.22617686483 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; Exceptions.Handling.TryAndFinallyDeep(ExceptionKind)
push rbp
sub rsp,30
lea rbp,[rsp+30]
mov [rbp-10],rsp
call qword ptr [7FFD57A6DAB0]; Exceptions.Handling.Level1Finally(ExceptionKind)
nop
xor eax,eax
add rsp,30
pop rbp
ret
M00_L00:
mov rax,[rbp-8]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov rax,rdx
mov [rbp-8],rax
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
; Total bytes of code 77
; Exceptions.Handling.Level1Finally(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspmov[rbp+10],rcxcall qword ptr [7FFD57A6DAC8]; Exceptions.Handling.Level2Finally(ExceptionKind)nopmovrcx,[rbp+10]call qword ptr [7FFD57A6D678]; Exceptions.Handling.DoNothing()nopaddrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]movrcx,[rbp+10]call qword ptr [7FFD57A6D678]; Exceptions.Handling.DoNothing()nopaddrsp,30poprbpret; Total bytes of code 77
Compare Jit Disasm
; Exceptions.Handling.TryAndFinallyDeep(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspcall qword ptr [7FF9940A1AB0]; Exceptions.Handling.Level1Finally(ExceptionKind)nopxoreax,eaxaddrsp,30poprbpretM00_L00:movrax,[rbp-8]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]movrax,rdxmov[rbp-8],raxlearax,[M00_L00]addrsp,30poprbpret; Total bytes of code 77
; Exceptions.Handling.Level1Finally(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspmov[rbp+10],rcxcall qword ptr [7FF9940A1AC8]; Exceptions.Handling.Level2Finally(ExceptionKind)nopmovrcx,[rbp+10]call qword ptr [7FF9940A1678]; Exceptions.Handling.DoNothing()nopaddrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]movrcx,[rbp+10]call qword ptr [7FF9940A1678]; Exceptions.Handling.DoNothing()nopaddrsp,30poprbpret; Total bytes of code 77
Exceptions.Handling.ThrowAndCatch(kind: ReflectionSoftware)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 38.98574871179816 > 35.71404558231385.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 12/6/2022 5:44:36 AM falls between 11/27/2022 4:37:47 PM and 12/6/2022 5:44:36 AM.
IsRegressionStdDev: Marked as regression because -7.442331829536757 (T) = (0 -39639.960974209724) / Math.Sqrt((24721548.0088073 / (36)) + (1819214.5731855454 / (16))) is less than -2.0085591120996775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (36) + (16) - 2, .025) and -0.2018800187707424 = (32981.62907704601 - 39639.960974209724) / 32981.62907704601 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; Exceptions.Handling.ThrowAndCatch(ExceptionKind)
push rbp
sub rsp,30
lea rbp,[rsp+30]
mov [rbp-10],rsp
call qword ptr [7FFC4F7ED660]; Exceptions.Handling.Throw(ExceptionKind)
nop
xor eax,eax
add rsp,30
pop rbp
ret
M00_L00:
mov rax,[rbp-8]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov rax,rdx
mov [rbp-8],rax
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
; Total bytes of code 77
; Exceptions.Handling.Throw(ExceptionKind)pushrsisubrsp,30movrax,rcxtestedx,edxje near ptr M01_L03cmpedx,1jne short M01_L00movrsi,[rax+10]movrcx,[rax+8]movrax,[rcx]movrax,[rax+40]call qword ptr [rax+18]mov[rsi+40],eaxaddrsp,30poprsiretM01_L00:cmpedx,2jne short M01_L01movrcx,[rax+18]movrdx,[rax+20]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]nopaddrsp,30poprsiretM01_L01:cmpedx,3jne short M01_L02movrcx,[rax+18]movrdx,[rax+28]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]M01_L02:nopaddrsp,30poprsiretM01_L03:movrcx,offset MT_System.Exceptioncall CORINFO_HELP_NEWSFASTmovrsi,raxmovrcx,rsicall qword ptr [7FFC4F515C00]; System.Exception..ctor()movrcx,rsicall CORINFO_HELP_THROWint3; Total bytes of code 186
Compare Jit Disasm
; Exceptions.Handling.ThrowAndCatch(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspcall qword ptr [7FFB268C1660]; Exceptions.Handling.Throw(ExceptionKind)nopxoreax,eaxaddrsp,30poprbpretM00_L00:movrax,[rbp-8]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]movrax,rdxmov[rbp-8],raxlearax,[M00_L00]addrsp,30poprbpret; Total bytes of code 77
; Exceptions.Handling.Throw(ExceptionKind)pushrsisubrsp,30movrax,rcxtestedx,edxje near ptr M01_L03cmpedx,1jne short M01_L00movrsi,[rax+10]movrcx,[rax+8]movrax,[rcx]movrax,[rax+40]call qword ptr [rax+18]mov[rsi+40],eaxaddrsp,30poprsiretM01_L00:cmpedx,2jne short M01_L01movrcx,[rax+18]movrdx,[rax+20]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]nopaddrsp,30poprsiretM01_L01:cmpedx,3jne short M01_L02movrcx,[rax+18]movrdx,[rax+28]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]M01_L02:nopaddrsp,30poprsiretM01_L03:movrcx,offset MT_System.Exceptioncall CORINFO_HELP_NEWSFASTmovrsi,raxmovrcx,rsicall qword ptr [7FFB26547C00]; System.Exception..ctor()movrcx,rsicall CORINFO_HELP_THROWint3; Total bytes of code 186
Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(kind: Software)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 28.915075741297812 > 28.360926779670375.
IsChangePoint: Marked as a change because one of 11/28/2022 4:36:31 AM, 11/29/2022 11:48:02 PM, 12/6/2022 5:44:36 AM falls between 11/27/2022 4:37:47 PM and 12/6/2022 5:44:36 AM.
IsRegressionStdDev: Marked as regression because -5.507571130065528 (T) = (0 -28215.427617509406) / Math.Sqrt((9322390.741477897 / (23)) + (2141843.399938189 / (29))) is less than -2.0085591120996775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (29) - 2, .025) and -0.15623071405528638 = (24402.939028101493 - 28215.427617509406) / 24402.939028101493 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(ExceptionKind)
push rbp
sub rsp,30
lea rbp,[rsp+30]
mov [rbp-10],rsp
call qword ptr [7FFE1B0BDBB8]; Exceptions.Handling.Level1TryDontCatch(ExceptionKind)
nop
xor eax,eax
add rsp,30
pop rbp
ret
M00_L00:
mov rax,[rbp-8]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov rax,rdx
mov [rbp-8],rax
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
; Total bytes of code 77
; Exceptions.Handling.Level1TryDontCatch(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspcall qword ptr [7FFE1B0BDBD0]; Exceptions.Handling.Level2TryDontCatch(ExceptionKind)nopaddrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]call CORINFO_HELP_RETHROWint3; Total bytes of code 51
Compare Jit Disasm
; Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspcall qword ptr [7FFD9AED1BB8]; Exceptions.Handling.Level1TryDontCatch(ExceptionKind)nopxoreax,eaxaddrsp,30poprbpretM00_L00:movrax,[rbp-8]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]movrax,rdxmov[rbp-8],raxlearax,[M00_L00]addrsp,30poprbpret; Total bytes of code 77
; Exceptions.Handling.Level1TryDontCatch(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspcall qword ptr [7FFD9AED1BD0]; Exceptions.Handling.Level2TryDontCatch(ExceptionKind)nopaddrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]call CORINFO_HELP_RETHROWint3; Total bytes of code 51
Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: Software)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 28.896683673469383 > 28.276018728663047.
IsChangePoint: Marked as a change because one of 11/30/2022 7:06:59 PM, 12/6/2022 5:44:36 AM falls between 11/27/2022 4:37:47 PM and 12/6/2022 5:44:36 AM.
IsRegressionStdDev: Marked as regression because -5.126168703437914 (T) = (0 -28617.139539030453) / Math.Sqrt((6351643.60125467 / (27)) + (2272233.550291982 / (25))) is less than -2.0085591120996775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (27) + (25) - 2, .025) and -0.11395497279645725 = (25689.67349478263 - 28617.139539030453) / 25689.67349478263 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; Exceptions.Handling.ThrowAndCatchDeepRecursive(ExceptionKind)
push rbp
sub rsp,30
lea rbp,[rsp+30]
mov [rbp-10],rsp
mov r8d,0A
call qword ptr [7FFB2DADD828]; Exceptions.Handling.ThrowRecursive(ExceptionKind, Int32)
nop
xor eax,eax
add rsp,30
pop rbp
ret
M00_L00:
mov rax,[rbp-8]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov rax,rdx
mov [rbp-8],rax
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
; Total bytes of code 83
; Exceptions.Handling.ThrowRecursive(ExceptionKind, Int32)M01_L00:subrsp,28leaeax,[r8-1]testr8d,r8djne short M01_L01call qword ptr [7FFB2DADD660]; Exceptions.Handling.Throw(ExceptionKind)nopaddrsp,28retM01_L01:movr8d,eaxcall qword ptr [7FFB2DADD828]nopaddrsp,28ret; Total bytes of code 40
Compare Jit Disasm
; Exceptions.Handling.ThrowAndCatchDeepRecursive(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspmovr8d,0Acall qword ptr [7FFF67AF1828]; Exceptions.Handling.ThrowRecursive(ExceptionKind, Int32)nopxoreax,eaxaddrsp,30poprbpretM00_L00:movrax,[rbp-8]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]movrax,rdxmov[rbp-8],raxlearax,[M00_L00]addrsp,30poprbpret; Total bytes of code 83
; Exceptions.Handling.ThrowRecursive(ExceptionKind, Int32)M01_L00:subrsp,28leaeax,[r8-1]testr8d,r8djne short M01_L01call qword ptr [7FFF67AF1660]; Exceptions.Handling.Throw(ExceptionKind)nopaddrsp,28retM01_L01:movr8d,eaxcall qword ptr [7FFF67AF1828]nopaddrsp,28ret; Total bytes of code 40
Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: Software)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 15.754629044489384 > 14.718556579172228.
IsChangePoint: Marked as a change because one of 11/28/2022 4:36:31 AM, 11/29/2022 11:48:02 PM, 12/6/2022 5:44:36 AM falls between 11/27/2022 4:37:47 PM and 12/6/2022 5:44:36 AM.
IsRegressionStdDev: Marked as regression because -5.432850575162834 (T) = (0 -15244.382443685565) / Math.Sqrt((11355315.02582522 / (23)) + (2604017.3312574876 / (29))) is less than -2.0085591120996775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (29) - 2, .025) and -0.3740646364944456 = (11094.370700477006 - 15244.382443685565) / 11094.370700477006 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```### Baseline Jit Disasm
```assembly
; Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(ExceptionKind)
push rbp
sub rsp,30
lea rbp,[rsp+30]
mov [rbp-10],rsp
call qword ptr [7FFB55EFD660]; Exceptions.Handling.Throw(ExceptionKind)
nop
xor eax,eax
add rsp,30
pop rbp
ret
M00_L00:
mov rax,[rbp-8]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov [rbp-8],rdx
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov [rbp-8],rdx
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov [rbp-8],rdx
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov [rbp-8],rdx
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
push rbp
sub rsp,30
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+30]
mov [rbp-8],rdx
lea rax,[M00_L00]
add rsp,30
pop rbp
ret
; Total bytes of code 214
; Exceptions.Handling.Throw(ExceptionKind)pushrsisubrsp,30movrax,rcxtestedx,edxje near ptr M01_L03cmpedx,1jne short M01_L00movrsi,[rax+10]movrcx,[rax+8]movrax,[rcx]movrax,[rax+40]call qword ptr [rax+18]mov[rsi+40],eaxaddrsp,30poprsiretM01_L00:cmpedx,2jne short M01_L01movrcx,[rax+18]movrdx,[rax+20]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]nopaddrsp,30poprsiretM01_L01:cmpedx,3jne short M01_L02movrcx,[rax+18]movrdx,[rax+28]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]M01_L02:nopaddrsp,30poprsiretM01_L03:movrcx,offset MT_System.Exceptioncall CORINFO_HELP_NEWSFASTmovrsi,raxmovrcx,rsicall qword ptr [7FFB55C25C00]; System.Exception..ctor()movrcx,rsicall CORINFO_HELP_THROWint3; Total bytes of code 186
Compare Jit Disasm
; Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(ExceptionKind)pushrbpsubrsp,30learbp,[rsp+30]mov[rbp-10],rspcall qword ptr [7FFEB26F1660]; Exceptions.Handling.Throw(ExceptionKind)nopxoreax,eaxaddrsp,30poprbpretM00_L00:movrax,[rbp-8]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]mov[rbp-8],rdxlearax,[M00_L00]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]mov[rbp-8],rdxlearax,[M00_L00]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]mov[rbp-8],rdxlearax,[M00_L00]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]mov[rbp-8],rdxlearax,[M00_L00]addrsp,30poprbpretpushrbpsubrsp,30movrbp,[rcx+20]mov[rsp+20],rbplearbp,[rbp+30]mov[rbp-8],rdxlearax,[M00_L00]addrsp,30poprbpret; Total bytes of code 214
; Exceptions.Handling.Throw(ExceptionKind)pushrsisubrsp,30movrax,rcxtestedx,edxje near ptr M01_L03cmpedx,1jne short M01_L00movrsi,[rax+10]movrcx,[rax+8]movrax,[rcx]movrax,[rax+40]call qword ptr [rax+18]mov[rsi+40],eaxaddrsp,30poprsiretM01_L00:cmpedx,2jne short M01_L01movrcx,[rax+18]movrdx,[rax+20]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]nopaddrsp,30poprsiretM01_L01:cmpedx,3jne short M01_L02movrcx,[rax+18]movrdx,[rax+28]mov[rsp+20],rdxxoredx,edxmov[rsp+28],rdxmovrdx,raxxorr8d,r8dxorr9d,r9dmovrax,[rcx]movrax,[rax+58]call qword ptr [rax+38]M01_L02:nopaddrsp,30poprsiretM01_L03:movrcx,offset MT_System.Exceptioncall CORINFO_HELP_NEWSFASTmovrsi,raxmovrcx,rsicall qword ptr [7FFEB2377C00]; System.Exception..ctor()movrcx,rsicall CORINFO_HELP_THROWint3; Total bytes of code 186
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in Exceptions.Handling
Test Report
Repro
Details
Payloads
Baseline
Compare
Histogram
Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Software)
Description of detection logic
Compare Jit Disasm
Exceptions.Handling.TryAndFinallyDeep(kind: Software)
Description of detection logic
Compare Jit Disasm
Exceptions.Handling.ThrowAndCatch(kind: ReflectionSoftware)
Description of detection logic
Compare Jit Disasm
Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(kind: Software)
Description of detection logic
Compare Jit Disasm
Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: Software)
Description of detection logic
Compare Jit Disasm
Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: Software)
Description of detection logic
Compare Jit Disasm
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository