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

async/await using external mozjs? #653

Open
kencu opened this issue Feb 15, 2022 · 3 comments
Open

async/await using external mozjs? #653

kencu opened this issue Feb 15, 2022 · 3 comments

Comments

@kencu
Copy link
Contributor

kencu commented Feb 15, 2022

mozjs52, 60, and 68 all build on 10.6.8 now via MacPorts, and up to 60 are available for ppc Tiger I believe.

Those js versions all fully support the async/await features that so many websites like github and others are using now, that are a thorn for TenFourFox.

I tried just changing the "js" binary in the bundle to a symlink to a MacPorts-installed mozjs 52, 60, and 68, but that does not seem to be enough to actually make the websites work.

Do you have an idea how someone might go about using one of those external mozjs versions?

Does TFF call into a js-supporting library (ie does the js version have to be the same architecture?) or does it just call the binary as a js-interpreter, andcould you for example use an x86_64 mozjs binary from an i386 TenFourFox.

Many, most, or all the subparts of TenFourFox are available as ports in MacPorts -- perhaps factoring it out like that would keep it more maintainable?

@kencu
Copy link
Contributor Author

kencu commented Feb 15, 2022

FYI - rust now works on 10.6.8 as well, as of recently, allowing some of these new things to build.

The current compiler/toolchain on MacPorts of 10.6.8 is:

gcc11 / libgcc11
clang13/llvm13/flang13
libcxx 5.0.1
thread_local support is available both in libgcc11 and libc++
cctools 949
ld64 450
rust 1.54
and then current versions of cmake, yasm, ninja, etc all exist.

@kencu
Copy link
Contributor Author

kencu commented Feb 15, 2022

the previous full async/await discussion for TFF is here, by the way #521

@classilla
Copy link
Owner

Ignoring the absence of the JIT, it's not just the parser and bytecode support -- async/await are full co-routines and need support within the browser's own runtime. The shell just stubs this out.

It is possible to backport those changes, but there were a lot of regressions, so it wouldn't be a small undertaking.

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

2 participants