whitequark
892a7696ec
Allow unwinding to propagate across a context swap.
...
The main purpose of this is having nice backtraces in gdb, although
it also slightly simplifies poisoning state of the API consumers
after a panic.
2016-08-13 13:38:04 +02:00
whitequark
40fbfdde0c
Kill impl StackPointer.
...
That was a silly idea for a silly abstraction, and it brought no
improvement, only confusion. So, revert it.
2016-08-13 13:38:04 +02:00
John Ericson
75ca6f66e1
Move x86 trampoline to naked function
...
Close #19
2016-07-16 16:39:19 -04:00
John Ericson
1ea4b01eda
Use mostly the same registers for consistency
...
The exception to this is %eax is used not %edi on x86 because its
caller-save
2016-07-16 16:39:14 -04:00
whitequark
cbe136b762
Completely rework fringe::Context and fringe::arch.
...
The new design concerns itself with one thing and exactly one thing:
passing values back and forth with an extern "C" function.
This allows to simplify fringe::arch into a single primitive, swap.
Close #21
2016-07-16 15:04:15 -04:00