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

Use push for 8/12 byte struct args on x86 #65387

Merged
merged 4 commits into from
Feb 17, 2022

Commits on Feb 15, 2022

  1. Refactor struct PUTARG_STK codegen

    Two changes:
    
     1) Outline cases for GC pointers from "genPutStructArgStk" into
        their own functions. Helps with readability, will be used in
        the substative portion of the change.
     2) Do not use "Kind::Push" for a case of a struct less than 16
        bytes in size, that does not have GC pointers, on x86. With
        this, we will now always call "genStructPutArgUnroll" for
        the "Unroll" kind. This means "genAdjustStackForPutArgStk"
        has to special-case that. This will go away in the final
        version of the change.
    
    No diffs on x86 or Unix-x64 (the only two affected platforms).
    SingleAccretion committed Feb 15, 2022
    Configuration menu
    Copy the full SHA
    2490a1a View commit details
    Browse the repository at this point in the history
  2. Remove the LSRA quirk

    We're not using XMMs on the "push" path.
    SingleAccretion committed Feb 15, 2022
    Configuration menu
    Copy the full SHA
    7bd0890 View commit details
    Browse the repository at this point in the history
  3. Use "push" for structs less than 16 bytes in size

    It is smaller and a little faster than using an XMM
    register to first load and then store the struct.
    SingleAccretion committed Feb 15, 2022
    Configuration menu
    Copy the full SHA
    1b59ae9 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2022

  1. Configuration menu
    Copy the full SHA
    260e231 View commit details
    Browse the repository at this point in the history