[Top][All Lists]

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

on native compilation

From: Andy Wingo
Subject: on native compilation
Date: Sun, 01 Sep 2013 13:12:30 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)


We have a bit too much on our plates ATM to think about native
compilation.  However, "what's the plan" is a common question.  So here
is a tentative plan.  Sometime after 2.2 settles down would be the time
to look at it.  It would probably be Guile 3.0.  Dunno.

The way to do it is to refactor compile-rtl.scm / assembler.scm /
disassembler.scm to emit and disassemble native code instead.  We get to
keep lots of parts of the existing compiler though: the ELF linker, the
constant allocator, all the metadata-related things (both on the
compiler and runtime side).  In this way it's a less brusque change than
the one from the stack VM to the RTL VM.  A first crack at the problem
would not do register allocation and would just emit code for each VM
op.  Later we could do proper register allocation.

It's probably easiest to have a native-only system rather than a mixed
native+VM system, as that way you would just have one stack.  We'd keep
the VM around of course -- it's just that a given build of Guile would
either be VM-based or native, chosen at build-time.  There's lots of
stack-related questions to sort out.

Anyway, that's a pseudoplan.  


reply via email to

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