John Ericson
|
35fb046fb5
|
Factor out common code between x86 and x86_64
Fix #17
|
2016-04-14 13:37:15 +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
|
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
|
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
|
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 |
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
|
189edae3cf
|
add #![feature(core_prelude)]
|
2015-07-20 20:54:41 -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
|
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
|
0bebfae21d
|
more docs!
|
2015-04-16 10:15:00 -04:00 |
edef
|
d627f0d725
|
big rename — we're libfringe now
|
2015-04-16 08:11:12 -04:00 |
edef
|
af7e9ea67c
|
add FreeBSD + DragonFlyBSD MAP_STACK workaround
http://lists.freebsd.org/pipermail/freebsd-bugs/2011-July/044840.html
according to libgreen, DragonFlyBSD suffers from this too
|
2015-04-16 07:59:59 -04:00 |
edef
|
68f70fb1c9
|
rename Context::destroy to Context::unwrap, in line with lang conventions
|
2015-04-16 07:49:13 -04:00 |
edef
|
01e57ce9f5
|
let os::Stack's docs shine through the facade
|
2015-04-16 07:47:23 -04:00 |
edef
|
2266da2f8d
|
rejig lib.rs a little
|
2015-04-16 07:45:14 -04:00 |
edef
|
fe490275fa
|
move os::Stack behind the facade, to OsStack
|
2015-04-16 07:44:07 -04:00 |
edef
|
ff25697444
|
remove StackSource
Nothing in this library took StackSources, and it's probably too
high-level a concept to include here. Maybe later.
|
2015-04-16 07:42:16 -04:00 |
edef
|
bdb6e0bd8b
|
let StackSource::get_stack take &mut self
|
2015-04-16 07:35:29 -04:00 |
edef
|
9bb0ce483d
|
derive Copy and Clone for os::StackSource
|
2015-04-16 07:33:27 -04:00 |
edef
|
a389576d0f
|
document os
|
2015-04-16 07:30:53 -04:00 |
edef
|
f3ee07416d
|
require Stack::Error to implement Debug + Display
|
2015-04-16 07:27:14 -04:00 |
edef
|
cbfb62e62f
|
only expose context and stack through the facade
It's fairly pointless to have submodules when there are only three
items.
|
2015-04-16 07:25:05 -04:00 |
edef
|
0dd6c8bc32
|
pass STACK_ALIGN through without exposing it
|
2015-04-16 07:24:15 -04:00 |
edef
|
7adb9e7381
|
implement Debug for all components of Context
|
2015-04-16 07:24:07 -04:00 |
edef
|
519d86ca4c
|
implement Send where applicable
|
2015-04-16 07:23:57 -04:00 |
edef
|
7271fe1724
|
there is no point in Registers being Copy + Clone
|
2015-04-16 07:23:56 -04:00 |
edef
|
222ab0eaa9
|
make Context::destroy inlineable
|
2015-04-16 06:43:09 -04:00 |
edef
|
6f750ab484
|
move all OS-related code into src/os
|
2015-04-16 06:42:31 -04:00 |
edef
|
f7ab28de4b
|
move all the common arch stuff into a module of its own
|
2015-04-16 06:34:03 -04:00 |
edef
|
b7624aa49a
|
uintptr_t is pointless when usize is the same anyway
|
2015-04-16 06:20:46 -04:00 |