After a meeting with Babbage Linden in Zero Lindens office hours on thursday I realized that with the new Mono/.Net compiler they are implementing we will have to make a few adjustments.
It was earlier assume that compilation would be done at client of both LSL and LSO, therefore I focused on making a LSO (LSL virtual machine) ByteCode to .Net CIL (Assembly language) translator.
But because of some security concerns in the .Net ByteCode LL has chosen to do compilation on server. LSL or C# code is sent to server where it is compiled and put into an object. The compiled code is never sent from the viewer.
Therefore I am now writing a LSL compiler that will run on server.
While waiting for Linden to update their client (probably 0,5-1 years) we will use the text-copy of LSL script sent by viewer and compile that. Meaning we are not using the LSO at all.
So basically we are scrapping the LSO compiler, and going for a LSL compiler. There are many clear advantages to this, so I’m quite happy about it.