slavapestov/factor — Issue #332: Unoptimized leaf tail-recursive words don't safepoint
Author: jckarter
Created: 2011-11-02 06:50:36+00:00
State: open
Labels: signals, vm

```factor
disable-optimizer
: foo ( -- ) foo ;
foo
^C
```

Gets stuck forever. Output of `\ foo disassemble`:

```factor
00000001190104a0: 89055a4bfbfe mov [rip-0x104b4a6], eax
00000001190104a6: e9f5ffffff jmp 0x1190104a0 (foo)
```

Need to separate safepoint from epilog in the VM compiler and always emit a safepoint before function exit, as done in the optimizing compiler's TCO.