Home | History | Annotate | Download | only in AsmPrinter

Lines Matching refs:Action

73 /// ComputeActionsTable - Compute the actions table and gather the first action
80 // The action table follows the call-site table in the LSDA. The individual
159 ActionEntry Action = { ValueForTypeID, NextAction, PrevAction };
160 Actions.push_back(Action);
164 // Record the first action of the landing pad site.
168 // Information used when created the call-site table. The action record
170 // action record, relative to the start of the actions table. This value is
220 /// appropriate action. The entry for an ordinary call has a try-range
221 /// containing the call and zero for the landing pad and the action. Calls
295 if (Site.PadLabel == Prev.PadLabel && Site.Action == Prev.Action) {
338 /// 2. The action table, in our case, is composed of pairs of type IDs and next
339 /// action offset. Starting with the action index from the landing pad
342 /// pad. Otherwise the next action is looked up. This chain is terminated
343 /// with a next action of zero. If no type id is found then the frame is
362 // Compute the actions table and gather the first action index for each
404 CallSiteTableLength += MCAsmInfo::getULEB128Size(CallSites[i].Action);
537 // Offset of the first associated action record, relative to the start of
538 // the action table. This value is biased by 1 (1 indicates the start of
539 // the action table), and 0 indicates that there are no actions.
541 if (S.Action == 0)
542 Asm->OutStreamer.AddComment(" Action: cleanup");
544 Asm->OutStreamer.AddComment(" Action: " +
545 Twine((S.Action - 1) / 2 + 1));
547 Asm->EmitULEB128(S.Action);
556 // for a given call, the first corresponding action record and corresponding
566 // * The first action record for that call site.
618 // Offset of the first associated action record, relative to the start of
619 // the action table. This value is biased by 1 (1 indicates the start of
620 // the action table), and 0 indicates that there are no actions.
622 if (S.Action == 0)
623 Asm->OutStreamer.AddComment(" On action: cleanup");
625 Asm->OutStreamer.AddComment(" On action: " +
626 Twine((S.Action - 1) / 2 + 1));
628 Asm->EmitULEB128(S.Action);
632 // Emit the Action Table.
636 const ActionEntry &Action = *I;
639 // Emit comments that decode the action table.
640 Asm->OutStreamer.AddComment(">> Action Record " + Twine(++Entry) + " <<");
648 if (Action.ValueForTypeID > 0)
650 Twine(Action.ValueForTypeID));
651 else if (Action.ValueForTypeID < 0)
653 Twine(Action.ValueForTypeID));
657 Asm->EmitSLEB128(Action.ValueForTypeID);
659 // Action Record
661 // Self-relative signed displacement in bytes of the next action record,
662 // or 0 if there is no next action record.
664 if (Action.NextAction == 0) {
667 unsigned NextAction = Entry + (Action.NextAction + 1) / 2;
668 Asm->OutStreamer.AddComment(" Continue to action "+Twine(NextAction));
671 Asm->EmitSLEB128(Action.NextAction);