Yeah, just was curious what you were using SAFE_HEAP for (it does various other stuff as well, like check alignment, check for compiler bugs by checking for impossible types, etc.). The null pointer and alignment checks are certainly things we'll want in the new compiler. Will implement them differently though (see 'design' section in https://github.com/kripken/emscripten/wiki/LLVM-Backend ).
That's btw a nice place to start for people interested to contribute to the new compiler. - Alon On Tue, Jan 7, 2014 at 11:14 AM, Chad Austin <[email protected]> wrote: > 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. > -- 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.
