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

Remove 'set frame pointer' unwind code from Windows x64 unwind. #1983

Merged
merged 4 commits into from
Jul 7, 2020

Commits on Jul 6, 2020

  1. Remove 'set frame pointer' unwind code from Windows x64 unwind.

    This commit removes the "set frame pointer" unwind code and frame
    pointer information from Windows x64 unwind information.
    
    In Windows x64 unwind information, a "frame pointer" is actually the
    *base address* of the static part of the local frame and would be at some
    negative offset to RSP upon establishing the frame pointer.
    
    Currently Cranelift uses a "traditional" notion of a frame pointer, one
    that is the highest address in the local frame (i.e. pointing at the
    previous frame pointer on the stack).
    
    Windows x64 unwind doesn't describe such frame pointers and only needs
    one described if the frame contains a dynamic stack allocation.
    
    Fixes bytecodealliance#1967.
    peterhuene committed Jul 6, 2020
    Configuration menu
    Copy the full SHA
    3a33749 View commit details
    Browse the repository at this point in the history
  2. Add a test case for unwind with saved FPRs on Windows.

    This commit adds a simple test case that reproduces the problem in
    peterhuene committed Jul 6, 2020
    Configuration menu
    Copy the full SHA
    b391817 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2020

  1. Fix incorrect scaling for SaveXmm128Far.

    The `SaveXmm128Far` unwind op should have a 32-bit unscaled value.
    
    The value was accidentally scaled down by 16 while calculating whether or not
    the `SaveXmm128` or `SaveXmm128Far` unwind op should be used.
    peterhuene committed Jul 7, 2020
    Configuration menu
    Copy the full SHA
    b1c7c14 View commit details
    Browse the repository at this point in the history
  2. Fix module doc comment.

    peterhuene committed Jul 7, 2020
    Configuration menu
    Copy the full SHA
    92864ba View commit details
    Browse the repository at this point in the history