-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
dotnet/coreclr
#25348Labels
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 SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions
Milestone
Description
See notes in dotnet/coreclr#25251.
For IAT_PVALUE entry points, we are always loading up the full 64 bit address and using register indirect. In many cases we may be able to use a 32 bit RIP-relative indirection instead.
Should have some small code size benefit, perhaps especially for Tier0 code.
48B8D04BB17925000000 mov rax, 0x2579B14BD0
FF10 call gword ptr [rax]JitTest.TestClass:Method2():ref:this
...
48B8D04BB17925000000 mov rax, 0x2579B14BD0
FF20 jmp qword ptr [rax]JitTest.TestClass:Method2():ref:thisMetadata
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 SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions