[Next] [Previous] [Up] [Top]

2 Pragma Semantics

2.1 Pragmas for Describing External Primitives

Primitive methods written in a language other than Vortex RTL (e.g. C++) are called external primitives, since Vortex cannot reason about their behavior. Vortex needs to know their behavior, however, and this behavior is documented in a set of pragmas. Usually, pragmas can be omitted and Vortex will make conservative assumptions, but sometimes Vortex makes optimistic assumptions (that reflect the vast majority of cases), and some pragmas Vortex requires of all external primitives, at least when performing certain analyses such as interprocedural analysis. The following non-conservative characteristics are assumed of external primitives:

To document less conservative behavior we support several pragmas on external primitive method declarations: