On 7 January 2014 02:31, Mark Callow <[email protected]> wrote:

>  On 2014/01/07 10:35, Alon Zakai wrote:
>
>  Not all functionality is complete yet in the new compiler, see the list
> of limitations in that link - stuff like setjmp and C++ exceptions are the
> main missing things. We'll implement those soon I hope, but I'm sending
> this email out to see which of the missing features is most important, so I
> know how to prioritize.
>
> Priorities for me would be
>
>
>    1. Linking of asm.js shared modules
>    2. C++ exceptions
>
> @Alon:  I haven't looked very closely at how Emscripten implements C++
exceptions, such as how it encodes landingpad clauses in Javascript.  You
might find PNaCl's ExceptionInfoWriter.cpp useful for Emscripten.  It's
currently used by PNaClSjLjEH.cpp, and it encodes the landingpad clauses
into three tables, which are interpreted by libsupc++ or libcxxabi.  From
skimming the source, I get the impression that Emscripten is doing
something similar.


>
>    1. SIMD vector types
>    2. indirectbr
>
> @Alon:  I've just committed a change to PNaCl's LLVM branch which converts
indirectbrs to switch instructions (
https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-llvm.git;a=commit;h=a55919f),
which you might find useful for Emscripten.

It might not be optimal for Emscripten, though:  if you have to generate a
big Javascript switch to handle all the basic blocks (if the relooper
fails), then it might be better for blockaddress to return indexes for the
big switch, rather than have a second level of switches.

Cheers,
Mark

-- 
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