old_contents: #!/usr/bin/env python
  
  from .plugin import SimStatePlugin
  class SimProcedureData(SimStatePlugin):
      def __init__(self):
          SimStatePlugin.__init__(self)
  
          self.hook_addr = 0
          self.callstack = []
  
      def copy(self):
          out = SimProcedureData()
          out.hook_addr = self.hook_addr
          out.callstack = list(self.callstack)
          return out
  
      def merge(self, others, merge_conditions, common_ancestor=None):
          return False
  
      def widen(self, others):
          return False
  
      def clear(self):
          s = self.state
          self.__init__()
          self.state = s
  
  SimProcedureData.register_default('procedure_data', SimProcedureData)
  
new_contents: #!/usr/bin/env python
  
  from .plugin import SimStatePlugin
  class SimProcedureData(SimStatePlugin):
      def __init__(self):
          SimStatePlugin.__init__(self)
  
          self.hook_addr = 0
          self.callstack = []
          self.global_variables = {}
  
      def copy(self):
          out = SimProcedureData()
          out.hook_addr = self.hook_addr
          out.callstack = list(self.callstack)
          out.global_variables = dict(self.global_variables)
          return out
  
      def merge(self, others, merge_conditions, common_ancestor=None):
          return False
  
      def widen(self, others):
          return False
  
      def clear(self):
          s = self.state
          self.__init__()
          self.state = s
  
  SimProcedureData.register_default('procedure_data', SimProcedureData)
  
subject: Add state.procedure_data.global_variables