[DGD] jit for 2.1 vm

Felix A. Croes felix at dworkin.nl
Thu Dec 31 00:07:29 CET 2015


Carter Cheng <cartercheng at gmail.com> wrote:

> I am a bit curious as to how the jit is intended to function and to what
> extent it will map instructions into machine code and when it will use
> function calls and the virtual machine in memory argument stacks.
>
> I have examined only two jit's and not completely as of yet (v8 and the
> llvm jvm jit) so I am not entirely sure how they cope with this issue in
> detail but it seems that most of them map if possible data values into
> registers rather than using the cache to hold values in a stack. This would
> seem in particular to be the canonical strategy for handling this in llvm
> since it uses single static assignment form natively.
>
> From the description I am getting will the jit for 2.1 use the existing
> stack pointer?

I recommend that you also take a look at the LPC-to-C code generator in
DGD 1.4-stable, which puts integer values in registers but keeps the
rest on the VM stack.

As to the future JIT compiler, it's not been written yet, and there will
likely be different iterations with different capabilities, but I intend
that the first version will produce code at the quality level of the
LPC-to-C precompiler, or better.

Regards,
Felix Croes



More information about the DGD mailing list