[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