Lines Matching defs:LabelInfo

37 // LabelInfo surrogate for each label.
39 class LabelInfo {
49 LabelInfo* assignment_; // Label from other program corresponding to this.
53 LabelInfo* next_addr_; // Label(Info) at next highest address.
54 LabelInfo* prev_addr_; // Label(Info) at next lowest address.
58 // Just a no-argument constructor and copy constructor. Actual LabelInfo
60 LabelInfo()
67 void operator=(const LabelInfo*); // Disallow assignment only.
70 // std::pair<Label*, LabelInfo> so that fresh LabelInfos can be allocated
75 bool operator()(const LabelInfo* a, const LabelInfo* b) const {
80 static std::string ToString(LabelInfo* info) {
135 Node(LabelInfo* in_edge, Node* prev)
140 LabelInfo* in_edge_; //
144 typedef std::map<LabelInfo*, Node*> Edges;
179 typedef std::vector<LabelInfo*> Trace;
311 LabelInfo* p_label_info = p_match->in_edge_;
312 LabelInfo* m_label_info = m_match->in_edge_;
326 void Assign(LabelInfo* p_info, LabelInfo* m_info) {
333 void AssignOne(LabelInfo* p_info, LabelInfo* m_info) {
341 void TryExtendAssignment(LabelInfo* p_info, LabelInfo* m_info) {
345 LabelInfo* m_info_next = m_info->next_addr_;
346 LabelInfo* p_info_next = p_info->next_addr_;
358 LabelInfo* m_info_next_next = m_info_next->next_addr_;
359 LabelInfo* p_info_next_next = p_info_next->next_addr_;
393 LabelInfo* m_info_prev = m_info->prev_addr_;
394 LabelInfo* p_info_prev = p_info->prev_addr_;
406 LabelInfo* m_info_prev_prev = m_info_prev->prev_addr_;
407 LabelInfo* p_info_prev_prev = p_info_prev->prev_addr_;
429 LabelInfo* p_info = p_trace_[p_pos];
430 LabelInfo* m_info = m_trace_[m_pos];
467 LabelInfo* p_info = p_trace_[p_pos];
468 LabelInfo* m_info = m_trace_[m_pos];
506 LabelInfo* p_label = node->in_edge_;
507 LabelInfo* m_label = p_label->assignment_;
539 LabelInfo* item = trace.at(index);
619 typedef std::set<LabelInfo*, OrderLabelInfoByAddressAscending> Ordered;
623 LabelInfo* prev = NULL;
625 LabelInfo* curr = *p;
640 LabelInfo* MakeLabelInfo(Label* label, bool is_model, uint32 position) {
641 LabelInfo& slot = label_infos_[label];
662 // Note LabelInfo is allocated inside map, so the LabelInfo lifetimes are
664 std::map<Label*, LabelInfo> label_infos_;