Commit Graph

16 Commits (77f83e0d2168dcdd2e08ec28af80afe42855a9a5)

Author SHA1 Message Date
whitequark ebd9ca8dec Allocate guard page under existing stack, not in it.
This fixes a segfault when the allocated stack is just one page long.

This also refactors the fringe::os module to use Result consistently.

close #22
2016-07-16 20:54:33 -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
whitequark 989b1d439c Remove "os" feature; use target-specific dependencies instead. 2016-07-16 15:04:07 -04:00
edef 0d7b3d7091 add Windows support to OsStack
Fix #18
2016-04-16 07:51:10 +02:00
edef 821d731803 format Cargo.toml as cargo would output it 2016-04-14 15:47:34 +02:00
John Ericson c51290f8e7 Don't bring in std by mistake
Fix #16
2016-04-14 13:35:38 +02:00
edef 58fa29930f void: 0.0.5 -> 1.0.0 2016-04-03 08:54:56 +02:00
edef bc46941e89 use libvalgrind instead of valgrind.h
no more C!
2016-01-04 15:34:41 +01:00
John Ericson 5411f10460 use Void to ensure closure diverges 2015-08-26 00:51:18 +02:00
edef d0ee592ba1 use the libc crate from cargo 2015-04-23 01:14:01 +02:00
edef d627f0d725 big rename — we're libfringe now 2015-04-16 08:11:12 -04:00
edef 195350863a make Valgrind optional 2015-04-16 03:22:57 -04:00
edef 6d56cc593e feature-flag os, but leave it enabled by default 2015-04-15 21:51:37 -04:00
edef 175583e335 simplify build script 2015-03-26 22:48:51 -04:00
edef 299a0a5d98 complete rewrite!
featuring 7ns inlineable context switches, no more separately-built
assembly objects, and a vastly nicer interface.
incontext/outcontext are no more, context switch calls now take a single
context structure, which functions as both.
everything now also functions without any heap allocations -- for the
context setup, only an FnOnce() value is necessary.
2015-01-14 11:27:43 +01:00
edef e9d6146b5b initial commit 2014-12-23 04:27:28 +01:00