-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JIT: Unify struct arg morphing #112612
JIT: Unify struct arg morphing #112612
Conversation
This PR unifies the multi-reg and single-reg struct arg morphing into a single path. It combines the optimizations from either path to apply to both cases. It also deletes `FEATURE_PUT_STRUCT_ARG_STK`; this define was defined everywhere except win-x64, and win-x64 now benefits from it by supporting `FIELD_LIST` stack arguments. Another difference is that multi-reg arguments were morphed after args were evaluated into temps before. Now we instead morph multi-reg args at the same time as single-reg args; this means the temp-evaluation step may see field lists, but physical promotion also produces those nowadays, so it knows how to handle them. The main difference here ends up being that we sometimes will save an argument to a temp as multiple field-wise stores instead of a block store, which improves CQ.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
for (GenTree* comma = argx; comma->OperIs(GT_COMMA); comma = comma->gtGetOp2()) | ||
{ | ||
appendEffect(comma->gtGetOp1()); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We started seeing cases here with COMMA(op1, FIELD_LIST(..)))
, so support for that had to be added here.
/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress |
Azure Pipelines successfully started running 2 pipeline(s). |
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
runtime-nativeaot-outerloop failure looks like #108640: Call stack0:006> k
# Child-SP RetAddr Call Site
00 00000072`20501280 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
01 00000072`20501380 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
02 00000072`20501400 00007ff6`3f2b6aad ntdll!RtlEnterCriticalSection+0xf8
03 00000072`20501440 00007ff6`3f2b6fe6 System_Security_Cryptography_ProtectedData_Tests!_lock_file+0x2d [minkernel\crts\ucrt\src\appcrt\stdio\_file.cpp @ 141]
04 00000072`20501480 00007ff6`3f2b7b2a System_Security_Cryptography_ProtectedData_Tests!<lambda_c376a267cfb53b6959b3b692ec76b120>::operator()+0x16 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 298]
05 00000072`205014b0 00007ff6`3f2b7ba8 System_Security_Cryptography_ProtectedData_Tests!__crt_seh_guarded_call<int>::operator()<<lambda_d854c62834386a3b23916ad6dae2782d>,<lambda_303760bc4008a2b3ec4768a30b06a80c> &,<lambda_4780a7ea4f8cbd2590aec34bd14e2bbf> >+0x2a [VCCRT\vcruntime\inc\internal_shared.h @ 201]
06 00000072`205014f0 00007ff6`3f2b7eca System_Security_Cryptography_ProtectedData_Tests!__acrt_lock_stream_and_call<<lambda_303760bc4008a2b3ec4768a30b06a80c> >+0x58 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 297]
07 00000072`20501550 00007ff6`3f2cbb5c System_Security_Cryptography_ProtectedData_Tests!common_vfprintf<__crt_stdio_output::standard_base,char>+0x21a [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 37]
08 00000072`205015f0 00007ff6`3f2309bb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vfprintf+0x5c [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 61]
09 (Inline Function) --------`-------- System_Security_Cryptography_ProtectedData_Tests!_vfprintf_l+0x1b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 645]
0a 00000072`20501680 00007ff6`3f230924 System_Security_Cryptography_ProtectedData_Tests!printf+0x4b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 963]
0b 00000072`205016d0 00007ff6`3f223c2a System_Security_Cryptography_ProtectedData_Tests!Assert+0x54 [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\rhassert.cpp @ 30]
0c 00000072`20501720 00007ff9`dc9bed36 System_Security_Cryptography_ProtectedData_Tests!RhpVectoredExceptionHandler+0x3fa [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\EHHelpers.cpp @ 559]
0d 00000072`20501760 00007ff9`dc9bf13e ntdll!RtlpCallVectoredHandlers+0xd6
0e 00000072`205017f0 00007ff9`dcb0379e ntdll!RtlDispatchException+0xae
0f 00000072`20501a40 00007ff6`3f2a66d7 ntdll!KiUserExceptionDispatch+0x2e
10 00000072`20502148 00007ff6`3f2e19de System_Security_Cryptography_ProtectedData_Tests!__chkstk+0x37 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\misc\amd64\chkstk.asm @ 109]
11 00000072`20502160 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x1e [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 469]
12 00000072`20502170 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
13 00000072`205021d0 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
14 00000072`20502220 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
15 00000072`20502280 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
16 00000072`205022c0 00007ff6`3f2a919b System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
17 00000072`20502300 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler3+0x3b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 276]
18 00000072`20502380 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
19 00000072`205023b0 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
1a 00000072`20502b00 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
1b 00000072`20503200 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
1c 00000072`20503300 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
1d 00000072`20503380 00007ff6`3f2b6aad ntdll!RtlEnterCriticalSection+0xf8
1e 00000072`205033c0 00007ff6`3f2b6fe6 System_Security_Cryptography_ProtectedData_Tests!_lock_file+0x2d [minkernel\crts\ucrt\src\appcrt\stdio\_file.cpp @ 141]
1f 00000072`20503400 00007ff6`3f2b7b2a System_Security_Cryptography_ProtectedData_Tests!<lambda_c376a267cfb53b6959b3b692ec76b120>::operator()+0x16 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 298]
20 00000072`20503430 00007ff6`3f2b7ba8 System_Security_Cryptography_ProtectedData_Tests!__crt_seh_guarded_call<int>::operator()<<lambda_d854c62834386a3b23916ad6dae2782d>,<lambda_303760bc4008a2b3ec4768a30b06a80c> &,<lambda_4780a7ea4f8cbd2590aec34bd14e2bbf> >+0x2a [VCCRT\vcruntime\inc\internal_shared.h @ 201]
21 00000072`20503470 00007ff6`3f2b7eca System_Security_Cryptography_ProtectedData_Tests!__acrt_lock_stream_and_call<<lambda_303760bc4008a2b3ec4768a30b06a80c> >+0x58 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 297]
22 00000072`205034d0 00007ff6`3f2cbb5c System_Security_Cryptography_ProtectedData_Tests!common_vfprintf<__crt_stdio_output::standard_base,char>+0x21a [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 37]
23 00000072`20503570 00007ff6`3f2309bb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vfprintf+0x5c [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 61]
24 (Inline Function) --------`-------- System_Security_Cryptography_ProtectedData_Tests!_vfprintf_l+0x1b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 645]
25 00000072`20503600 00007ff6`3f230924 System_Security_Cryptography_ProtectedData_Tests!printf+0x4b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 963]
26 00000072`20503650 00007ff6`3f223c2a System_Security_Cryptography_ProtectedData_Tests!Assert+0x54 [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\rhassert.cpp @ 30]
27 00000072`205036a0 00007ff9`dc9bed36 System_Security_Cryptography_ProtectedData_Tests!RhpVectoredExceptionHandler+0x3fa [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\EHHelpers.cpp @ 559]
28 00000072`205036e0 00007ff9`dc9bf13e ntdll!RtlpCallVectoredHandlers+0xd6
29 00000072`20503770 00007ff9`dcb0379e ntdll!RtlDispatchException+0xae
2a 00000072`205039c0 00007ff6`3f2a66d7 ntdll!KiUserExceptionDispatch+0x2e
2b 00000072`205040c8 00007ff6`3f2e19de System_Security_Cryptography_ProtectedData_Tests!__chkstk+0x37 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\misc\amd64\chkstk.asm @ 109]
2c 00000072`205040e0 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x1e [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 469]
2d 00000072`205040f0 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
2e 00000072`20504150 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
2f 00000072`205041a0 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
30 00000072`20504200 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
31 00000072`20504240 00007ff6`3f2a919b System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
32 00000072`20504280 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler3+0x3b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 276]
33 00000072`20504300 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
34 00000072`20504330 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
35 00000072`20504a80 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
36 00000072`20505180 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
37 00000072`20505280 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
38 00000072`20505300 00007ff6`3f2b6aad ntdll!RtlEnterCriticalSection+0xf8
39 00000072`20505340 00007ff6`3f2b6fe6 System_Security_Cryptography_ProtectedData_Tests!_lock_file+0x2d [minkernel\crts\ucrt\src\appcrt\stdio\_file.cpp @ 141]
3a 00000072`20505380 00007ff6`3f2b7b2a System_Security_Cryptography_ProtectedData_Tests!<lambda_c376a267cfb53b6959b3b692ec76b120>::operator()+0x16 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 298]
3b 00000072`205053b0 00007ff6`3f2b7ba8 System_Security_Cryptography_ProtectedData_Tests!__crt_seh_guarded_call<int>::operator()<<lambda_d854c62834386a3b23916ad6dae2782d>,<lambda_303760bc4008a2b3ec4768a30b06a80c> &,<lambda_4780a7ea4f8cbd2590aec34bd14e2bbf> >+0x2a [VCCRT\vcruntime\inc\internal_shared.h @ 201]
3c 00000072`205053f0 00007ff6`3f2b7eca System_Security_Cryptography_ProtectedData_Tests!__acrt_lock_stream_and_call<<lambda_303760bc4008a2b3ec4768a30b06a80c> >+0x58 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 297]
3d 00000072`20505450 00007ff6`3f2cbb5c System_Security_Cryptography_ProtectedData_Tests!common_vfprintf<__crt_stdio_output::standard_base,char>+0x21a [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 37]
3e 00000072`205054f0 00007ff6`3f2309bb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vfprintf+0x5c [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 61]
3f (Inline Function) --------`-------- System_Security_Cryptography_ProtectedData_Tests!_vfprintf_l+0x1b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 645]
40 00000072`20505580 00007ff6`3f230924 System_Security_Cryptography_ProtectedData_Tests!printf+0x4b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 963]
41 00000072`205055d0 00007ff6`3f223c2a System_Security_Cryptography_ProtectedData_Tests!Assert+0x54 [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\rhassert.cpp @ 30]
42 00000072`20505620 00007ff9`dc9bed36 System_Security_Cryptography_ProtectedData_Tests!RhpVectoredExceptionHandler+0x3fa [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\EHHelpers.cpp @ 559]
43 00000072`20505660 00007ff9`dc9bf13e ntdll!RtlpCallVectoredHandlers+0xd6
44 00000072`205056f0 00007ff9`dcb0379e ntdll!RtlDispatchException+0xae
45 00000072`20505940 00007ff6`3f2a66d7 ntdll!KiUserExceptionDispatch+0x2e
46 00000072`20506048 00007ff6`3f2e19de System_Security_Cryptography_ProtectedData_Tests!__chkstk+0x37 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\misc\amd64\chkstk.asm @ 109]
47 00000072`20506060 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x1e [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 469]
48 00000072`20506070 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
49 00000072`205060d0 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
4a 00000072`20506120 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
4b 00000072`20506180 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
4c 00000072`205061c0 00007ff6`3f2a919b System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
4d 00000072`20506200 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler3+0x3b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 276]
4e 00000072`20506280 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
4f 00000072`205062b0 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
50 00000072`20506a00 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
51 00000072`20507100 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
52 00000072`20507200 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
53 00000072`20507280 00007ff6`3f2b6aad ntdll!RtlEnterCriticalSection+0xf8
54 00000072`205072c0 00007ff6`3f2b6fe6 System_Security_Cryptography_ProtectedData_Tests!_lock_file+0x2d [minkernel\crts\ucrt\src\appcrt\stdio\_file.cpp @ 141]
55 00000072`20507300 00007ff6`3f2b7b2a System_Security_Cryptography_ProtectedData_Tests!<lambda_c376a267cfb53b6959b3b692ec76b120>::operator()+0x16 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 298]
56 00000072`20507330 00007ff6`3f2b7ba8 System_Security_Cryptography_ProtectedData_Tests!__crt_seh_guarded_call<int>::operator()<<lambda_d854c62834386a3b23916ad6dae2782d>,<lambda_303760bc4008a2b3ec4768a30b06a80c> &,<lambda_4780a7ea4f8cbd2590aec34bd14e2bbf> >+0x2a [VCCRT\vcruntime\inc\internal_shared.h @ 201]
57 00000072`20507370 00007ff6`3f2b7eca System_Security_Cryptography_ProtectedData_Tests!__acrt_lock_stream_and_call<<lambda_303760bc4008a2b3ec4768a30b06a80c> >+0x58 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 297]
58 00000072`205073d0 00007ff6`3f2cbb5c System_Security_Cryptography_ProtectedData_Tests!common_vfprintf<__crt_stdio_output::standard_base,char>+0x21a [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 37]
59 00000072`20507470 00007ff6`3f2309bb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vfprintf+0x5c [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 61]
5a (Inline Function) --------`-------- System_Security_Cryptography_ProtectedData_Tests!_vfprintf_l+0x1b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 645]
5b 00000072`20507500 00007ff6`3f230924 System_Security_Cryptography_ProtectedData_Tests!printf+0x4b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 963]
5c 00000072`20507550 00007ff6`3f223c2a System_Security_Cryptography_ProtectedData_Tests!Assert+0x54 [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\rhassert.cpp @ 30]
5d 00000072`205075a0 00007ff9`dc9bed36 System_Security_Cryptography_ProtectedData_Tests!RhpVectoredExceptionHandler+0x3fa [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\EHHelpers.cpp @ 559]
5e 00000072`205075e0 00007ff9`dc9bf13e ntdll!RtlpCallVectoredHandlers+0xd6
5f 00000072`20507670 00007ff9`dcb0379e ntdll!RtlDispatchException+0xae
60 00000072`205078c0 00007ff6`3f2a66d7 ntdll!KiUserExceptionDispatch+0x2e
61 00000072`20507fc8 00007ff6`3f2e19de System_Security_Cryptography_ProtectedData_Tests!__chkstk+0x37 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\misc\amd64\chkstk.asm @ 109]
62 00000072`20507fe0 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x1e [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 469]
63 00000072`20507ff0 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
64 00000072`20508050 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
65 00000072`205080a0 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
66 00000072`20508100 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
67 00000072`20508140 00007ff6`3f2a919b System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
68 00000072`20508180 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler3+0x3b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 276]
69 00000072`20508200 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
6a 00000072`20508230 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
6b 00000072`20508980 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
6c 00000072`20509080 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
6d 00000072`20509180 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
6e 00000072`20509200 00007ff6`3f2b6aad ntdll!RtlEnterCriticalSection+0xf8
6f 00000072`20509240 00007ff6`3f2b6fe6 System_Security_Cryptography_ProtectedData_Tests!_lock_file+0x2d [minkernel\crts\ucrt\src\appcrt\stdio\_file.cpp @ 141]
70 00000072`20509280 00007ff6`3f2b7b2a System_Security_Cryptography_ProtectedData_Tests!<lambda_c376a267cfb53b6959b3b692ec76b120>::operator()+0x16 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 298]
71 00000072`205092b0 00007ff6`3f2b7ba8 System_Security_Cryptography_ProtectedData_Tests!__crt_seh_guarded_call<int>::operator()<<lambda_d854c62834386a3b23916ad6dae2782d>,<lambda_303760bc4008a2b3ec4768a30b06a80c> &,<lambda_4780a7ea4f8cbd2590aec34bd14e2bbf> >+0x2a [VCCRT\vcruntime\inc\internal_shared.h @ 201]
72 00000072`205092f0 00007ff6`3f2b7eca System_Security_Cryptography_ProtectedData_Tests!__acrt_lock_stream_and_call<<lambda_303760bc4008a2b3ec4768a30b06a80c> >+0x58 [minkernel\crts\ucrt\inc\corecrt_internal_stdio.h @ 297]
73 00000072`20509350 00007ff6`3f2cbb5c System_Security_Cryptography_ProtectedData_Tests!common_vfprintf<__crt_stdio_output::standard_base,char>+0x21a [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 37]
74 00000072`205093f0 00007ff6`3f2309bb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vfprintf+0x5c [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 61]
75 (Inline Function) --------`-------- System_Security_Cryptography_ProtectedData_Tests!_vfprintf_l+0x1b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 645]
76 00000072`20509480 00007ff6`3f230924 System_Security_Cryptography_ProtectedData_Tests!printf+0x4b [C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\stdio.h @ 963]
77 00000072`205094d0 00007ff6`3f223c2a System_Security_Cryptography_ProtectedData_Tests!Assert+0x54 [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\rhassert.cpp @ 30]
78 00000072`20509520 00007ff9`dc9bed36 System_Security_Cryptography_ProtectedData_Tests!RhpVectoredExceptionHandler+0x3fa [D:\a\_work\1\s\src\coreclr\nativeaot\Runtime\EHHelpers.cpp @ 559]
79 00000072`20509560 00007ff9`dc9bf13e ntdll!RtlpCallVectoredHandlers+0xd6
7a 00000072`205095f0 00007ff9`dcb0379e ntdll!RtlDispatchException+0xae
7b 00000072`20509840 00007ff6`3f2a66d7 ntdll!KiUserExceptionDispatch+0x2e
7c 00000072`20509f78 00007ff6`3f2e19de System_Security_Cryptography_ProtectedData_Tests!__chkstk+0x37 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\misc\amd64\chkstk.asm @ 109]
7d 00000072`20509f90 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x1e [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 469]
7e 00000072`20509fa0 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
7f 00000072`2050a000 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
80 00000072`2050a050 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
81 00000072`2050a0b0 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
82 00000072`2050a0f0 00007ff6`3f2a9288 System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
83 00000072`2050a130 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler4+0x48 [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 296]
84 00000072`2050a1c0 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
85 00000072`2050a1f0 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
86 00000072`2050a940 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
87 00000072`2050b040 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
88 00000072`2050b140 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
89 00000072`2050b1c0 00007ff6`3f2e4cf7 ntdll!RtlEnterCriticalSection+0xf8
8a 00000072`2050b200 00007ff6`3f2db624 System_Security_Cryptography_ProtectedData_Tests!__acrt_lock+0x27 [minkernel\crts\ucrt\src\appcrt\internal\locks.cpp @ 55]
8b 00000072`2050b230 00007ff6`3f2a93cd System_Security_Cryptography_ProtectedData_Tests!_free_dbg+0x14 [minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp @ 1019]
8c 00000072`2050b270 00007ff6`3f2a949b System_Security_Cryptography_ProtectedData_Tests!__crt_internal_free_policy::operator()<char>+0x1d [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 340]
8d 00000072`2050b2a0 00007ff6`3f2a9413 System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::release+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 400]
8e 00000072`2050b2e0 00007ff6`3f2c0f6c System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::~__crt_unique_heap_ptr<char,__crt_internal_free_policy>+0x13 [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 374]
8f 00000072`2050b310 00007ff6`3f2c0e9a System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::formatting_buffer::~formatting_buffer+0x1c
90 00000072`2050b340 00007ff6`3f2c0ed3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::common_data<wchar_t>::~common_data<wchar_t>+0x1a
91 00000072`2050b370 00007ff6`3f2c0f13 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >::~output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >+0x13
92 00000072`2050b3a0 00007ff6`3f2c0eb3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >::~standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >+0x13
93 00000072`2050b3d0 00007ff6`3f2c0ef3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >::~output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >+0x13
94 00000072`2050b400 00007ff6`3f2b9824 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >::~output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >+0x13
95 00000072`2050b430 00007ff6`3f2b8a80 System_Security_Cryptography_ProtectedData_Tests!common_vsprintf<__crt_stdio_output::format_validation_base,wchar_t>+0x484 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 230]
96 00000072`2050b960 00007ff6`3f2cbd06 System_Security_Cryptography_ProtectedData_Tests!common_vsnprintf_s<wchar_t>+0x290 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 344]
97 00000072`2050ba40 00007ff6`3f2e1beb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vsnwprintf_s+0x76 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 418]
98 00000072`2050bae0 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x22b [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 518]
99 00000072`20513c20 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
9a 00000072`20513c80 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
9b 00000072`20513cd0 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
9c 00000072`20513d30 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
9d 00000072`20513d70 00007ff6`3f2a9288 System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
9e 00000072`20513db0 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler4+0x48 [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 296]
9f 00000072`20513e40 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
a0 00000072`20513e70 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
a1 00000072`205145c0 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
a2 00000072`20514cc0 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
a3 00000072`20514dc0 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
a4 00000072`20514e40 00007ff6`3f2e4cf7 ntdll!RtlEnterCriticalSection+0xf8
a5 00000072`20514e80 00007ff6`3f2db624 System_Security_Cryptography_ProtectedData_Tests!__acrt_lock+0x27 [minkernel\crts\ucrt\src\appcrt\internal\locks.cpp @ 55]
a6 00000072`20514eb0 00007ff6`3f2a93cd System_Security_Cryptography_ProtectedData_Tests!_free_dbg+0x14 [minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp @ 1019]
a7 00000072`20514ef0 00007ff6`3f2a949b System_Security_Cryptography_ProtectedData_Tests!__crt_internal_free_policy::operator()<char>+0x1d [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 340]
a8 00000072`20514f20 00007ff6`3f2a9413 System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::release+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 400]
a9 00000072`20514f60 00007ff6`3f2c0f6c System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::~__crt_unique_heap_ptr<char,__crt_internal_free_policy>+0x13 [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 374]
aa 00000072`20514f90 00007ff6`3f2c0e9a System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::formatting_buffer::~formatting_buffer+0x1c
ab 00000072`20514fc0 00007ff6`3f2c0ed3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::common_data<wchar_t>::~common_data<wchar_t>+0x1a
ac 00000072`20514ff0 00007ff6`3f2c0f13 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >::~output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >+0x13
ad 00000072`20515020 00007ff6`3f2c0eb3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >::~standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >+0x13
ae 00000072`20515050 00007ff6`3f2c0ef3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >::~output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >+0x13
af 00000072`20515080 00007ff6`3f2b9824 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >::~output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >+0x13
b0 00000072`205150b0 00007ff6`3f2b8a80 System_Security_Cryptography_ProtectedData_Tests!common_vsprintf<__crt_stdio_output::format_validation_base,wchar_t>+0x484 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 230]
b1 00000072`205155e0 00007ff6`3f2cbd06 System_Security_Cryptography_ProtectedData_Tests!common_vsnprintf_s<wchar_t>+0x290 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 344]
b2 00000072`205156c0 00007ff6`3f2e1beb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vsnwprintf_s+0x76 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 418]
b3 00000072`20515760 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x22b [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 518]
b4 00000072`2051d8a0 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
b5 00000072`2051d900 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
b6 00000072`2051d950 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
b7 00000072`2051d9b0 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
b8 00000072`2051d9f0 00007ff6`3f2a9288 System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
b9 00000072`2051da30 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler4+0x48 [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 296]
ba 00000072`2051dac0 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
bb 00000072`2051daf0 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
bc 00000072`2051e240 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
bd 00000072`2051e940 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
be 00000072`2051ea40 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
bf 00000072`2051eac0 00007ff6`3f2e4cf7 ntdll!RtlEnterCriticalSection+0xf8
c0 00000072`2051eb00 00007ff6`3f2db624 System_Security_Cryptography_ProtectedData_Tests!__acrt_lock+0x27 [minkernel\crts\ucrt\src\appcrt\internal\locks.cpp @ 55]
c1 00000072`2051eb30 00007ff6`3f2a93cd System_Security_Cryptography_ProtectedData_Tests!_free_dbg+0x14 [minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp @ 1019]
c2 00000072`2051eb70 00007ff6`3f2a949b System_Security_Cryptography_ProtectedData_Tests!__crt_internal_free_policy::operator()<char>+0x1d [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 340]
c3 00000072`2051eba0 00007ff6`3f2a9413 System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::release+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 400]
c4 00000072`2051ebe0 00007ff6`3f2c0f6c System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::~__crt_unique_heap_ptr<char,__crt_internal_free_policy>+0x13 [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 374]
c5 00000072`2051ec10 00007ff6`3f2c0e9a System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::formatting_buffer::~formatting_buffer+0x1c
c6 00000072`2051ec40 00007ff6`3f2c0ed3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::common_data<wchar_t>::~common_data<wchar_t>+0x1a
c7 00000072`2051ec70 00007ff6`3f2c0f13 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >::~output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >+0x13
c8 00000072`2051eca0 00007ff6`3f2c0eb3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >::~standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >+0x13
c9 00000072`2051ecd0 00007ff6`3f2c0ef3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >::~output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >+0x13
ca 00000072`2051ed00 00007ff6`3f2b9824 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >::~output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >+0x13
cb 00000072`2051ed30 00007ff6`3f2b8a80 System_Security_Cryptography_ProtectedData_Tests!common_vsprintf<__crt_stdio_output::format_validation_base,wchar_t>+0x484 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 230]
cc 00000072`2051f260 00007ff6`3f2cbd06 System_Security_Cryptography_ProtectedData_Tests!common_vsnprintf_s<wchar_t>+0x290 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 344]
cd 00000072`2051f340 00007ff6`3f2e1beb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vsnwprintf_s+0x76 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 418]
ce 00000072`2051f3e0 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x22b [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 518]
cf 00000072`20527520 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
d0 00000072`20527580 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
d1 00000072`205275d0 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
d2 00000072`20527630 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
d3 00000072`20527670 00007ff6`3f2a9288 System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
d4 00000072`205276b0 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler4+0x48 [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 296]
d5 00000072`20527740 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
d6 00000072`20527770 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
d7 00000072`20527ec0 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
d8 00000072`205285c0 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
d9 00000072`205286c0 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
da 00000072`20528740 00007ff6`3f2e4cf7 ntdll!RtlEnterCriticalSection+0xf8
db 00000072`20528780 00007ff6`3f2db624 System_Security_Cryptography_ProtectedData_Tests!__acrt_lock+0x27 [minkernel\crts\ucrt\src\appcrt\internal\locks.cpp @ 55]
dc 00000072`205287b0 00007ff6`3f2a93cd System_Security_Cryptography_ProtectedData_Tests!_free_dbg+0x14 [minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp @ 1019]
dd 00000072`205287f0 00007ff6`3f2a949b System_Security_Cryptography_ProtectedData_Tests!__crt_internal_free_policy::operator()<char>+0x1d [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 340]
de 00000072`20528820 00007ff6`3f2a9413 System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::release+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 400]
df 00000072`20528860 00007ff6`3f2c0f6c System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::~__crt_unique_heap_ptr<char,__crt_internal_free_policy>+0x13 [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 374]
e0 00000072`20528890 00007ff6`3f2c0e9a System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::formatting_buffer::~formatting_buffer+0x1c
e1 00000072`205288c0 00007ff6`3f2c0ed3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::common_data<wchar_t>::~common_data<wchar_t>+0x1a
e2 00000072`205288f0 00007ff6`3f2c0f13 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >::~output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >+0x13
e3 00000072`20528920 00007ff6`3f2c0eb3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >::~standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >+0x13
e4 00000072`20528950 00007ff6`3f2c0ef3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >::~output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >+0x13
e5 00000072`20528980 00007ff6`3f2b9824 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >::~output_processor<char,__crt_stdio_output::string_output_adapter<char>,__crt_stdio_output::format_validation_base<char,__crt_stdio_output::string_output_adapter<char> > >+0x13
e6 00000072`205289b0 00007ff6`3f2b8a80 System_Security_Cryptography_ProtectedData_Tests!common_vsprintf<__crt_stdio_output::format_validation_base,wchar_t>+0x484 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 230]
e7 00000072`20528ee0 00007ff6`3f2cbd06 System_Security_Cryptography_ProtectedData_Tests!common_vsnprintf_s<wchar_t>+0x290 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 344]
e8 00000072`20528fc0 00007ff6`3f2e1beb System_Security_Cryptography_ProtectedData_Tests!__stdio_common_vsnwprintf_s+0x76 [minkernel\crts\ucrt\src\appcrt\stdio\output.cpp @ 418]
e9 00000072`20529060 00007ff6`3f2b47b9 System_Security_Cryptography_ProtectedData_Tests!_VCrtDbgReportW+0x22b [minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp @ 518]
ea 00000072`205311a0 00007ff6`3f2d64e1 System_Security_Cryptography_ProtectedData_Tests!_CrtDbgReportW+0x69 [minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp @ 278]
eb 00000072`20531200 00007ff6`3f2d6693 System_Security_Cryptography_ProtectedData_Tests!issue_debug_notification+0x31 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 25]
ec 00000072`20531250 00007ff6`3f2cd3ad System_Security_Cryptography_ProtectedData_Tests!__acrt_report_runtime_error+0x13 [minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp @ 154]
ed 00000072`205312b0 00007ff6`3f2a9d9b System_Security_Cryptography_ProtectedData_Tests!abort+0x1d [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 61]
ee 00000072`205312f0 00007ff6`3f2a9288 System_Security_Cryptography_ProtectedData_Tests!__vcrt_getptd+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\internal\per_thread_data.cpp @ 166]
ef 00000072`20531330 00007ff9`dcb03e5f System_Security_Cryptography_ProtectedData_Tests!__CxxFrameHandler4+0x48 [D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 296]
f0 00000072`205313c0 00007ff9`dc9bf358 ntdll!RtlpExecuteHandlerForException+0xf
f1 00000072`205313f0 00007ff9`dcb0379e ntdll!RtlDispatchException+0x2c8
f2 00000072`20531b40 00007ff9`dc9ba9dd ntdll!KiUserExceptionDispatch+0x2e
f3 00000072`20532240 00007ff9`dc9c5def ntdll!RtlpWaitOnCriticalSection+0xbd
f4 00000072`20532340 00007ff9`dc9c5548 ntdll!RtlpEnterCriticalSectionContended+0x1ff
f5 00000072`205323c0 00007ff6`3f2e4cf7 ntdll!RtlEnterCriticalSection+0xf8
f6 00000072`20532400 00007ff6`3f2db624 System_Security_Cryptography_ProtectedData_Tests!__acrt_lock+0x27 [minkernel\crts\ucrt\src\appcrt\internal\locks.cpp @ 55]
f7 00000072`20532430 00007ff6`3f2a93cd System_Security_Cryptography_ProtectedData_Tests!_free_dbg+0x14 [minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp @ 1019]
f8 00000072`20532470 00007ff6`3f2a949b System_Security_Cryptography_ProtectedData_Tests!__crt_internal_free_policy::operator()<char>+0x1d [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 340]
f9 00000072`205324a0 00007ff6`3f2a9413 System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::release+0x1b [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 400]
fa 00000072`205324e0 00007ff6`3f2c0f6c System_Security_Cryptography_ProtectedData_Tests!__crt_unique_heap_ptr<char,__crt_internal_free_policy>::~__crt_unique_heap_ptr<char,__crt_internal_free_policy>+0x13 [D:\a\_work\1\s\src\vctools\crt\vcruntime\inc\internal_shared.h @ 374]
fb 00000072`20532510 00007ff6`3f2c0e9a System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::formatting_buffer::~formatting_buffer+0x1c
fc 00000072`20532540 00007ff6`3f2c0ed3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::common_data<wchar_t>::~common_data<wchar_t>+0x1a
fd 00000072`20532570 00007ff6`3f2c0f13 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >::~output_adapter_data<char,__crt_stdio_output::string_output_adapter<char> >+0x13
fe 00000072`205325a0 00007ff6`3f2c0eb3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >::~standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> >+0x13
ff 00000072`205325d0 00007ff6`3f2c0ef3 System_Security_Cryptography_ProtectedData_Tests!__crt_stdio_output::output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >::~output_processor<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::stream_output_adapter<wchar_t> > >+0x13 @MichalStrehovsky Is anything blocking #109006? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice cleanup
Just my fear of replacing a problem with another problem, but I agree it's annoying, I'll land that PR. |
* main: (71 commits) Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20250212.3 (dotnet#112626) JIT: Unify struct arg morphing (dotnet#112612) Enable `SA1015`: Closing generic bracket should not be followed by a space (dotnet#112597) Clean up normalizeLocale for mono browser target (dotnet#112575) SPMI: Ensure proper zero extension for isObjectImmutable and friends (dotnet#112617) Quote --version-scripts path (dotnet#112603) Remove incompatible API from PKCS netstandard2.0 lib [main] Update dependencies from dotnet/emsdk (dotnet#112393) Avoid `Unsafe.As` in `RangeCharSearchValues` (dotnet#112606) Fixed the issue of incorrect return value of PalVirtualAlloc (dotnet#112579) Fix size used for vectorization check in BitArray (dotnet#111558) (dotnet#111564) Fix build of windows arm64 crossdac (dotnet#112553) Simplify `ShuffleTakeIterator.GetCount` (dotnet#112593) Fix VS div-by-0 in DacEnumerableHashTable code (dotnet#112542) R2RDump: normalize GC info totalInterruptibleLength (dotnet#112003) Fix alignment padding and add test for saving managed resources (dotnet#110915) Adds `ccmp` logic into emitter backend. (dotnet#112153) Disable AVX10.2 by default (dotnet#112572) Outbox AesGcm in to Microsoft.Bcl.Cryptography Make test `IUnknown` conforming (dotnet#112566) ...
This PR unifies the multi-reg and single-reg struct arg morphing into a single path. It combines the optimizations from either path to apply to both cases. It also deletes
FEATURE_PUT_STRUCT_ARG_STK
; this define was defined everywhere except win-x64, and win-x64 now benefits from it by supportingFIELD_LIST
stack arguments.Another difference is that multi-reg arguments were morphed after args were evaluated into temps before. Now we instead morph multi-reg args at the same time as single-reg args; this means the temp-evaluation step may see field lists, but physical promotion also produces those nowadays, so it knows how to handle them. The main difference here ends up being that we sometimes will save an argument to a temp as multiple field-wise stores instead of a block store, which improves CQ.