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);
536 if (S.Action == 0)
537 Asm->OutStreamer.AddComment(" Action: cleanup");
539 Asm->OutStreamer.AddComment(Twine(" Action: ") +
540 llvm::utostr((S.Action - 1) / 2 + 1));
549 // Offset of the first associated action record, relative to the start of
550 // the action table. This value is biased by 1 (1 indicates the start of
551 // the action table), and 0 indicates that there are no actions.
552 Asm->EmitULEB128(S.Action);
561 // for a given call, the first corresponding action record and corresponding
571 // * The first action record for that call site.
611 if (S.Action == 0)
612 Asm->OutStreamer.AddComment(" On action: cleanup");
614 Asm->OutStreamer.AddComment(Twine(" On action: ") +
615 llvm::utostr((S.Action - 1) / 2 + 1));
634 // Offset of the first associated action record, relative to the start of
635 // the action table. This value is biased by 1 (1 indicates the start of
636 // the action table), and 0 indicates that there are no actions.
637 Asm->EmitULEB128(S.Action);
641 // Emit the Action Table.
645 const ActionEntry &Action = *I;
648 // Emit comments that decode the action table.
649 Asm->OutStreamer.AddComment(Twine(">> Action Record ") +
651 if (Action.ValueForTypeID >= 0)
653 llvm::itostr(Action.ValueForTypeID));
656 llvm::itostr(Action.ValueForTypeID));
658 if (Action.NextAction == 0) {
661 unsigned NextAction = Entry + (Action.NextAction + 1) / 2;
662 Asm->OutStreamer.AddComment(Twine(" Continue to action ") +
673 Asm->EmitSLEB128(Action.ValueForTypeID);
675 // Action Record
677 // Self-relative signed displacement in bytes of the next action record,
678 // or 0 if there is no next action record.
679 Asm->EmitSLEB128(Action.NextAction);