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

WASM globals are not managed by the netplay synchronization engine #649

Open
DenialAdams opened this issue Jun 5, 2023 · 1 comment
Open

Comments

@DenialAdams
Copy link
Contributor

WASM globals are not managed by the netplay synchronization engine. As a result of this, two players on a cart using WASM globals can go out of sync.

We are at the mercy of compilers here, hoping that they choose to persistently store data in memory rather than in WASM global variables.

It is unknown (to me) how widespread the use of WASM globals is in compiler backends. There is at least one (Roland) that would run into this issue were it not for a WASM-4 specific check.

@DenialAdams
Copy link
Contributor Author

One possible solution for this issue could be a cart pre-processing step that marks all global variables as exported, so that the WASM-4 runtime can observe them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant