Skip to content

GetHashCode should match IL generated during release build and avoid intermediate variables #122

@ndrwrbgs

Description

@ndrwrbgs

I deleted the template, I'm a bad patron :(
Similar discovery route, but different BUG, from #121

Made unit test to try to compare the weave results against what the compiler would do (so instead of having a comment in the readme.md about what it's similar to, we could assert it's the same as that!) -- master...ndrwrbgs:testTheActualIL

However, note the TODOs in the test file

For GetHashCode - our IL seems to get the value and store it in an intermediate, whereas the retail version seems to avoid this intermediate using only the stack

master...ndrwrbgs:testTheActualIL#diff-487b86d49e3d25f0b2efe6336d19cc22R564

Note that unlike #121, I am NOT confident of my interpretation of the IL differences here, I am not an IL ninja like y'all, but I do note some V__0 and V__1 that aren't present in the NormalClassResult's compiled output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions