Displaying 3 results from an estimated 3 matches for "jumpee".
Did you mean:
jumped
2020 May 08
1
Noncapture use of locals disabling TailRecursionElimination
...'t capture the local, it would still prohibit TCE. This
> contain seems unnecessary and overly limiting?
I think it's a necessary limitation. The idea is that something marked
'tail' could be emitted as a jump instruction instead of a call
instruction. In order to do that, the jumpee has to 'ret' to the same
place our function would have returned to. Since the return value is the
current top-of-the-stack value when returning[1], the jumper must remove
any local variables -- in LLVM, allocas -- from the stack before
jumping. This implies that the jumpee may not acces...
2020 May 08
1
Noncapture use of locals disabling TailRecursionElimination
...ld still prohibit TCE. This
>>> contain seems unnecessary and overly limiting?
>> I think it's a necessary limitation. The idea is that something marked
>> 'tail' could be emitted as a jump instruction instead of a call
>> instruction. In order to do that, the jumpee has to 'ret' to the same
>> place our function would have returned to. Since the return value is the
>> current top-of-the-stack value when returning[1], the jumper must remove
>> any local variables -- in LLVM, allocas -- from the stack before
>> jumping. This impli...
2020 May 08
3
Noncapture use of locals disabling TailRecursionElimination
Hi,
I was looking into the implementation of TailRecursionElimination, and
noticed that we have the constrain that if any call uses a local, even
though it doesn't capture the local, it would still prohibit TCE. This
contain seems unnecessary and overly limiting? Relevant code is here: