code: def _hook_callback(self, state, pc, instruction):
          'Invoke all registered generic hooks'
  
          # Ignore symbolic pc.
          # TODO(yan): Should we ask the solver if any of the hooks are possible,
          # and execute those that are?
  
          if issymbolic(pc):
              return
  
          # Invoke all pc-specific hooks
          for cb in self._hooks.get(pc, []):
              cb(state)
  
          # Invoke all pc-agnostic hooks
          for cb in self._hooks.get(None, []):
              cb(statef _hook_callback(self, state, pc, instruction):
          'Invoke all registered generic hooks'
  
          # Ignore symbolic pc.
          # TODO(yan): Should we ask the solver if any of the hooks are possible,
          # and execute those that are?
  
          if issymbolic(pc):
              return
  
          # Invoke all pc-specific hooks
          for cb in self._hooks.get(pc, []):
              cb(state)
  
          # Invoke all pc-agnostic hooks
          for cb in self._hooks.get(None, []):
              cb(state)
docs: Invoke all registered generic hooks