# New Ticket Created by  Leopold Toetsch 
# Please include the string:  [perl #38627]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=38627 >


Here is a simple job for a C programmer with some math/algorithmical 
brain:

fill the function body of Parrot_register_move() (src/utils.c 633 ff). 
The desired functionality is hopefully documented enough.

If there is some code, we can use this e.g. for tailcalls and inside 
JIT.

.sub foo
     .param int I0
     .param int I1
  [EMAIL PROTECTED]:                   # label inserted with -Oc
     ...

    .return foo(I1, I0)    # problem with -Oc
.end

Recursive tailcall optimization will convert above code into a loop, 
but it'll fail as registers will be clobbered during move:

    set I0, I1
    set I1, I0    # <--- problem
    branch [EMAIL PROTECTED]

Thanks,
leo

Reply via email to