Skip to content
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

Evaluate JIT_MemCpy without overlap check #6701

Open
helloguo opened this issue Sep 21, 2016 · 3 comments
Open

Evaluate JIT_MemCpy without overlap check #6701

helloguo opened this issue Sep 21, 2016 · 3 comments
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions tenet-performance Performance related issue
Milestone

Comments

@helloguo
Copy link

The current implementation of JIT_MemCpy on x64 Windows checks for address overlap and different paths are taken depending on result. However, ECMA-335 mentions "The behavior of cpblk is unspecified if the source and destination areas overlap". An optimized version without overlap check may be worth evaluating and implementing. dotnet/coreclr#7198

category:cq
theme:helpers
skill-level:expert
cost:medium

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@BruceForstall BruceForstall added the JitUntriaged CLR JIT issues needing additional triage label Oct 28, 2020
@TIHan
Copy link
Contributor

TIHan commented Nov 1, 2023

Comment regarding the overlapping buffers:

        ; Use memmove to handle overlapping buffers for better
        ; compatibility with .NET Framework. Needing to handle
        ; overlapping buffers in cpblk is undefined by the spec.

It might be worth evaluating? Hard to tell, but keeping this as future.

@TIHan TIHan removed the JitUntriaged CLR JIT issues needing additional triage label Nov 1, 2023
@EgorBo
Copy link
Member

EgorBo commented Mar 16, 2024

Closed by #98623

@EgorBo EgorBo closed this as completed Mar 16, 2024
@EgorBo
Copy link
Member

EgorBo commented Mar 16, 2024

Ah, sorry, it's a different issue. Although, I don't think we'll remove the overlap check

@EgorBo EgorBo reopened this Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions tenet-performance Performance related issue
Projects
None yet
Development

No branches or pull requests

5 participants