Yes, the PNaCl passes expand out varargs into manual buffer assignments, and the buffer is passed as an argument to the function being called. This is used by fastcomp now. The only issue is the clang frontend errors on a particular type of vararg function, which is separate from this.
- Alon On Wed, Jan 8, 2014 at 6:28 PM, Xuejie "Rafael" Xiao <[email protected]>wrote: > Thanks! I'm working on another solution to eliminate the struct type in > mruby source by the combination of NaN-boxing and bit manipulations. Hope I > can make it into mruby source code, that way we won't have this problem. > > BTW: I might be wrong on this, I think the nacl team are using a different > approach on this: > https://code.google.com/p/nativeclient/issues/detail?id=3338. > > Best Regards, > > 肖雪洁 > Xuejie "Rafael" Xiao > > > > On Thu, Jan 9, 2014 at 7:56 AM, Alon Zakai <[email protected]> wrote: > >> If you have a simple solution in mruby source, that would be best for you >> I think. If not, then we should see about fixing it in clang. My guess is >> that it is not a deep problem, just a todo, so likely not hard for us to >> fix. I've not worked on the clang code before though. >> >> Mark, do you know if pnacl has plans to fix that issue (2381)? >> >> - Alon >> >> >> >> On Tue, Jan 7, 2014 at 6:26 PM, Xuejie "Rafael" Xiao >> <[email protected]>wrote: >> >>> Hi, >>> >>> As the maintainer of webruby(https://github.com/xxuejie/webruby), I >>> need setjmp to work in order to port webruby to the new compiler. >>> >>> However, another thing occurs to me is that with the new compiler, this >>> bug still exists: https://gist.github.com/xxuejie/5574172. >>> >>> In the old compiler, the workaround of this is to use the old >>> "i386-pc-linux-gnu" target. Since the NaCl team has little interest( >>> https://code.google.com/p/nativeclient/issues/detail?id=2381) of fixing >>> this, my question is: is there a way that we can fix this in the compiler >>> level? Or should I try to fix this in the mruby source code? >>> >>> Thanks for all the hard work! >>> >>> Best Regards, >>> >>> 肖雪洁 >>> Xuejie "Rafael" Xiao >>> >>> >>> >>> On Tue, Jan 7, 2014 at 9:35 AM, 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. >>>> >>> >>> -- >>> 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. >> > > -- > 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.
