The last missing features for fastcomp

https://github.com/kripken/emscripten/wiki/LLVM-Backend

have landed, namely indirect branches, better function pointer error
messages, bindings generator support, gl emulation support, and other
stuff. At this point everything that the old compiler could do, **and is
not deprecated or considering a rewrite**, is functional and enabled in the
test suite.

There are various deprecated features like non-typed arrays support,
various settings.js options like HEAP_INIT, etc., which will not be ported
to fastcomp. The old compiler will remain an option for those.

Perhaps the biggest missing thing is linking support. This is not
deprecated, but there are some issues with it - it works on C code, but C++
can break it. For that reason we may want to reconsider our linking
approach, so there is no point adding that to fastcomp before doing so.
Also, linking is less crucial for fastcomp anyhow - linking has been a way
to avoid rebuilding big projects, but fastcomp is fast enough to rebuild
entire projects anyhow, and full rebuilds will give more optimal results
due to the compiler seeing all the code together and putting it all in one
asm.js module.

The plan forward is something like this:

0. Merge master to incoming one last time with fastcomp not yet on by
default. That will probably be tagged version 1.8.

1. Land some misc stuff on incoming for fastcomp: change the test suite to
run it by default, with some amount of old compiler testing still on, add
warnings in case people do not have the proper LLVM build, etc.

2. Enable fastcomp by default on the incoming branch and tag version 1.9.

3. Get feedback and fix bugs on incoming. This will take an uncertain
amount of time, during which no merges to master will occur.

4. Merge to master when things are deemed stable and tag version 2.0.

5. Further testing and fixes (as the code has reached a larger range of
users).

6. juj will make SDK builds with the new stable version of emscripten which
will contain fastcomp.

Please let me know about any thoughts or concerns about this plan.

- Alon

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to