[erlang-questions] Threaded VM with llvm-gcc

Anthony Ramine n.oxyde@REDACTED
Tue Sep 24 11:50:05 CEST 2013

Hello Björn,

Replied inline.


Le 24 sept. 2013 à 07:37, Björn Gustavsson a écrit :

> At least in the version of the installation guide you linked to,
> it says nothing about jump tables being the reason for the
> recommendation. It says that the performance will be worse
> if GCC is not used, but it does not say why.

Oh right.

> It does compile jump tables efficiently, but it does a worse job
> of register allocation, especially for huge function such as
> process_main() in beam_emu.c. That said, code generation
> has improved in each new version of clang, making it less
> important to use a "real" GCC.

Ok, then it is kinda confusing that the only EMU_CC test is whether &&label is supported or not.

> What is the problem you want to fix? Have you observed
> any situation where jump tables where not used when they
> should be?


> The test is where to protect against an old broken version
> of llvm-gcc that did not handle jump tables correctly.
> It will also make sure that Erlang/OTP can be compiled
> on systems where no compiler that supports jump tables
> can be found.

Shouldn't the test be fixed for more recent versions? I don't like limiting stuff because of old and outdated versions.

Anthony Ramine

More information about the erlang-questions mailing list