| else \ throw by signal handler with insufficient information |
else \ throw by signal handler with insufficient information |
| handler @ cell - \ beyond that we know nothing |
handler @ cell - \ beyond that we know nothing |
| then |
then |
| backtrace-rp0 @ [ 2 cells ]L - over - 0 max ; |
backtrace-rp0 @ [ 1 cells ]L - over - 0 max ; |
| |
|
| :noname ( -- ) |
:noname ( -- ) |
| backtrace-empty @ |
|
| if |
|
| backtrace-return-stack |
backtrace-return-stack |
| dup backtrace-rs-buffer adjust-buffer |
dup backtrace-rs-buffer adjust-buffer |
| backtrace-rs-buffer buffer-address @ swap move |
backtrace-rs-buffer buffer-address @ swap move ; |
| backtrace-empty off |
|
| then ; |
|
| IS store-backtrace |
IS store-backtrace |
| |
|
| : print-bt-entry ( return-stack-item -- ) |
: print-bt-entry ( return-stack-item -- ) |