package mpc_debug; # ************************************************************ # Description : Scope for declaring useful checkpoints in MPC. # # This package defines a scope for defining do-nothing # subroutines. Names should suggest checkpoints in the # execution of MPC, and the body of the function should # be empty. Calls to these functions can be inserted into # various locations inside MPC source code, and a developer # can set breakpoints on these functions to make it # easier to hone in on checkpoints. # # If a call is useful, but should only be enabled # during debugging (e.g., it's on a critical path and # could negatively affect performance) then one can # simply comment out the call. # # For ease in finding calls, please always fully scope # the call, e.g., mpc_debug::chkpnt_blah(); # # Author : Chris Cleeland # Create Date : 14.Dec.2010 # ************************************************************ # ************************************************************ # Pragmas # ************************************************************ use strict; # Checkpoints # # Please follow convention and begin each checkpoint name with # the string "chkpnt_". Adherence will make it easier for # another developer to locate all occurrences of checkpoints # within code using a tool like `grep`. # Called in Driver's processing of *Creators sub chkpnt_pre_creator_load { } sub chkpnt_post_creator_load { } sub chkpnt_pre_creator_create { } sub chkpnt_post_creator_create { } # Called in special 'after' keyword processing # in ProjectCreator::process_assignment sub chkpnt_pre_after_keyword_assignment { } sub chkpnt_post_after_keyword_assignment { } # Called in Parser::read_file sub chkpnt_pre_read_file { } sub chkpnt_post_read_file { } sub chkpnt_pre_parse_base_project { } sub chkpnt_post_parse_base_project { } 1;