GSoC/GCI Archive
Google Code-in 2011 Parrot Foundation

Refactor Parrot_debug_add_mapping

completed by: Aleksandar

mentors: Andrew Whitworth

Task Description

The function Parrot_debug_add_mapping in src/packfile/api.c is too large and complicated. It will be easier to understand and maintain if it can be broken into smaller functions with descriptive names and limited variable scopes. Refactor this function. Break the logic into smaller static functions where possible. Clean up the code. Add comments to describe parts of the logic whose purpose is not obvious.

Steps To Complete This Task

  1. Create a fork of parrot.git on
  2. Perform all the necessary code and/or documentation changes
  3. Build parrot and run it's test suite (make fulltest) to verify that things still work
  4. You can also submit a smoke report with "make smoke", but that is optional. This requires installing a few Perl modules from CPAN.
  5. Create a Github pull request (button on the upper right of your fork) to have your changes incorporated into the master repository


  1. Knowledge of C programming

Additional Links