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

[release/6.0-rc2] [mono][wasm] Rework the handling of GC references in AOTed code. #59397

Closed

Conversation

github-actions[bot]
Copy link
Contributor

Backport of #59352 to release/6.0-rc2

/cc @radical @vargaz

Customer Impact

Testing

Risk

Previously, variables holding GC refs were marked volatile so they
were loaded/stored to the C stack on every access. Since the stack
is conservatively scanned, all the objects pointed to by it are pinned,
so there is no need to load them on every access. Instead of
marking them as volatile, allocate a 'gc pinning' area on the stack,
and store ref variables to it after they are assigned. This improves
code size and performance.
@ghost
Copy link

ghost commented Sep 21, 2021

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #59352 to release/6.0-rc2

/cc @radical @vargaz

Customer Impact

Testing

Risk

Author: github-actions[bot]
Assignees: -
Labels:

arch-wasm, area-Codegen-LLVM-mono

Milestone: -

@Anipik
Copy link
Contributor

Anipik commented Sep 27, 2021

@marek-safar should we re-target this to 6.0 or is it blocking for rc2 ?

@lambdageek
Copy link
Member

@lewing ^ ?

@lewing
Copy link
Member

lewing commented Sep 27, 2021

this definitely doesn't meet the rc2 bar at this point, it might be worth it for rtm but there is risk.

@lewing lewing closed this Sep 27, 2021
@akoeplinger akoeplinger deleted the backport/pr-59352-to-release/6.0-rc2 branch October 7, 2021 18:39
@ghost ghost locked as resolved and limited conversation to collaborators Nov 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Codegen-LLVM-mono
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants