Sorry, I'm away on a trip at the moment, so sorry for the delayed feedback.
First of all, if we're going to go through common code here, we should
do the vector number adjustment in save_args and be able to use the
short form of pushq in the common case.
What isn't clear to me is if we should just push a target field to the
stack and then do an indirect call. That way we can do save_args and
ret_from_intr inline, but at the expense of an indirect call which will
not necessarily speculate cleanly.
All of this qualify as "tweaking", which means we need to be very
careful so we don't end up burning more performance than we gain, but
all in all, I think this is a good idea.
-hpa
--