Hi Noah,

Thanks for the thoughts.

On Fri 03 Aug 2012 00:21, Noah Lavine <noah.b.lav...@gmail.com> writes:

> That sounds interesting, but I have a question - why not make the MVRA
> return address immediately after the call, instead of immediately
> before it? In the common case when returning to the regular return
> address, that would eliminate the extra branch (although it's a very
> small branch anyway).

It's a good idea; I have it in my local branch.  Putting the MVRA before
the call didn't work out because the call instruction is
variable-length.

> CALL:
>   call f
> MVRA:
>   jump mv-handler
> RA:
>   ... rest of function ...

Yes and for a truncating return:

  CALL:
    call f
  MVRA:
    truncate
  RA:
    ... rest of function ...

Native compilation should do something different though.  But Mark's
mail has more on that, so I'll reply there.

Andy
-- 
http://wingolog.org/

Reply via email to