[split] Add CFI ops, fix call/return prediction, other changes

Paolo Bonzini bonzini@gnu.org
Wed Sep 30 14:56:00 GMT 2009


> movl 4(%ebp), %eax # Increment return address
> inc %eax
> movl %eax, -8(%ebp) # Store it in an unused slot
>
> movl -4(%ebp), %eax # Restore 3rd register
>
> call *-8(%ebp) # Call our caller via slot

Also, would it make sense to reserve 3 bytes for the ret, so that 
stdcall functions could have split stack?  Alternatively, you need to 
disable split stack (with a sorry) for stdcall functions.

Paolo



More information about the Gcc-patches mailing list