RE: PPC64le port status

  • From: "Gustavo Serra Scalet" <gustavo.scalet@xxxxxxxxxxxxxxx>
  • To: "luajit@xxxxxxxxxxxxx" <luajit@xxxxxxxxxxxxx>
  • Date: Mon, 8 Jun 2015 17:27:54 +0000

Hi Mike and community,

-----Original Message-----
From: luajit-bounce@xxxxxxxxxxxxx [mailto:luajit-bounce@xxxxxxxxxxxxx]
On Behalf Of Mike Pall
Sent: terça-feira, 5 de maio de 2015 10:16
To: luajit@xxxxxxxxxxxxx
Subject: Re: PPC64le port status

Caio Souza Oliveira wrote:
We also would like to know what do you think about our work so far. Do
you have any comment about the patches we've sent?

Well, you're asking publicly, so I respond publicly.

Your submission had a depressingly low quality. No understanding of
the surrounding code. Definitely unskilled in PPC assembler.
Overall, an inefficient mess ... very sad. (*)

We've left many PPC32 code in that patch just to let the interpreter
start... I guess we should have added some comments in to the source code to
let you ignore what should be ignored.

I've started to clean it up, but noticed I was basically doing a
complete rewrite. Or, in other words, doing the port myself, except
not having the time for this and not getting paid for it.
That's when I stopped.

We have evolved the code a lot since them:

- All PPC32 based legacy and stub code removed.
- All opcodes are implemented, except the ones related with JIT, which were
marked as NYI.

Furthermore, it's running on POWER8 (PPC64) with FFI support but no JIT (as
LJ_GC64 is not supporting it yet).

The code is located at
https://github.com/LuaJIT-PPC64/LuaJIT-PPC64/tree/ppc64-port

Pass 100% of Lua 5.1 official tests
http://www.inf.puc-rio.br/~roberto/lua/lua5.1-tests.tar.gz

Also, LuaJIT run 100% of the CLBG tests
http://benchmarksgame.alioth.debian.org/


Some Lua software already working:

- LuaRocks - https://github.com/keplerproject/luarocks/wiki
- AnsiColors - https://github.com/kikito/ansicolors.lua
- Lua-term - https://github.com/hoelzro/lua-term


Coming up next:

- Finish Lua error handling.
- Assembly optimization and polishing.
- More tests and bug fixes.

Actually, the intention of the initial contribution was to be a kind of
kickoff ... to invite other people from the community to work on PPC64 port
with us.

Also, those patches were intended to gather feedbacks about our approach,
understanding of the code, and possible improvements coming from you or the
community.

Although the code might not be fully optimized, it is pretty functional, as
it runs 100% of Lua tests and there are some Lua based software working on
PPC64 using LuaJIT.

We are very opened to suggestions and we will improve the code based on your
feedback.

Regards,
Leonardo, Gustavo, Fábio


Other related posts: