[parrot/parrot] 6d55bf: Push clone_key_arg() closer to where it is needed.

noreply at github.com noreply at github.com
Thu Sep 1 00:07:10 UTC 2011


  Branch: refs/heads/master
  Home:   https://github.com/parrot/parrot

  Commit: 6d55bf81776c072ecf109244913ebeedcfe37ee2
      https://github.com/parrot/parrot/commit/6d55bf81776c072ecf109244913ebeedcfe37ee2
  Author: Peter Lobsinger <plobsing at gmail.com>
  Date:   2011-08-31 (Wed, 31 Aug 2011)

  Changed paths:
    M lib/Parrot/Pmc2c/PMC/Object.pm
  M src/call/args.c
  M src/pmc/object.pmc

  Log Message:
  -----------
  Push clone_key_arg() closer to where it is needed.

To simplify *_keyed() vtable overrides, key arguments to these need to be cloned
with any register references copied into the clone. However, such overrides are
rare and checking this for EVERY SINGLE PMC ARGUMENT EVER is serious overkill on
a hotpath.

Instead, we need to clone the potential keys only in the code that sets up the
keyed overrides. This gives a modest speedup on PCC-heavy code (~2% on oofib).


  Commit: fecadea09b1ee46a3879e1f085186667bd9083b1
      https://github.com/parrot/parrot/commit/fecadea09b1ee46a3879e1f085186667bd9083b1
  Author: Peter Lobsinger <plobsing at gmail.com>
  Date:   2011-08-31 (Wed, 31 Aug 2011)

  Changed paths:
    M compilers/imcc/imcparser.c
  M compilers/imcc/imcparser.h
  M src/call/args.c
  M src/pmc/object.pmc

  Log Message:
  -----------
  headerizer


Compare: https://github.com/parrot/parrot/compare/42e9165...fecadea


More information about the parrot-commits mailing list