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

[mono][interp] Add 16 byte default alignment to interp frames #80700

Merged
merged 3 commits into from
Jan 18, 2023

Conversation

BrzVlad
Copy link
Member

@BrzVlad BrzVlad commented Jan 16, 2023

In order to support correct alignment for SIMD types (Vector128) in the future.

@ghost
Copy link

ghost commented Jan 16, 2023

Tagging subscribers to this area: @BrzVlad
See info in area-owners.md if you want to be subscribed.

Issue Details

null

Author: BrzVlad
Assignees: BrzVlad
Labels:

area-Codegen-Interpreter-mono

Milestone: -

@BrzVlad BrzVlad force-pushed the feature-interp-stack-alignment branch from f841667 to 744b602 Compare January 17, 2023 07:36
It serves no purpose nowadays. All vars are aligned to MINT_STACK_SLOT_SIZE.
@BrzVlad
Copy link
Member Author

BrzVlad commented Jan 18, 2023

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@BrzVlad
Copy link
Member Author

BrzVlad commented Jan 18, 2023

/azp run runtime-wasm-libtests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

This will enable us to control alignment of Vector128 vars at compile time.
For normal calls, we introduce a new opcode before the call that will move all the arguments to aligned stack location. When emitting the code for the call, we emit directly the aligned call args offset instead. Unoptimized code has its own opcodes that do moving of param, we tweak them to copy them into aligned location.
@BrzVlad BrzVlad force-pushed the feature-interp-stack-alignment branch from 21a6508 to 6f57e7d Compare January 18, 2023 13:14
@BrzVlad BrzVlad merged commit 5a17537 into dotnet:main Jan 18, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Feb 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants