Example #1
0
 def analysis_thread(self):
   #print "*** started analysis_thread"
   while 1:
     time.sleep(0.2)
     # so this is done poorly, analysis can be incremental
     if self.maxclnum == None or self.db.get_maxclnum() != self.maxclnum:
       self.analysisready = False
       minclnum = self.db.get_minclnum()
       maxclnum = self.db.get_maxclnum()
       self.flow = qira_analysis.get_instruction_flow(self, self.program, minclnum, maxclnum)
       self.dmap = qira_analysis.get_hacked_depth_map(self.flow, self.program)
       self.maxd = max(self.dmap)
       self.picture = qira_analysis.get_vtimeline_picture(self, minclnum, maxclnum)
       self.minclnum = minclnum
       self.maxclnum = maxclnum
       self.needs_update = True
Example #2
0
  def analysis_thread(self):
    #print "*** started analysis_thread"
    while 1:
      time.sleep(0.2)
      # so this is done poorly, analysis can be incremental
      if self.maxclnum == None or self.db.get_maxclnum() != self.maxclnum:
        self.analysisready = False
        minclnum = self.db.get_minclnum()
        maxclnum = self.db.get_maxclnum()
        self.program.read_asm_file()
        self.flow = qira_analysis.get_instruction_flow(self, self.program, minclnum, maxclnum)
        self.dmap = qira_analysis.get_hacked_depth_map(self.flow, self.program)
        qira_analysis.analyse_calls(self.program, self.flow)

        # hacky pin offset problem fix
        hpo = len(self.dmap)-(maxclnum-minclnum)
        if hpo == 2:
          self.dmap = self.dmap[1:]

        self.maxd = max(self.dmap)
        self.picture = qira_analysis.get_vtimeline_picture(self, minclnum, maxclnum)
        self.minclnum = minclnum
        self.maxclnum = maxclnum
        self.needs_update = True
Example #3
0
  def analysis_thread(self):
    #print "*** started analysis_thread"
    while 1:
      time.sleep(0.2)
      # so this is done poorly, analysis can be incremental
      if self.maxclnum == None or self.db.get_maxclnum() != self.maxclnum:
        self.analysisready = False
        minclnum = self.db.get_minclnum()
        maxclnum = self.db.get_maxclnum()
        self.program.read_asm_file()
        self.flow = qira_analysis.get_instruction_flow(self, self.program, minclnum, maxclnum)
        self.dmap = qira_analysis.get_hacked_depth_map(self.flow, self.program)
        qira_analysis.analyse_calls(self)

        # hacky pin offset problem fix
        hpo = len(self.dmap)-(maxclnum-minclnum)
        if hpo == 2:
          self.dmap = self.dmap[1:]

        self.maxd = max(self.dmap)
        self.picture = qira_analysis.get_vtimeline_picture(self, minclnum, maxclnum)
        self.minclnum = minclnum
        self.maxclnum = maxclnum
        self.needs_update = True
Example #4
0
def analysis(forknum):
  trace = program.traces[forknum]

  data = qira_analysis.get_vtimeline_picture(trace)
  if data != None:
    emit('setpicture', {"forknum":forknum, "data":data})
Example #5
0
def analysis(forknum):
  trace = program.traces[forknum]

  data = qira_analysis.get_vtimeline_picture(trace)
  if data != None:
    emit('setpicture', {"forknum":forknum, "data":data})