On Thu, 2014-01-02 at 15:22 +0000, Michael Ikey Doherty wrote:
Hello,
Hi, (...) Quick introduction: I'm working mainly on libgee library but recently I've started looking on how to improve Vala performance (including custom passes in llvm).
Given that JavaScript is prototyped and seemingly ill-suited to GObject-Introspection, perhaps Vala needs re-evaluating. A logical step might be to introduce Vala bytecode, and finish optimisation on the target computer. This could be achieved using llvm/clang.
This is not so easy ATM (although quite conceivable in principle) - the assumption of compilation to C is used through the Vala stack - not only codegen would need to be rewritten but also handling of VAPI files would need to be rethink (usage of macros etc.). My guess would be that there is likely similar project for clang which we could piggyback on - the problem faced should be similar and Vala would not get a new codegen. FIXME: How does 'portable' backends such as Emscripten and PNaCL handle it? Do they limit themselves to 32 bits/use custom system headers? On the other hand it offers interesting possibilities once we JIT the Vala code and allow for cross-module inlining. Regards
Attachment:
signature.asc
Description: This is a digitally signed message part