Hi Dave.

There is no documentation, but we can help you on IRC. Two things that
pop into my mind:

* Can libgcc patch existing assembler? (it's necessary)

* Can libgcc tell us where on stack are GC roots? (also necessary)

On Sat, Dec 13, 2014 at 4:13 AM, David Malcolm <dmalc...@redhat.com> wrote:
> I'm the maintainer of a new feature for the (not-yet-released) GCC 5:
> libgccjit: a way to build gcc as a shared library, suitable for
> generating code in-process.  See:
>   https://gcc.gnu.org/wiki/JIT
>
> I've been experimenting with embedding it within PyPy - my thought was
> that gcc has great breadth of hardware support, so maybe PyPy could use
> libgccjit as a fallback backend for targets which don't yet have their
> own pypy jit backends.
>
> I'm attaching the work I've got so far, in patch form; I apologize for
> the rough work-in-progress nature of the patch.  It has:
>
>   * a toy example of calling libgccjit from cffi, to build and
>     run code in process (see
>     rpython/jit/backend/libgccjit/cffi_bindings.py).
>
>   * doing the same from rffi (see
>     rpython/jit/backend/libgccjit/rffi_bindings.py and
>     rpython/jit/backend/libgccjit/test/test_rffi_bindings.py)
>     These seem to work: the translator builds binaries that call
>     into my library, which builds machine code "on the fly".
>     Is there a way to do this without going through the
>     translation step?
>
>   * the beginnings of a JIT backend:
>     I hack up rpython/jit/backend/detect_cpu.py to always use:
>     rpython/jit/backend/libgccjit/runner.py
>     and this merely raises an exception, albeit dumping the
>     operations seen in loops.
>
> My thinking is that I ought to be able to use the rffi bindings of
> libgccjit to implement the backend, and somehow turn the operations I'm
> seeing into calls into my libgccjit API.
>
> Does this sound useful, and am I on the right track here?
>
> Is there documentation about the meaning of the various kinds of
> operations within a to-be-JITted-loop?
>
> Thanks
> Dave
>
>
> _______________________________________________
> pypy-dev mailing list
> pypy-dev@python.org
> https://mail.python.org/mailman/listinfo/pypy-dev
>
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to