dotgnu-libjit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dotgnu-libjit] libjit: any global lock?


From: Aleksey Demakov
Subject: Re: [Dotgnu-libjit] libjit: any global lock?
Date: Tue, 12 Feb 2013 14:40:34 +0300

Hi,

On Tue, Feb 12, 2013 at 2:12 AM, Andy Tai <address@hidden> wrote:
> Hi, a number of languages has a global lock for its run time; for example,
> Python.  The PyPy project still has that.
>
> Wonder how is the libjit runtime in this regard?  Is libjit free from any
> kind of global lock, which would prevent say two unrelated instances of
> libjit in one process?
>

In libjit there is jit_context structure and there are per-context locks
used during compilation and code generation. There may be many
contexts per process, although the common case is a single context.
Libjit does not introduce any locks in the generated code so at runtime
the only locks that might be used would be those created by the
source program.

The exception is the case when delayed compilation is used. That
is when a function calls another function that was not yet compiled
through a redirector (in other projects it is usually called a trampoline).
In this case libjit before invoking the function jumps to the compier
and holds the per-context lock during the compilation.

> Also, will libjit have its own mailing list in a different location because
> this list still carries the dotgnu name?
>

Yes, it is still in my TODO list to setup libjit project infrastructure
properly.

Regards,
Aleksey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]