Home | History | Annotate | Download | only in courgette

Lines Matching defs:Label

25 // A Label is a symbolic reference to an address.  Unlike a conventional
27 // stored in a table and the Label will be replaced with the index into the
31 class Label {
34 Label() : rva_(0), index_(kNoIndex), count_(0) {}
35 explicit Label(RVA rva) : rva_(rva), index_(kNoIndex), count_(0) {}
37 RVA rva_; // Address referred to by the label.
42 typedef std::map<RVA, Label*> RVAToLabel;
93 // Generates 4-byte relative reference to address of 'label'.
94 CheckBool EmitRel32(Label* label) WARN_UNUSED_RESULT;
96 // Generates 4-byte relative reference to address of 'label' for
98 CheckBool EmitRel32ARM(uint16 op, Label* label, const uint8* arm_op,
101 // Generates 4-byte absolute reference to address of 'label'.
102 CheckBool EmitAbs32(Label* label) WARN_UNUSED_RESULT;
104 // Looks up a label or creates a new one. Might return NULL.
105 Label* FindOrMakeAbs32Label(RVA rva);
107 // Looks up a label or creates a new one. Might return NULL.
108 Label* FindOrMakeRel32Label(RVA rva);
121 // Returns the label if the instruction contains and absolute address,
123 Label* InstructionAbs32Label(const Instruction* instruction) const;
125 // Returns the label if the instruction contains and rel32 offset,
127 Label* InstructionRel32Label(const Instruction* instruction) const;
142 // Looks up a label or creates a new one. Might return NULL.
143 Label* FindLabel(RVA rva, RVAToLabel* labels);
158 // These are lookup maps to find the label associated with a given address.
159 // We have separate label spaces for addresses referenced by rel32 labels and