[parrot/parrot] b4e7b0: [pmc]: rpa: optimize slack filling with PMCNULL

GitHub noreply at github.com
Tue Dec 2 14:23:45 UTC 2014


  Branch: refs/heads/smoke-me/rpa-offset-gh1152
  Home:   https://github.com/parrot/parrot
  Commit: b4e7b00f7e679f366a8e7d5bb69617175532868c
      https://github.com/parrot/parrot/commit/b4e7b00f7e679f366a8e7d5bb69617175532868c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M frontend/parrot/main.c
    M include/parrot/interpreter.h
    M src/pmc/resizablepmcarray.pmc
    M t/pmc/freeze.t

  Log Message:
  -----------
  [pmc]: rpa: optimize slack filling with PMCNULL

Only fill the rest with PMCNULL when necessary, i.e. when
we set an index > size, the intermediate indices between size and index-1.
This saves a lot of slack filling code cycles.

Error on delete oob.


  Commit: 6a1917f00185c842d1ea2ef11b20d91d7102cd08
      https://github.com/parrot/parrot/commit/6a1917f00185c842d1ea2ef11b20d91d7102cd08
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-12-02 (Tue, 02 Dec 2014)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc

  Log Message:
  -----------
  [pmc]: rpa: optimize delete_keyed_int

on index=0 just bump the offset as with shift,
else memmove en-block, not item by item in a loop.

This passes now most rpa related tests, just reverse has a conflict
with fpa. with reverse renamed to nreverse make test and benchmarking
is possible.


Compare: https://github.com/parrot/parrot/compare/c8a7211520f9...6a1917f00185


More information about the parrot-commits mailing list