[LLVMdev] llvm msil couple questions

Tim Prepscius
Thu, 27 Dec 2012 04:32:07 -0000

Ok, well I found the MSIL code, finally.  I guess I can resurrect it.
I wonder how long *that* will take. :-P

Anyhow, just wondering, would it be possible to use LLVM to create a
sandboxed execution environment, running IR?  And bypass using dotnet
as a sandboxing facility?

-tim

On 12/26/12, Tim Prepscius <timprepscius at gmail.com>
wrote:
> Hey there,
>
> Searching via the web is not producing answers....  So I thought I
> would ask the gods of llvm. :-)
>
> I'd like to experiment with the llc in conjunction with msil.
>
> but I am running into this error:
> llc-mp-2.9 test.ll -march=msil
> /opt/local/libexec/llvm-2.9/bin/llc: error: invalid target 'msil'.
>
> the version string is:
>
> llc-mp-2.9 --version
> Low Level Virtual Machine (http://llvm.org/):
>   llvm version 2.9
>   Optimized build.
>   Built May 31 2012 (21:15:36).
>   Host: x86_64-apple-darwin11
>   Host CPU: penryn
>
> which was installed with:
> sudo port install llvm-2.9
>
> Searching on the web, I see that msil was available in 2.0..
>
> Can anyone give any hints as to how to enable msil as a "Registered
> Target?"
>
> Thanks a lot.
>
> I'll start my own investigations on Monday.
>
>
>
> Also, I have another question with regard to what I'll be
> experimenting on.  If anyone has any hints before I dive in, feel free
> to chime in.
>
> I am going to attempt to:
> Compile C/C++ code into LLVM IR.
> Compile the IR into MSIL.
> Run the MSIL with a MicroDotNet VM + JIT plugin in the browser and
> replace javascript.
>
> I think I will need only minimal core libraries, so, perhaps
> no/minimal dependencies on a glib.
>
> My goals are to have near zero startup, 5% JIT overhead, no garbage
> collection, sandboxing, running C/C++/anything I can throw at LLVM.
>
> -tim
>