Camil Demetrescu edited overview.tex  over 8 years ago

Commit id: aa105dd9f5a66886146ee3689ac9c2f5ea87027d

deletions | additions      

       

\item {\em Global optimizations}: lowering OSR instrumentation code along with the application code can generate faster code than local binary instrumentation. For instance, dead code elimination can suppress from \fosrto\ portions of code that would no longer be needed when jumping to the landing pad \textsf{L'}, producing smaller code and enabling better register allocation and instruction scheduling.  \item {\em Debugging and Profiling}: preserving ABI conventions in the native code versions of \fosrfrom, \fstub, and \fosrto\ helps debuggers and profilers to more precisely locate the current execution context and collect more informative data.  %avoiding low-lever tampering with stack frames can more easily preserve ABI calling conventions  \item {\em Abstraction}: being entirely encoded using high-level language constructs (assignments, conditionals, function calls),  the approach is amenable to a clean instrumentation API that abstracts the OSR implementation details, allowing a front-end to focus on where to insert OSR points independently of the final target architecture. %by analyzing code at an intermediate representation level.  \end{enumerate}