[Mono-dev] llvm & jit

Rodrigo Kumpera kumpera at gmail.com
Sat Aug 4 15:23:24 UTC 2012


On Fri, Aug 3, 2012 at 2:12 PM, Stack Pointer <stackpointer at me.com> wrote:

> I want to understand the details of how llvm is used as the backend in
> mono. I've been going through the code in mono/mono/mini and here's what I
> understand:
>
> 1. I need mono's llvm branch from github.com/mono/llvm/mono for this to
> work. The llvm that comes with say, OSX 10.8 won't work?
>

Yes, you need llvm from our branch. This is required as llvm usually
requires you to customize it for your particular usage.


> 2. llvm only really works in aot mode. The code generated from llvm can't
> be pushed back in the code cache for dynamic jit. Is this limitation from
> mono or llvm?
>

You can use llvm in JIT mode. The limitation is its slowness.


>
> What data structure in mono/mono/mini represents the code cache? If I
> wanted to push something to that and test how it behaves?
>

The code cache is implemented in mono/metadata/domain.c, look
for mono_jit_info_table_find.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120804/f02ae8ba/attachment.html>


More information about the Mono-devel-list mailing list