[parrot/parrot] 6ecd1e: [core] replace Parrot_pcc_get_regs_used with PCC_G...

GitHub noreply at github.com
Sun Jan 11 13:20:57 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/parrot/parrot
  Commit: 6ecd1e1a28b983e4451d10ad1d271f3db33e40e2
      https://github.com/parrot/parrot/commit/6ecd1e1a28b983e4451d10ad1d271f3db33e40e2
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M include/parrot/context.h
    M src/call/context.c
    M src/debug.c
    M src/runcore/trace.c

  Log Message:
  -----------
  [core] replace Parrot_pcc_get_regs_used with PCC_GET_REGS_USED

This is a minor refactor to avoid internal function calls, but
not effective for the fast runcore. Only called with --debugging or on -t (trace).

Parrot_pcc_get_regs_used is an exported API


  Commit: b1c6be42efd85ef64ca9cdb805da69362a918ad0
      https://github.com/parrot/parrot/commit/b1c6be42efd85ef64ca9cdb805da69362a918ad0
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M t/compilers/imcc/reg/alloc.t

  Log Message:
  -----------
  [test] add test for reg alloc crash GH #1168

detected by afl-fuzz. See docs/dev/fuzzing.pod


  Commit: cabc1ccde66100589b4a469016b4bafb22289aef
      https://github.com/parrot/parrot/commit/cabc1ccde66100589b4a469016b4bafb22289aef
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M t/compilers/imcc/reg/alloc.t

  Log Message:
  -----------
  [test] minimize testcase for GH #1168


  Commit: 7690786febd6777e00ba43c9c26a37778accc3c5
      https://github.com/parrot/parrot/commit/7690786febd6777e00ba43c9c26a37778accc3c5
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M ChangeLog
    M compilers/imcc/pcc.c
    M src/ops/core.ops

  Log Message:
  -----------
  [imcc] fix end in methods GH #1168

This is the last fix for all afl-fuzz detected crashes.

And `end` op inside a user-defined method will exit a runloop unproperly.
The old ctx will be corrupted. Replace it with an equivalent `returncc` op,
which does set the continuation and context properly to end the current runloop.

`exit` would be an alternative, but we documented `end` to halt the interpreter,
which is fresh inside certain runloops. I documented this case as unspecified behaviour.
It crashed before, now it returns.


  Commit: e6b93c1a88186f2434b45e96c566b89ff335599a
      https://github.com/parrot/parrot/commit/e6b93c1a88186f2434b45e96c566b89ff335599a
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-11 (Sun, 11 Jan 2015)

  Changed paths:
    M ChangeLog
    M compilers/imcc/pcc.c
    M include/parrot/context.h
    M src/call/context.c
    M src/debug.c
    M src/ops/core.ops
    M src/runcore/trace.c
    M t/compilers/imcc/reg/alloc.t

  Log Message:
  -----------
  Merge branch 'smoke-me/afl-crash-gh1168'

Smoked ok


Compare: https://github.com/parrot/parrot/compare/2176e8e6ffa2...e6b93c1a8818


More information about the parrot-commits mailing list