What makes you think C/C++ programmers can't do something at run-time themselves? I'm not talking about cost/performance ratio here, I'm just saying that there's no program written in another non-compiled language that can be faster than the same program, written in C/C++, by competent programmers with enough time.
Any technology you might fancy today in your pet VM or JIT-compiler is simply there for the C programmer, if she has the time and ability to employ it.
And your example really doesn't show anything. Even in vanilla C++, the vtable lookup is exactly that: a single table lookup added to the cost of a function call through a pointer. Considering the potential for a cache miss, this can indeed be considered slow, but only by the standard of the people living on the bleeding edge of performance. Incrementing a simple integer variable potentially costs more in Java or C#. The prediction you mention that can replace this horribly slow (it can take as much as 50 CPU cycles!) virtual function call would hardly be free either, and wouldn't be much cheaper (if cheaper at all.)
I'm sure you can take advantage of this in C/C++, but only in a very theoretical sense of the word "can".
Well, I'd say the key point here is that people at least can use these methods in C/C++. I don't know about you, but I would call that power.