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
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
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
def analysis(forknum): trace = program.traces[forknum] data = qira_analysis.get_vtimeline_picture(trace) if data != None: emit('setpicture', {"forknum":forknum, "data":data})