SAFE_HEAP detects accesses through null pointers, right? Since otherwise null pointer reads and writes are "valid" in asm.js, SAFE_HEAP is useful for catching things early. (Maybe it should even throw on any accesses below 4096 and above 2 billion or something)
Regal's code size may be a function of its completeness, but it's worth investigating. I'd even be willing to pay the code size if I could get it to work reliably, but even with -O2 I was running into issues where emscripten was generating excessive numbers of local variables in functions that looked pretty simple. I think I may have filed a bug on that, but I haven't had time to dig more deeply since before the holidays. On Tue, Jan 7, 2014 at 11:01 AM, Alon Zakai <[email protected]> wrote: > Thanks for the input. One question, what are you using SAFE_HEAP for > specifically? > > Agreed about GL emulation in principle, although regal had some > limitations as well last I checked, as well as size concerns. Would be good > to gather data on the two options to see which wins on speed, > compatibility, size, etc. > > - Alon > > > > On Tue, Jan 7, 2014 at 10:37 AM, Chad Austin <[email protected]> wrote: > >> Wow, great! >> >> Our priorities are: >> >> 1) C++ exceptions >> 2) FORCE_ALIGNMENT, SAFE_HEAP etc. >> 3) SIMD vector types >> >> Regarding GL emulation, I would recommend deleting all of library_gl.js >> and instead focusing on getting Regal to work reliably. The Regal project >> is far more likely to have a complete and usable GL emulation layer. The >> built-in emscripten emulation layer doesn't work for anything but the >> simplest use cases. >> >> >> >> On Mon, Jan 6, 2014 at 5:35 PM, Alon Zakai <[email protected]> wrote: >> >>> Hi, >>> >>> Work is mostly done on the LLVM backend (codename 'fastcomp') intended >>> to replace the core of emscripten's compiler. This is a proper C++ backend >>> integrated with LLVM, and as such is far faster than the original one which >>> was written in JS. Details about the new compiler are at >>> >>> https://github.com/kripken/emscripten/wiki/LLVM-Backend >>> >>> 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. >>> >>> Instructions to build and use the new compiler are in that link as well. >>> Please test when you get a chance, and report any bugs you see (the new >>> compiler passes the emscripten test suite - the parts not using features >>> not present yet - as well as fuzzing, so it seems fairly robust, however >>> like any new compiler bugs are very possible). >>> >>> - 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. >>> >> >> >> >> -- >> Chad Austin >> Technical Director, IMVU >> http://www.imvu.com/members/Chad/ >> >> -- >> 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. > -- Chad Austin Technical Director, IMVU http://www.imvu.com/members/Chad/ -- 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.
