Home | History | Annotate | Download | only in AsmPrinter

Lines Matching refs:Action

47 /// Compute the actions table and gather the first action index for each landing
54 // The action table follows the call-site table in the LSDA. The individual
132 ActionEntry Action = { ValueForTypeID, NextAction, PrevAction };
133 Actions.push_back(Action);
137 // Record the first action of the landing pad site.
141 // Information used when created the call-site table. The action record
143 // action record, relative to the start of the actions table. This value is
209 /// containing the call, a non-zero landing pad, and an appropriate action. The
211 /// the landing pad and the action. Calls marked 'nounwind' have no entry and
286 if (Site.LPad == Prev.LPad && Site.Action == Prev.Action) {
329 /// 2. The action table, in our case, is composed of pairs of type IDs and next
330 /// action offset. Starting with the action index from the landing pad
333 /// pad. Otherwise the next action is looked up. This chain is terminated
334 /// with a next action of zero. If no type id is found then the frame is
356 // Compute the actions table and gather the first action index for each
385 CallSiteTableLength += getULEB128Size(CallSites[i].Action);
512 // Offset of the first associated action record, relative to the start of
513 // the action table. This value is biased by 1 (1 indicates the start of
514 // the action table), and 0 indicates that there are no actions.
516 if (S.Action == 0)
517 Asm->OutStreamer->AddComment(" Action: cleanup");
519 Asm->OutStreamer->AddComment(" Action: " +
520 Twine((S.Action - 1) / 2 + 1));
522 Asm->EmitULEB128(S.Action);
530 // for a given call, the first corresponding action record and corresponding
540 // * The first action record for that call site.
590 // Offset of the first associated action record, relative to the start of
591 // the action table. This value is biased by 1 (1 indicates the start of
592 // the action table), and 0 indicates that there are no actions.
594 if (S.Action == 0)
595 Asm->OutStreamer->AddComment(" On action: cleanup");
597 Asm->OutStreamer->AddComment(" On action: " +
598 Twine((S.Action - 1) / 2 + 1));
600 Asm->EmitULEB128(S.Action);
604 // Emit the Action Table.
608 const ActionEntry &Action = *I;
611 // Emit comments that decode the action table.
612 Asm->OutStreamer->AddComment(">> Action Record " + Twine(++Entry) + " <<");
620 if (Action.ValueForTypeID > 0)
622 Twine(Action.ValueForTypeID));
623 else if (Action.ValueForTypeID < 0)
625 Twine(Action.ValueForTypeID));
629 Asm->EmitSLEB128(Action.ValueForTypeID);
631 // Action Record
633 // Self-relative signed displacement in bytes of the next action record,
634 // or 0 if there is no next action record.
636 if (Action.NextAction == 0) {
639 unsigned NextAction = Entry + (Action.NextAction + 1) / 2;
640 Asm->OutStreamer->AddComment(" Continue to action "+Twine(NextAction));
643 Asm->EmitSLEB128(Action.NextAction);