Re: Portals and Sandboxing

On Thu, 2014-01-02 at 18:03 +0100, Maciej Piechotka wrote:
On Thu, 2014-01-02 at 15:22 +0000, Michael Ikey Doherty wrote:



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).
Many respects, libgee I have much time for :)

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?
I think you're right, avoid the codegen changes. AFAICT a lot of
bytecode assemblers/translators go with one *or* the other. So convert
all to 64-bit or stick to 32-bit completely (I think some JS compilers
do 32-bit only)

On the other hand it offers interesting possibilities once we JIT the
Vala code and allow for cross-module inlining.
I also believe it opens a lot of scope for new developers. The language
itself is awesome, a distribution method of using it would be essential
to "apps".

- Ikey


Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]