Lines Matching refs:PatchList
30 struct PatchList { struct
34 static PatchList Mk(uint32 p);
38 static void Patch(Prog::Inst *inst0, PatchList l, uint32 v);
41 static PatchList Deref(Prog::Inst *inst0, PatchList l);
44 static PatchList Append(Prog::Inst *inst0, PatchList l1, PatchList l2);
47 static PatchList nullPatchList;
50 PatchList PatchList::Mk(uint32 p) { in Mk()
51 PatchList l; in Mk()
57 PatchList PatchList::Deref(Prog::Inst* inst0, PatchList l) { in Deref()
67 void PatchList::Patch(Prog::Inst *inst0, PatchList l, uint32 val) { in Patch()
81 PatchList PatchList::Append(Prog::Inst* inst0, PatchList l1, PatchList l2) { in Append()
87 PatchList l = l1; in Append()
89 PatchList next = PatchList::Deref(inst0, l); in Append()
107 PatchList end;
111 Frag(uint32 begin, PatchList end) : begin(begin), end(end) {} in Frag()
315 PatchList::Patch(inst_, a.end, b.begin); // in case refs to a somewhere in Cat()
321 PatchList::Patch(inst_, b.end, a.begin); in Cat()
325 PatchList::Patch(inst_, a.end, b.begin); in Cat()
342 return Frag(id, PatchList::Append(inst_, a.end, b.end)); in Alt()
358 PatchList::Patch(inst_, a.end, id); in Star()
361 return Frag(id, PatchList::Mk(id << 1)); in Star()
364 return Frag(id, PatchList::Mk((id << 1) | 1)); in Star()
380 PatchList pl; in Quest()
383 pl = PatchList::Mk(id << 1); in Quest()
386 pl = PatchList::Mk((id << 1) | 1); in Quest()
388 return Frag(id, PatchList::Append(inst_, pl, a.end)); in Quest()
407 return Frag(id, PatchList::Mk(id << 1)); in ByteRange()
416 return Frag(id, PatchList::Mk(id << 1)); in Nop()
444 return Frag(id, PatchList::Mk(id << 1)); in EmptyWidth()
454 PatchList::Patch(inst_, a.end, id+1); in Capture()
456 return Frag(id, PatchList::Mk((id+1) << 1)); in Capture()
488 PatchList::Patch(inst_, f.end, next); in UncachedRuneByteSuffix()
490 rune_range_.end = PatchList::Append(inst_, rune_range_.end, f.end); in UncachedRuneByteSuffix()