[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [ANN] llvm-lua 0.2
- From: Mike Pall <mikelu-0808@...>
- Date: Thu, 28 Aug 2008 15:23:17 +0200
Robert G. Jakabosky wrote:
> Only LuaJIT was compiled as
> 32bit code the others are 64bit. That might not be fair to LuaJIT, but the
> reason I started this project was to get JIT support on x86_64. I might do
> another benchmark run tonight with them all compiled as 32bit code.
I don't think it makes much of a difference here. The additional
registers in 64 bit mode improve the performance only in very
specific cases.
> Also attached is a patch to 'lcoco.c' to add x86_64 assembly coroutine support
> to LuaCoco. It saves 9 64bit registers (It might be possible to lower that
> count, since the assembly code is inlined and the parent function might not
> use all those registers).
You can't avoid to save all callee-saves, since the grandparent
may use them. And there is an inconsistency: +D forces rdi, but
then you save it. The x64 ABI doesn't require rdi to be saved.
[Just in case: yes, the WIN64 calling conventions are different.
But this code isn't used there.]
> It would be nice to collect together a
> set of scripts for benchmarking and testing Lua vm implementations.
I've got a comprehensive collection of Lua benchmarks and have
considered packaging them up, but I've never gotten around to it.
Anyway, I proactively reserve the name LuaBench for it. :-)
> Parrot VM has a good set of test scripts for testing the Lua
> implementation that they have.
The tests are rather basic. But since they test small details in
isolation, they are quite useful when writing a new Lua VM. Once
one gets all of them working, running Roberto's testsuite is the
next step. But note that some tests depend on a couple of
implementation details that may differ between VMs.
--Mike