Re: LuaJIT PPC64le Initial Support

  • From: Mike Pall <mike-1503@xxxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Sun, 8 Mar 2015 13:18:26 +0100

Caio Souza Oliveira wrote:
> - We decided to keep the JIT and the FFI support disabled while the 
> interpreter is not fully ported
> - I've changed a few stuff in the lj_arch.h file, in order to disable them

This needs some clarification:

Upstream (i.e. me) needs to keep _all existing_ ports running at
any time. A change must not break _any_ platform.

A branch with a fresh port (i.e. yours) should enable/disable the
things they need to get _their_ port running. Parts of these will
be successively enabled during development, but that's not something
upstream needs to be concerned about.

The JIT compiler is disabled for PPC64 in upstream because it
needs to be disabled anyway as LJ_GC64 is currently incompatible.
Temporarily disabling the FFI needs to be done in your branch only
and must not be submitted upstream (because it'll be enabled

> I'll also make some changes in ppc module for DynASM as well.
> We'll certainly need parameterized fields for instructions such
> as sldi and srdi, so we decided to directly implement them on
> DynASM. 

Sure, though an internal macro would do. See the op_alias()
approach in the ARM64 module.

> - I also noticed that you enabled GPR64 only for
> LJ_ARCH_PPC32ON64 architectures. At the moment we need that flag
> in order to compile the code. We'll change it by the end of the
> port.

That's why I said you should rip out all unnecessary variants from
the PPC32 interpreter, first. E.g. there's no point in keeping the
non-GPR64 variants for PPC64.


Other related posts: