26 Jun
2010
26 Jun
'10
12:14 a.m.
On Jun 25, 2010, at 5:12 PM, Geoffrey Garen wrote:
Neat idea.
One thing to consider is that some "slow" cases are pretty hot. For example, on 64bit, double addition is a "slow" case. Turning double addition into a function call might be too expensive.
I don't believe a call to a fixed address is significantly more expensive than a jump to a fixed address. I don't know about ret vs. jump to a fixed address, but I expect that not to be huge either. At least on CPUs with decent branch prediction, the branch predictor is designed to handle the call/ret pattern well. Regards, Maciej