Commit Graph

250 Commits

Author SHA1 Message Date
edef
bc184237cc rename simd -> context_simd
This fixes a spurious rustc warning.
2016-07-16 16:18:58 -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
6284a22caa add fpsr, eflags for good measure
courtesy of @whitequark
2016-04-16 07:41:00 +02:00
edef
821d731803 format Cargo.toml as cargo would output it 2016-04-14 15:47:34 +02:00
John Ericson
35fb046fb5 Factor out common code between x86 and x86_64
Fix #17
2016-04-14 13:37:15 +02:00
John Ericson
c51290f8e7 Don't bring in std by mistake
Fix #16
2016-04-14 13:35:38 +02:00
John Ericson
65f4b0fd17 Turn the example into a test
Fix #14
2016-04-12 15:14:29 +02:00
edef
be21d75814 add (ignored) test for floating point exception state
Thanks, @talchas!
Fix #13
2016-04-12 15:13:47 +02:00
John Ericson
368fa9d3bf Remove unnecessary unsafety 2016-04-12 14:40:12 +02:00
edef
32fdbbb474 move OutStack's bound to a where clause 2016-04-03 20:07:45 +02:00
edef
daece1a8d3 Registers::{swap2 => swap}, to match Context::swap 2016-04-03 19:56:15 +02:00
edef
976b971436 get rid of the old Context::swap
The two-parameter version is the only necessary API.
2016-04-03 19:55:25 +02:00
edef
026f7b9925 update benchmarks: 2.5ns on x86_64! 2016-04-03 12:04:46 +02:00
edef
a50e6771b4 coerce rust_trampoline to a function pointer properly 2016-04-03 12:00:21 +02:00
edef
644cd81f9e fix parameter passing to arch/x86_64/swap.s 2016-04-03 11:59:14 +02:00
edef
58fa29930f void: 0.0.5 -> 1.0.0 2016-04-03 08:54:56 +02:00
edef
3397e0bcf1 at least allow different lifetimes in Context::swap2
Really we should allow swapping between different stack types easily, so
we can easily swap between contexts with different stack types.
2016-03-22 08:46:27 +01:00
edef
b986931817 remove copyright years
They're obnoxious to update, and I'm told they have no legal value.
2016-03-22 08:25:23 +01:00
edef
709dad1c4a add Context::swap2, to allow distinct save/restore contexts
Fix #5

Context::swap is now implemented in terms of Context::swap2, and it
might make sense to remove Context::swap entirely at some point.
2016-03-22 07:50:50 +01:00
edef
2b23083455 get rid of some minor warnings 2016-03-22 07:35:25 +01:00
edef
5512cf8cb7 run Cargo in verbose mode on Travis CI 2016-03-16 09:09:36 +01:00
edef
dbb30e535e run cargo build as a separate Travis CI step 2016-03-16 09:07:20 +01:00
edef
4ffdba3ea6 minor style fixes 2016-03-16 00:20:45 +01:00
edef
bb2b92bf6b remove feature attributes for stable stuff 2016-03-16 00:14:09 +01:00
edef
bc46941e89 use libvalgrind instead of valgrind.h
no more C!
2016-01-04 15:34:41 +01:00
edef
cd4fe1ecc8 remove obsolete support for Rust stack limits
rustc removed these in 7a3fdfbf674a08b7f6fd32c9124e52924a2f9a1c, and
this removes a Linux-specific TLS slot from our code.
2016-01-04 03:46:07 +01:00
edef
f3954ff7e5 Don't pass --no-deps to cargo doc
This reverts commit 0eef4bfae9c166b48f7a5fbbd6fd7a9cc963ca5d.
rust-lang/cargo#1529 has been fixed, so this is no longer necessary.
2015-10-09 00:05:29 -04:00
John Ericson
a1f286bdaf don't drop uninitialised memory when pushing to stack 2015-08-26 20:42:33 +02:00
John Ericson
96a31d2443 remove stray import 2015-08-26 20:41:12 +02:00
John Ericson
878a6fefc3 simplify Valgrind wrapper 2015-08-26 00:51:19 +02:00
John Ericson
5411f10460 use Void to ensure closure diverges 2015-08-26 00:51:18 +02:00
edef
c83143511e core::atomic -> core::sync::atomic 2015-08-26 00:20:23 +02:00
edef
e290a8bbaf remove extern crate core and prelude imports
the latest Rust nightly makes this unnecessary
2015-08-26 00:19:53 +02:00
edef
1a4c22c02d point Travis CI badge at master 2015-07-22 17:16:49 -04:00
edef
189edae3cf add #![feature(core_prelude)] 2015-07-20 20:54:41 -04:00
edef
06683a8812 use nightly rust 2015-07-20 20:54:01 -04:00
edef
6d1c5d0df1 it's fine to inline a simple FFI call 2015-04-27 17:19:13 +02:00
edef
2736479db0 fix license header 2015-04-23 01:24:58 +02:00
edef
3f0ec83bf3 remove valgrind_stack_change
This is a leftover from when we exposed these APIs to consumers, we
don't actually use this function.
2015-04-23 01:24:04 +02:00
edef
d0ee592ba1 use the libc crate from cargo 2015-04-23 01:14:01 +02:00
edef
15e6eee931 run on Travis CI container infra 2015-04-19 15:40:43 -04:00
edef
0051b6065e we've got x86 support now! 2015-04-16 13:20:58 -04:00
edef
1653e7ba5e Add x86 benchmark results to README 2015-04-16 13:17:37 -04:00
edef
418c53797e x86 support
ref #1
2015-04-16 13:15:46 -04:00
edef
52325b07c0 comment fix: it's 8ns *faster* 2015-04-16 12:21:39 -04:00
edef
a1e4c2b745 add Syntastic ASM lint hints 2015-04-16 11:56:45 -04:00
edef
7fd71aeb05 refine the Travis CI setup 2015-04-16 11:38:30 -04:00
edef
0bebfae21d more docs! 2015-04-16 10:15:00 -04:00