dotnet/runtime

[RyuJIT/x86/x64] Unify and streamline emitter for operand-size override prefix (0x66)

Open

#11,788 opened on Jan 10, 2019

View on GitHub
 (0 comments) (0 reactions) (0 assignees)C# (5,445 forks)batch import
arch-x64arch-x86area-CodeGen-coreclrhelp wanted

Repository metrics

Stars
 (17,886 stars)
PR merge metrics
 (Avg merge 12d 11h) (661 merged PRs in 30d)

Description

Now, the emitter has a lot of code like below for adding operand-size override prefix (0x66) or estimating code size of it.

    if (attrSize == EA_2BYTE && ins != INS_movzx && ins != INS_movsx)
    {
        ...
    }

We need to refactor the emitter to unify and simplify the code.

cc @CarolEidt @tannergooding

category:implementation theme:emitter skill-level:beginner cost:small impact:small

Contributor guide