If I call InitializeCounters(i) inside a VM macro, is the function itself also virtualized?¶
No. This only virtualizes the code that places the parameters on the stack and calls the function. To virtualize InitializeCounters() itself, add a VM macro inside that function.
If the compiler inlines InitializeCounters(), separate markers are not required because its code is already inside the VIRTUALIZER_START/VIRTUALIZER_END region in the calling function.