Lorito bytcode security vs jittability

Allison Randal allison at parrot.org
Thu Mar 11 20:10:41 UTC 2010

On 3/11/10 7:25 PM, Peter Lobsinger wrote:
> So when we say something is "compiled down to Lorito" (eg: ops, pmcs,
> etc), we have access to the high-level op versions of these at
> runtime?

Yes, the high-level "virtual" ops would be stored as actual ops in both 
the bytecode and the JITed forms. This is good for more compact bytecode 
(fewer instructions) and for a faster JIT (JITed execution of large 
blocks of code, rather than individual invocation of the smaller 
low-level ops).

Now, when you get to the level of JITing entire subroutines, they may 
drop some security information about the ops within the subroutine for 
the sake of speed. It may be possible to propagate the information 
outward (so the JITed subroutine has the security properties of all the 
ops it contains, and is accepted/rejected by the sandbox based on those 
properties). Or, it may be a choice that individual applications have to 
make between speed and low-level control.


More information about the parrot-dev mailing list