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.

Reply via email to