-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
bool Test<T>(ref T o) => o is IDisposable;Tier0 codegen:
; Assembly listing for method mytest:Test[int](byref):bool (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
; Tier0 code
G_M11230_IG01: ;; offset=0x0000
push rbp
sub rsp, 48
lea rbp, [rsp+0x30]
xor eax, eax
mov qword ptr [rbp-0x08], rax
mov bword ptr [rbp+0x10], rcx
G_M11230_IG02: ;; offset=0x0014
mov rcx, 0x7FF907FEEF28 ; System.Int32
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x08], rax
mov rdx, bword ptr [rbp+0x10]
mov edx, dword ptr [rdx]
mov rcx, gword ptr [rbp-0x08]
mov dword ptr [rcx+0x08], edx
mov rdx, gword ptr [rbp-0x08]
mov rcx, 0x7FF90822D730 ; System.IDisposable
call [CORINFO_HELP_ISINSTANCEOFINTERFACE]
test rax, rax
setne al
movzx rax, al
G_M11230_IG03: ;; offset=0x0051
add rsp, 48
pop rbp
ret
; Total bytes of code 87once this is fixed we should be able to drop [AggressiveOptimization] from https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs#L96
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI