Skip to content

When enabling optimizations, my VIRTUALIZER_END marker is not found

This can be an issue with Tail Call Optimization.

To prevent a missing END marker, place the intrinsic __nop() immediately after the END marker. You can also add __nop(); to the END marker definition or to your own wrapper:

VIRTUALIZER_START;

MessageBoxW(0, L"Hello world!", 0, 0);

VIRTUALIZER_END;

__nop(); // prevent TCO in this function