Camil Demetrescu edited osr-llvm.tex  over 8 years ago

Commit id: 00e5e21f7ab50af4fe55e4ad1079012833b63b46

deletions | additions      

       

\label{se:instrum-api}  To support the IR instrumentation tasks of \mysection\ref{se:overview}, \osrkit\ provides a number of abstractions for VM builders. A simplified overview of the main building blocks is:  \begin{itemize}  \item StateMapper: {\em StateMapper}:  module that [...] \item {\em insertResolvedOSR}$(f1, insertResolvedOSR(f1,  b1, f2, b2, cond, m)$: m)}:  function that inserts a resolved OSR point in function $f1$ {\em f1}  at basic block $b1$ {\em b1}  to function $b2$ {\em f2}  at basic block $b2$, {\em b2},  using as OSR condition a sequence of IR instructions $cond$, {\em cond}  and a state mapper $m$. {\em m}.  \item insertOpenOSR$()$: {\em insertOpenOSR()}:  [...] \item generateOSRDestFun$()$: {\em generateOSRDestFun()}:  [...] \end{itemize}    %To place an open OSR, \tinyvm\ requires the following pieces of information: 1) a pointer to the