Lines Matching full:site
51 /// pad site.
56 // The action table follows the call-site table in the LSDA. The individual
137 // Record the first action of the landing pad site.
141 // Information used when creating the call-site table. The action record
142 // field of the call site record is the offset of the first associated
210 /// Compute the call-site table. The entry for an invoke has a try-range
217 /// Call-sites are split into one or more call-site ranges associated with
221 /// call-site-range corresponding to the function section.
223 /// - With -basic-block-sections, one call-site range is created for each
227 // Later, one LSDA header will be emitted for each call-site range with its
253 // We start a call-site range upon function entry and at the beginning of
292 // throw, create a call-site entry with no landing pad for the region
309 CallSiteEntry Site = {
316 // Try to merge with the previous call-site. SJLJ doesn't do this
319 if (Site.LPad == Prev.LPad && Site.Action == Prev.Action) {
321 Prev.EndLabel = Site.EndLabel;
326 // Otherwise, create a new call-site.
328 CallSites.push_back(Site);
335 CallSites[SiteNo - 1] = Site;
341 // We end the call-site range upon function exit and at the end of every
345 // function may throw, create a call-site entry with no landing pad for
348 CallSiteEntry Site = {LastLabel, CallSiteRanges.back().FragmentEndLabel,
350 CallSites.push_back(Site);
364 /// 1. The landing pad site information describes the range of code covered by
371 /// site, each type ID is checked for a match to the current exception. If
406 // landing pad site.
411 // Compute the call-site table and call-site ranges. Normally, there is only
412 // one call-site-range which covers the whole function. With
413 // -basic-block-sections, there is one call-site-range per basic block
489 // call-site table (which marks the beginning of the action table).
504 // The Action table follows the call-site table. So we emit the
505 // label difference from here (start of the call-site table for SJLJ and
506 // Wasm, and start of a call-site range for Itanium) to the end of the
507 // whole call-site table (end of the last call-site range for Itanium).
509 Asm->emitEncodingByte(CallSiteEncoding, "Call site");
519 // site table size.
533 // Each call site entry consists of 3 udata4 fields (12 bytes) and
555 1 // Call site encoding byte.
557 + CallSiteTableSize // Call site table content.
583 Asm->emitEncodingByte(CallSiteEncoding, "Call site");
600 // Index of the call site entry.
602 Asm->OutStreamer->AddComment(">> Call Site " + Twine(idx) + " <<");
603 Asm->OutStreamer->AddComment(" On exception at call site "+Twine(idx));
623 // The call-site table is a list of all call sites that may throw an
631 // count. They are sorted in increasing call-site address. Each record
634 // * The position of the call-site.
636 // * The first action record for that call site.
638 // A missing entry in the call-site table indicates that a call is not
641 assert(CallSiteRanges.size() != 0 && "No call-site ranges!");
643 // There should be only one call-site range which includes all the landing
644 // pads. Find that call-site range here.
654 // The call-site table is split into its call-site ranges, each being
659 // cst_begin -> { call-site entries contained in this range }
661 // and is followed by the next call-site range.
663 // For each call-site range, CallSiteTableEndOffset is computed as the
664 // difference between cst_begin of that range and the last call-site-table's
670 // Align the call-site range for all ranges except the first. The
677 // LPStart is omitted if either we have a single call-site range (in which
683 // For more than one call-site ranges, LPStart must be explicitly
722 // Offset of the call site relative to the start of the procedure.
724 Asm->OutStreamer->AddComment(">> Call Site " + Twine(++Entry) +