[parrot/parrot] 811466: [config] support __builtin_expect LIKELY/UNLIKELY ...

GitHub noreply at github.com
Sun Oct 26 07:19:20 UTC 2014


  Branch: refs/heads/rurban/pasm_out-gh989
  Home:   https://github.com/parrot/parrot
  Commit: 811466ec40fab23edb070336a47f0b72d2c5e49c
      https://github.com/parrot/parrot/commit/811466ec40fab23edb070336a47f0b72d2c5e49c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M config/gen/config_h/feature_h.in

  Log Message:
  -----------
  [config] support __builtin_expect LIKELY/UNLIKELY branch optimizations

add EXPECT,LIKELY,UNLIKELY macros to feature.h as in the linux kernel and perl5
probe for __builtin_expect() support in a new auto::expect configure step

Usage: if (UNLIKELY(var == 0)) fail();

Add emacs mode:c support for test_c.in files, and relax the coda test for this.
Should be used in all test_c.in files.


  Commit: b1d318af43df1a3a091b2ea8f16c4182e113d817
      https://github.com/parrot/parrot/commit/b1d318af43df1a3a091b2ea8f16c4182e113d817
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M .gitignore
    M compilers/imcc/debug.c
    M compilers/imcc/debug.h
    M compilers/imcc/imc.c
    M compilers/imcc/imc.h
    M compilers/imcc/imcc.l
    M compilers/imcc/imclexer.c
    M compilers/imcc/instructions.c
    M compilers/imcc/instructions.h
    M compilers/imcc/main.c
    M compilers/imcc/pbc.c
    M compilers/imcc/pbc.h
    M compilers/imcc/reg_alloc.c
    M config/gen/config_h/feature_h.in
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/imcc/embed.h
    M include/parrot/interpreter.h
    M lib/Parrot/Test.pm
    M src/interp/api.c
    M src/pmc/imccompiler.pmc
    A t/compilers/imcc/imcpasm/cfg.t
    A t/compilers/imcc/imcpasm/opt0.t
    A t/compilers/imcc/imcpasm/opt1.t
    A t/compilers/imcc/imcpasm/opt2.t
    A t/compilers/imcc/imcpasm/optc.t
    A t/compilers/imcc/imcpasm/pcc.t

  Log Message:
  -----------
  re-add PASM output to imcc, re-add imcpasm tests

one new IMCCompiler api method: set_to_pasm
remove static output in imcc/instructions.c
detect .pasm -o outfile extension
add and fix old t/compilers/imcc/imcpasm/*.t tests and the pir_2*_
  Parrot::Test methods
change Parrot::Test pir_2_pasm method to use -d1000, which is equivalent
  to pasm output, just to stderr.
use new LIKELY/UNLIKELY macros


  Commit: be068666907f72e796a5dd41c8bac414db99393b
      https://github.com/parrot/parrot/commit/be068666907f72e796a5dd41c8bac414db99393b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M ChangeLog
    M compilers/imcc/api.c
    M compilers/imcc/instructions.c
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/imcc/api.h
    M t/compilers/imcc/imcpasm/opt2.t
    M t/compilers/imcc/imcpasm/optc.t

  Log Message:
  -----------
  enable pasm_out in parrot2, todo failing imcpasm tests

opt2 fails with changed used_once semantics: I0 = 10 is side-effecting, but *can* be removed
if I0 is used only once (GH #1036), ...


  Commit: 5aae7e686172a7a6da5ba80bff7aad708dc2bc88
      https://github.com/parrot/parrot/commit/5aae7e686172a7a6da5ba80bff7aad708dc2bc88
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M lib/Parrot/Test.pm

  Log Message:
  -----------
  [test] ignore TEST_PROG_ARGS -O2 for opt1.t tests


  Commit: 8582abbf114f7e8f4051679a40c36ce95bff7ed7
      https://github.com/parrot/parrot/commit/8582abbf114f7e8f4051679a40c36ce95bff7ed7
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M compilers/imcc/debug.c

  Log Message:
  -----------
  [cage] overlong line


  Commit: 3fce217a151cc73b836ac2a9186f1e5df24fff70
      https://github.com/parrot/parrot/commit/3fce217a151cc73b836ac2a9186f1e5df24fff70
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M .gitignore
    M MANIFEST
    M MANIFEST.SKIP

  Log Message:
  -----------
  [cage] update MANIFEST{,.SKIP}, .gitignore


  Commit: 5173ea98941e7352475266f94c95cc4cc4226895
      https://github.com/parrot/parrot/commit/5173ea98941e7352475266f94c95cc4cc4226895
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M compilers/imcc/api.c
    M compilers/imcc/instructions.c

  Log Message:
  -----------
  [codingstd] add docs, ...


  Commit: 57cddbc50bd301bd52a94fa988571bf4226a7b91
      https://github.com/parrot/parrot/commit/57cddbc50bd301bd52a94fa988571bf4226a7b91
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M compilers/imcc/main.c
    M include/imcc/embed.h

  Log Message:
  -----------
  [cage] imcc/embed.h

error: nonnull argument references non-pointer operand
with llvm


  Commit: 61f069fbece23b1c5f3677f71516eac1a3bfcfe4
      https://github.com/parrot/parrot/commit/61f069fbece23b1c5f3677f71516eac1a3bfcfe4
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-10-26 (Sun, 26 Oct 2014)

  Changed paths:
    M compilers/imcc/api.c
    M compilers/imcc/imcc.l
    M compilers/imcc/imclexer.c
    M compilers/imcc/instructions.c
    M compilers/imcc/instructions.h
    M compilers/imcc/main.c
    M frontend/parrot/main.c
    M frontend/parrot2/main.c
    M include/imcc/api.h
    M include/imcc/embed.h
    M src/interp/api.c
    M src/pmc/imccompiler.pmc

  Log Message:
  -----------
  [imcc] rename to set_write_pasm, revamp api

Improve docs of the imcc API

pasm_out:
Pass the outfile path to set_write_pasm, so that we can
initialize it emit_open. Since the lexer doesn't know the outfile name
check for NULL in the lexer called emit_open(). Already initialized earlier
by the frontend.

The new parrot needs to store the outfile for the pasm out api.


Compare: https://github.com/parrot/parrot/compare/811466ec40fa^...61f069fbece2


More information about the parrot-commits mailing list