oink-stack
oink-stack copied to clipboard
Checked in initial version of "wrap" transformation.
The transformation is working reasonably well at at this point, but it seems to be being hit by some oink bugs. (See XXX comments in most recent commit).
I want to change this so that, instead of creating a function called ___wrapper_foo() that calls foo(), it will rename foo() to ___original_foo() and generate a new foo() that will call the original version. This should reduce the size of the resulting patches, and automatically handle corner cases, such as invocations via function pointers. My intuition is that it's a cleaner way to handle C++ constructs, but I haven't thought through all of the cases.