Setjmp/longjmp now works in fastcomp. I ended up doing this in a way that does not use indirectbr. I also took a shortcut in that C++ exceptions will not work together with setjmp, that is fixable but i'm not sure how important to prioritize that - please let me know if you have a codebase using both, and in what way.
- Alon On Sun, Jan 12, 2014 at 8:26 PM, Alon Zakai <[email protected]> wrote: > Ok, C++ exceptions support is now working in fastcomp. If your project was > waiting on that to try fastcomp, now is the time to test and report issues > :) > > Next on my list is setjmp/longjmp. For this I plan to try a more optimized > approach than we currently have. Right now the original compiler will not > reloop functions using setjmp, which means if you have a tight loop in such > a function it will be slow. Instead, I think we can do a nearly-complete > relooping, by adding branches where a longjmp could return to the setjmp, > and adding a feature to the relooper that is sort of like LLVM's indirect > branch instruction. Thinking about that now, i might want to do LLVM > indirectbr first and implement setjmp using that. > > - Alon > > > > On Wed, Jan 8, 2014 at 4:00 PM, Alon Zakai <[email protected]> wrote: > >> Thanks for the feedback so far, everyone. Looks like c++ exceptions is >> the top item, I'll focus on that next. >> >> Meanwhile today I implemented SIMD in fastcomp, so that has been removed >> from the list of missing features. (SIMD is however not going to be >> accelerated until browsers JIT that, of course.) >> >> - Alon >> >> >> >> On Wed, Jan 8, 2014 at 3:59 PM, Alon Zakai <[email protected]> wrote: >> >>> Note that GL ES 2.0, including GL ES 2.0 emulation, works properly in >>> fastcomp. It is just legacy GL emulation (GL ES 1.x, desktop GL etc.) that >>> does not. Do you know what type of GL JSMESS needs? You mention shaders, so >>> hopefully that is ES 2.0 or something convertable to it. >>> >>> - Alon >>> >>> >>> >>> On Wed, Jan 8, 2014 at 1:45 PM, Justin Kerk <[email protected]>wrote: >>> >>>> On 1/6/2014 5:35 PM, 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. >>>>> >>>> >>>> For JSMESS: >>>> >>>> 1. Exceptions >>>> 2. setjmp/longjmp (distant second, it's used in a couple places but our >>>> currently targeted system emulations don't need it afaik) >>>> >>>> We will want GL of some sort eventually since native MESS supports >>>> shaders and whatnot but currently we're only using the software path with >>>> Emscripten. >>>> >>>> >>>> -- >>>> 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. >>>> >>> >>> >> > -- 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.
