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

Run Vim in Web Worker and say goodbye to Emterpreter #30

Merged
merged 20 commits into from
Jun 12, 2019
Merged

Run Vim in Web Worker and say goodbye to Emterpreter #30

merged 20 commits into from
Jun 12, 2019

Conversation

rhysd
Copy link
Owner

@rhysd rhysd commented Jun 11, 2019

Closes #10
Fixes #29

Please read README for more details.

👍 Benefits:

  • Pure Wasm (not Emterpreter byte code)!
  • Program is more stable
  • Total binary size is smaller since emterpretify.data has gone
  • Compilation is much faster
  • User interaction is not prevented as Vim is running in worker thread

👎 Downside:

  • JavaScript codebase is a bit more complicated because it is separated into main thread and worker thread
  • Browser support of SharedArrayBuffer is very limited in several major browsers due to Spectre. Only Chrome (and Chromium based browsers) enables it by default thanks to site-isolation

@zingus
Copy link

zingus commented Jan 12, 2020

Yeah... any workaround to that SharedArrayBuffer thing? Firefox isn't backing up on that.

@rhysd
Copy link
Owner Author

rhysd commented Jan 12, 2020

Please see #35. New Asyncify is an option. Though it is not acceptable to merge into master for now, it just works even on Firefox. You could try the branch.

@rhysd
Copy link
Owner Author

rhysd commented Jan 12, 2020

FYI: And Firefox is trying to enable SAB again.

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

Successfully merging this pull request may close these issues.

Build sometimes fails with bad memory access
2 participants